[erlang-questions] Erlang and syntax.
Richard A. O'Keefe
ok@REDACTED
Sun Feb 23 22:43:33 CET 2014
On 23/02/2014, at 10:33 AM, Mikhail Gusarov wrote:
>> But when you see unknown function you still have no idea what it does and
>> you have to figure it out. Any abstraction works in same way.
>
> There is subtle difference: all functions conform to the function
> abstraction: function does not alter/capture names from calling
> namespace and function does not arbitrarily transfer control. Function
> is a simple abstraction: it accepts arguments and returns result.
There is Lisp. And then there is Scheme.
Scheme define-syntax macros do NOT alter/capture names from
the calling namespace. They are said to be "hygienic."
Thanks to throw/1, function calls CAN transfer control.
(The Scheme analogue is call-with-current-continuation.)
So a Scheme-flavoured-Erlang would conform to the claimed
abstraction every bit as well as Erlang without any kind of
macros.
More information about the erlang-questions
mailing list