<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Feb 23, 2014 at 3:43 PM, Richard A. O'Keefe <span dir="ltr"><<a href="mailto:ok@cs.otago.ac.nz" target="_blank">ok@cs.otago.ac.nz</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class=""><br>
On 23/02/2014, at 10:33 AM, Mikhail Gusarov wrote:<br>
<br>
>> But when you see unknown function you still have no idea what it does and<br>
>> you have to figure it out. Any abstraction works in same way.<br>
><br>
> There is subtle difference: all functions conform to the function<br>
> abstraction: function does not alter/capture names from calling<br>
> namespace and function does not arbitrarily transfer control. Function<br>
> is a simple abstraction: it accepts arguments and returns result.<br>
<br>
</div>There is Lisp. And then there is Scheme.<br>
<br>
Scheme define-syntax macros do NOT alter/capture names from<br>
the calling namespace. They are said to be "hygienic."<br>
<br>
Thanks to throw/1, function calls CAN transfer control.<br>
(The Scheme analogue is call-with-current-continuation.)<br>
<br>
So a Scheme-flavoured-Erlang would conform to the claimed<br>
abstraction every bit as well as Erlang without any kind of<br>
macros.<br></blockquote><div><br></div><div>LFE has come up a couple of times (yay!), but as for an Erlang Scheme, there is this:<br> <a href="https://github.com/the-concurrent-schemer/scm">https://github.com/the-concurrent-schemer/scm</a><br>
<br>Also, I believe that Joxa is a Lisp-1 (though it does have unhygenic macros).<br><br>d<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class=""><div class="h5"><br>
<br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div></div>