[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: About Emacs Modernisation Project
From: |
Pascal J. Bourguignon |
Subject: |
Re: About Emacs Modernisation Project |
Date: |
Wed, 08 Dec 2010 15:10:46 -0000 |
User-agent: |
Gnus/5.101 (Gnus v5.10.10) Emacs/23.1 (gnu/linux) |
LanX <lanx.perl@googlemail.com> writes:
>> This feature is called "homoiconicity".
>
> I understand your point, but IMHO for most code users write, they
> don't need to eval code at runtime (which all script languages I know
> can do BTW)
>
> I have not doubt that it is a castration of LISP's possibilities to
> allow users to write
>
> function( [1,2,3], {k=>v})
>
> which is then translated to
>
> (function '(1 2 3) (k . v) )
>
> before compilation.
>
> IMHO this plus some flow control already covers everything most users
> ever want.
Do you realize that lisp is actually a very small core language?
(eval fits on a single page).
All the rest, the lisp programming language you _use_ is not this core
lisp, it's only _MACROS_! And for them it is essential to have
homoiconicity.
Even if you don't write macros yourself you are constantly using them.
Since (k . v) is not a form, what you call 'function' above MUST be a macro!
--
__Pascal Bourguignon__ http://www.informatimago.com/
Re: About Emacs Modernisation Project, Helmut Eller, 2010/12/08