[clug] Glue Language

Daniel Pittman daniel at rimspace.net
Wed Jul 1 10:49:02 GMT 2009


Jason Stokes <glasper9 at yahoo.com.au> writes:

> What are you using this language for?  Is there a reason why you prefer
> scheme with non-standard syntax to python or lua or another commonly
> embedded language?

Well, that amuses me.  You do know that the "non-standard syntax" you are
referring to there is a Lisp dialect, the origin of which runs back to 1958.

That makes it ... well, rather older than the more suite of more modern
syntax-ridden languages you refer to.


Which, I confess, doesn't detract from your core point that an ALGOL
derivative is going to be more familiar to the majority of people.

I just laughed at the idea that one of the oldest standardized languages in
the field is "non-standard" and all. :)

I would probably use LUA, unless my audience were AutoCAD users.

> ----- Original Message ----
> From: Paul Matthews <plm at netspace.net.au>
> To: linux at lists.samba.org
> Sent: Wednesday, 1 July, 2009 7:45:43 PM
> Subject: [clug] Glue Language
>
> A quick experiment at indicates that my target audience find the
> following has "too many brackets" :
>
> (define (fact n)
>   (if (= n 0)
>     1
>     (* n (fact (- n 1)))))
> (fact 12) 

You might find the "super-bracket" useful as an extension: ']' as "close all
open parenthesis".

Alternately, I direct you to Dylan, which is similar to Lisp in content but
has an ALGOL syntax tacked on top to make it "friendly".

[...]

> Obviously the only real difference between the two is a small amount of
> syntax. (You will notice that the second one actually has more brackets...)

What you are running into is familiarity.  Like Jason, your audience are
familiar with languages that look like ALGOL, so they have an instinctive
flinch when presented with something else.

It probably doesn't help that if they /have/ run into Lisp anywhere it was not
a pleasant experience[1].

[...]

> Does anyone have good documentation concerning have to build your own scheme
> interpreter?

Nothing convenient.  For what it is worth, though, you should be reasonably
able to use the existing tokenizer to transform an inbound ALGOL-like syntax
into a more pleasant form to feed into the evaluator entirely in Scheme
without having to touch any lower level code.

Regards,
        Daniel

Footnotes: 
[1]  ...because most people hit it during University, in a highly academic and
     very painfully abstract course, that shows no practical applications of
     the language.



More information about the linux mailing list