Hi Didier,

It is good to see some familiar names from comp.lang.lisp :D

I switched to Julia from Lisp a while ago, expecting it to be some kind
of Common Lisp with Dylan-like surface syntax, only faster and with
parametric types.

It isn't, and while Common Lisp influenced the design considerably,
Julia made a lot of different choices, most of them consciously: either
to make the language more familiar for people migrating from
Matlab/R/etc, or to make it easier to optimize, or just because they
liked it that way.

My perception is that simply pointing out that something is different in
Common Lisp is unlikely to move the Julia language team to make
fundamental changes to the language, or even to introduce new
constructs. On the other hand, from reading the discussions on the issue
tracker, it seems that well thought-out examples of real-world problems,
especially if they come with a suggestion for a solution, are more
likely to get sympathetic attention.

So if you use Julia for a while and feel that it should have a construct
equivalent to macrolet, maybe you could write up a detailed proposal,
with code examples from Base or libraries, and how it would simplify
things.

Best,

Tamas

On Wed, Apr 13 2016, Didier Verna wrote:

> Cedric St-Jean <cedric.stj...@gmail.com> wrote:
>
>> Local macros in Lisp are expanded at compile-time. They're useful
>> inside macro-expansions, eg.
>
> Not even inside other macros, but as local macros inside any kind of
> code block. E.g. (silly):
>
> CL-USER> (let (list)
>          (macrolet ((add (element) `(push ,element list)))
>            (add 3)
>            (add 2)
>            (add 1)))
> (1 2 3)
> CL-USER> 

Reply via email to