Serl- Sexp-based ERLang



I've made the first release of a lisp frontend for erlang. It has most
of the expected metaprogramming stuff. Since it's hugely indebted to
common-lisp, I thought it appropriate to announce here. Compared to
LFE, which is closer to Scheme, Serl tends toward CL.

Some features:

-support for aribtrary namespaces.
--import/export of macros and special forms.
--special forms are just macros that takes the compiling environment
as an extra argument. Serl defines itself with special forms.

-avoids unintentional capturing in similar way as common-lisp's
package.

-Syntax objects.
--Quotation and quasiquotation are used only to build syntax objects.
-macroexpansion in pattern.
--so named patterns are possible.
-syntax objects are pattern matchable.

-fancy lambda-list as in common-lisp.
--&option, &rest, and &key don't interfere with each other.

-syntatically consistent reader macro based on heredoc.


It's a nice way to try out Erlang if you can't stand its syntax. A
slight irony in the previous sentence. Anyway, get it here,

http://forum.trapexit.org/viewtopic.php?p=43927
.



Relevant Pages

  • Re: Python and Flaming Thunder
    ... Expression to be evaluated and the result matched against Pattern. ... If the match succeeds any variables ... and message passing from Erlang) has been implemented for python:- ... Although when comparing Candygram with Erlang it's worth noting that Candygram ...
    (comp.lang.python)
  • Re: Python and Flaming Thunder
    ... That error message is the erlang interpreter saying "Hey I know X is ... In Prolog terms, they're both unification. ... Expression to be evaluated and the result matched against Pattern. ... If the match succeeds any variables ...
    (comp.lang.python)
  • Re: Lisp-likeness
    ... > any language mechanisms specifically related to the construction of ... But since the whole Common-Lisp language is available to write macros ...
    (comp.lang.lisp)
  • Re: What defines *really* knowing Lisp, in your opinion?
    ... > macros that are already in COMMON-LISP. ... and LET* are good practice macros. ... LET* without declarations is a good practice ...
    (comp.lang.lisp)