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@librelist.com 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