[ANN] efene 0.5 - two languages for the erlang VM - released

Mariano Guerra luismarianoguerra@REDACTED
Sun May 2 06:39:18 CEST 2010


new release of efene.

efene is a programming language that runs on the erlang virtual machine.

the idea is to provide an alternative syntax to erlang that is most
suitable for people coming from languages like Java, C, C++, C#,
Javascript and alternatively python and ruby using ifene (indented
efene).

the language is almost 100% compatible with erlang (and will be), the
compiler allows to translate an efene source file into a readable
erlang one or compile it directly to bytecode. It also adds some
syntactic sugar in some places to make some tasks easier.
changes

    * complete rewrite of the compiler, less code and more clear, less
transformations to get the AST
    * removed the dependency on the go compiler, now the frontend
logic is split between fn.erl and a small shell script. That means:
only erlang required to build and use efene.
    * added a new language called ifene (indented efene), it has the
same syntax than efene but the blocks are indented with spaces instead
of curly brackets. The compiler will compile depending on the
extension (.ifn for ifene .fn for efene) and transform ifene to efene
internally before compiling. Tabs are not allowed for indentation in
ifene, this is to avoid mixing spaces and tabs.
    * support for newlines before and after curly brackets and after
commas. for example:

before this was the only way




if A {
    BodyA
} else if B {
    BodyB
} else {
    BodyElse
}


now this two forms are also valid


if A {
    BodyA
}
else if B {
    BodyB
}
else {
    BodyElse
}

# or

if A
{
    BodyA
}
else if B
{
    BodyB
}
else
{
    BodyElse
}

    * now commas are required in lists, tuples and function arguments
    * the try block is now try/catch/after to make it equal to erlang
    * the receive block is now receive/else receive/after
    * operator precedence made the same as erlang
    * tests included to check that efene generates the same ast as
erlang, tests cover almost all the language
    * now records can be declared in efene
    * bit syntax made the same as erlang

for a complete reference see the Language Reference
Participate

a mailing list is available at librelist just send a mail to
efene@REDACTED to subscribe.

as first mail you may send a hello world program in efene and present
yourself by saying your name, where you are, how did you heard about
efene and anything else you would like to say.
Resources

    * Website: http://marianoguerra.com.ar/efene
    * Blog: http://efene.tumblr.com
    * Central repo: http://github.com/marianoguerra/efene
    * Tracker: http://github.com/marianoguerra/efene/issues
    * Rosetta code page: http://rosettacode.org/wiki/Efene


More information about the erlang-questions mailing list