[erlang-questions] Erlang and syntax.

Richard A. O'Keefe <>
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