SmartEiffel was the GNU free Eiffel compiler, provided with associated tools, libraries and classes.[1] GNU has continued to support a free license Eiffel via a new project, LibertyEiffel. The compiler translates Eiffel code either to ANSI C or Java bytecode. Hence it can be used to write programs that run on virtually any platform for which an ANSI C compiler or a Java virtual machine exist.

SmartEiffel was developed at the Lorraine Laboratory of Research in Information Technology and its Applications (LORIA), an institute affiliated to the French National Institute for Research in Computer Science and Control (INRIA), on the campus of Nancy-Université in Lorraine. SmartEiffel has seen wide use in academia.[1][2]

History

edit

The project was initiated in 1994 by the French researcher Dominique Colnet. The compiler was then called SmallEiffel, in reference to the Smalltalk language. In 1995, the compiler was able to compile itself for the first time. In 1998, on the occasion of a visit to LORIA by Richard Stallman, the project became part of the GNU Project. In December 2002, the project was renamed SmartEiffel and reached version 1.0. In September 2004, SmartEiffel reached version 2.0.

In May 2005, after divergences with the working group for the normalization of the Eiffel language, the SmartEiffel project announced that they would not implement the ECMA TC39-TG4 norm.

By version 2.2 (2006[3]), the project had reportedly[4] announced via its wiki, "we, the SmartEiffel project, consider that the Eiffel language as we know it today, now contains nearly all desirable features. Therefore, version 2.2 of SmartEiffel marks the debut of a new level of stability and corresponds to what we think of as being the true Eiffel language." The statement remains published as a foundation artifact at the wiki of a successor project, LibertyEiffel.[5]

The Debian package[6] was removed at around the same time, reported as neglected by its own maintainer.[7] FreeBSD removed SmartEiffel some years later, due to lack interaction from the authors of the code, and the fact that it would not work on some architectures,[8] though with some recommendation that others may take over the challenge of maintenance of the software.[9]

References

edit
  1. ^ a b "INRIAGForge: SmartEiffel: Project Filelist". 27 August 2011. Archived from the original on 2011-08-27. Retrieved 6 August 2023.
  2. ^ "SmartEiffel: a short course". 24 October 2016. Archived from the original on 2016-10-24. Retrieved 6 August 2023.
  3. ^ "Smart Eiffel". c2.com.
  4. ^ "Introduction - Liberty Eiffel Wiki". wiki.liberty-eiffel.org. Retrieved 6 August 2023.
  5. ^ "Introduction - Liberty Eiffel Wiki". wiki.liberty-eiffel.org. Retrieved 6 August 2023.
  6. ^ "Debian -- smarteiffel". Archived from the original on 2005-12-08. Retrieved 6 August 2023.
  7. ^ "#406255 - RM: smarteiffel - RoQA; unmaintained - Debian Bug report logs". bugs.debian.org. Retrieved 6 August 2023.
  8. ^ "159969 – Deprecate lang/smarteiffel -- dead upstream and broken on Tier 1". bugs.freebsd.org. Retrieved 6 August 2023.
  9. ^ "Eiffel". www.berenddeboer.net. Retrieved 6 August 2023.

Further reading

edit
  • Colnet, D., Marpons, G., Merizen, F. (2006). Reconciling Subtyping and Code Reuse in Object-Oriented Languages: Using inherit and insert in SmartEiffel, the GNU Eiffel Compiler. In: Morisio, M. (eds) Reuse of Off-the-Shelf Components. ICSR 2006. Lecture Notes in Computer Science, vol 4039. Springer, Berlin, Heidelberg. doi 10.1007/11763864_15
  • Marko van Dooren and Eric Steegmans. 2007. [A higher abstraction level using first-class inheritance relations. In Proceedings of the 21st European conference on Object-Oriented Programming (ECOOP'07). Springer-Verlag, Berlin, Heidelberg, 425–449. doi 10.5555/2394758.2394786
  • Privat, Jean; Ducournau, Roland. "Link-Time Static Analysis for Efficient Separate Compilation of Object-Oriented Languages" (PDF). Retrieved 2023-08-06.
edit