Friday, May 27, 2016

LibertyEiffel Bell released

I'm pleased to annouce that

LibertyEiffel 2016.05 (Bell) Release is out.

Liberty Eiffel project is the GNU Eiffel Compiler.

It is a free-as-in-freedom Eiffel compiler started from SmartEiffel code base.

Its goal is to retain the good solidity of SmartEiffel but not its rigidity. Think of Liberty as SmartEiffel down from its ivory tower.

This is the first release since LibertyEiffel acquired the status of "official" GNU Eiffel compiler.

What's new:

  • Inline agents that are real closures
  • generic creation
  • Several small changes to make the language more ECMA-like:
    • keyword "is" at the beginning of a feature is now deprecated
    • keyword "indexing" renamed by "note"
    • keyword "creation" renamed into "create"
    • Added support for alias "[]" and alias "()" 
  • changed Environment Variable name from SmartEiffel to LibertyEiffel (anyhow, normally it should not be necessary to set this one)
  • configuration files now use XDG specification
  • new tool Mock
  • new tool wrapper_generator
  • removed linebreaks in compiler output many bugfixes
  • GC call at exit is optional
  • finder now finds all classes in the universe with the given name, not only the first one
  • constants are now visible in the eiffeldoc generated documentation
  • Wrappers:
    • SQLite
    • ZMQ
    • removed the other wrappers until they're usable

Known bugs:

  • there is still an issue in both GC implementations (classical SEGC and BDW), if it shows up, it often yields a "Bad target type" runtime error. for the full list see 
We want to thank all who worked on this release, in particular Cyril Adrian who contributed much of the work.
We are looking forward to a promising time until the Curtiss release, with 2 GSoC (Google Summer of Code) projects and many new active members in the community.

But I don't want to waste your time with making you read my boring words, so please go and check it out: You can get the Bell release as