A reformed Curl for the curlr might be LcurlR

The Curl language has a lot to recommend itself as a web development language. But there are issues, among them the confusion of Curl with cURL. A google on LcurlR reveals no such issues.

Here is some Curl:

{ some-curl-code }

which you could think of as

Lcurl some-curl-code Rcurl

Here is a snippet from a Curl web applet:

{curl 3.0 applet}

{let name:TextField = {TextField max-chars = 30, value = “My name”},
address:TextField = {TextField max-chars = 60, value = “12635 Somestreet”},
city:TextField = {TextField max-chars = 50, value = “Plymouth-or-Gardena”},
state:TextField = {TextField max-chars = 20, value = “MN-or-CA”},
zip:TextField = {TextField max-chars = 14, value = “55441-or-90245″}
}

Because RSI is a reality and not just a TLA, here is the same snippet in LcurlR

{LcurlR 3.0 applet}

{let name:= {TextField max-chars = 30, value = “My name”},
address:= {TextField max-chars = 60, value = “12635 Somestreet”},
city:= {TextField max-chars = 50, value = “Plymouth-or-Gardena”},
state:= {TextField max-chars = 20, value = “MN-or-CA”},
zip:= {TextField max-chars = 14, value = “55441-or-90245″}
}

If you are stilll not convinced of the virtues of LcurlR syntactic sugar over Curl try

{define-proc public
{sphere-vertices-normals hres:int, vres:int}:
({Array-of FloatDistance3d}, {Array-of FloatDirection3d})
let vertices:{Array-of FloatDistance3d} =
{{Array-of FloatDistance3d}.from-size
(hres + 1) * (vres + 1),
{FloatDistance3d 0f(m), 0f(m), 0f(m)}
}
let normals:{Array-of FloatDirection3d} =
{{Array-of FloatDirection3d}.from-size
(hres + 1) * (vres + 1),
{FloatDirection3d 0, 0, 0}
}

Programmers will tell you that their editor has a customizable code-completion feature. But waht it may not have is a hi-lite option for all those type declarations which are otiose.
Lets start here:

let vertices:{Array-of FloatDistance3d} =
{{Array-of FloatDistance3d}.from-size

versus

let vertices:=
{{Array-of FloatDistance3d}.from-size

Without some such sanity I cannot see Curl regaining a foothold in small companies which might otherwise be tempted to use Curl for their own web needs. Small companies understand the cost of RSI.
Curl may continue in Japan. Making a language needlessly difficult to read and write is the very essence of Nihon-go and the barriers to the gai-jin.
China might change. Vietnam might embrace LcurlR. Or Sri Lanka with its plethora of alphabets.
Perhaps Curl can wait for the SemanticWeb and a new Google. Until then, try a google on ‘curl’ and tell me then that a name is just a name. Then try the google on ‘LcurlR’
I rest my case { embrace {reformed {curl LcurlR }}}

One Response to “A reformed Curl for the curlr might be LcurlR”

  1. Duke says:

    The next Curl release (already available in beta for the Mac) offers a ‘def’ language element, (alternate to ‘let’), whose type is inferred from the RHS. However, def only defines constants.

Leave a Reply

You must be logged in to post a comment.