[email protected]
[Top] [All Lists]

Re: [Haskell-cafe] Language simplicity

Subject: Re: [Haskell-cafe] Language simplicity
From: Martin Coxall
Date: Thu, 14 Jan 2010 14:46:37 +0000
On 14 Jan 2010, at 14:42, Matthias Görgens wrote:

>> All Lisps have "special forms" which are evaluated uniquely and differently 
>> from function application and are therefore reserved words by another name. 
>> For example, Clojure has def, if, do, let, var, quote, fn, loop, recur, 
>> throw, try, monitor-enter, monitor-exit, dot, new and set!.
> Yes, but the special forms are not distinguishable from user defined
> macros --- and some Lisp-implemantations special forms are another
> implementations macros.  E.g. you can choose to make `if' a macro that
> expands to `cond' or vice versa.  I do not know whether you are
> allowed to shadow the name of special-forms.

Clojure's a lot more 'syntaxy' than most Lisps. It has literals for large 
classes of entities that get represented as lists in most other Lisps. Which I 
guess is clearly a pragmatic design decision: be as syntax-heavy as is 
reasonably practicable without sacrificing homoiconicity and ending up like 

Haskell-Cafe mailing list
[email protected]

<Prev in Thread] Current Thread [Next in Thread>