Skip to content
marianoguerra edited this page Sep 13, 2010 · 1 revision

third 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.

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

  • interactive interpreter (try it with fnc -s)

    $ fnc -s efene 0.3 exit with Ctrl+D >>> A = 2 2 >>> B = A * 3 6 >>> F = fn (Name) { io.format("hi ~s!~n" [Name]) } #Fun<erl_eval.6.13229925> >>> F("efene") hi efene! ok
  • command line eval

    $ fnc -c "io.format(\"hello world~n\")" hello world >>> io.format("hello world~n") ok
  • command line eval that translate the expression to erlang

    $ fnc -C "io.format(\"hello world~n\")" hello world 1> io:format("hello world~n") ok
  • get the exception type in a variable

    try { <some code> } catch _Type Error { <handle error> }
  • allow to pattern match values inside lists and tuples

    test = fn (('+' = Op Num)) { io.format("~p ~p~n", [Op Num]) }
  • allow new lines between items in lists and tuples

    A = (1 2 3 4 5 6)
  • allow multiple files to be passed as arguments to fnc

$ fnc file1.fn file2.fn file3.fn

  • efene compiler rewritten in efene

for a complete reference see the LanguageReference

Participate

a mailing list is available at librelist just send a mail to [email protected] 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.

Clone this wiki locally