SmartEiffel
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/03/31 04:11 UTC 版)
SmartEiffelは、プログラミング言語Eiffel用のGNUのFOSSコンパイラであった。関連するツール、ライブラリ、クラスが提供されていた[1]。GNUは新たなプロジェクトであるLibertyEiffelを通じて、自由ソフトウェアライセンスのEiffelを引き続きサポートしている。コンパイラはEiffelのコードをANSI CまたはJavaバイトコードへ変換するため、ANSI CコンパイラまたはJava仮想マシンが存在するほぼすべてのプラットフォームでプログラムを実行できる。
SmartEiffelは、フランス国立情報学自動制御研究所(INRIA)に所属するロレーヌ情報技術応用研究所(LORIA)において、ロレーヌのナンシー大学キャンパス内で開発された。SmartEiffelは学術分野で広く利用されていた[1][2]。
歴史
プロジェクトは1994年にフランスの研究者ドミニク・コルネ(Dominique Colnet)によって開始された。当初、コンパイラはSmallEiffelと呼ばれていた。これはSmalltalkに由来する。1995年にコンパイラは初めてセルフホスティングを達成した。1998年、リチャード・ストールマンがLORIAを訪問した際に、プロジェクトはGNUプロジェクトの一部となった。2002年12月、プロジェクトはSmartEiffelと改名され、バージョン1.0に達した。2004年9月、SmartEiffelはバージョン2.0に達した。
2005年5月、Eiffelの標準化を行うグループとの意見の相違を受け、SmartEiffelプロジェクトはECMA TC39-TG4規格を実装しないことを発表した。
バージョン2.2(2006年[3])の時点で、プロジェクトはそのWiki上で次のように発表した[4]。「我々SmartEiffelプロジェクトは、現在のEiffelがほぼすべての望ましい機能を備えていると考える。したがって、SmartEiffelのバージョン2.2は新たな安定性の段階の始まりを示し、我々が真のEiffelと見なすものに対応する。」この声明は、後継プロジェクトであるLibertyEiffelのWiki上で基礎的な記録として公開され続けている[5]。
Debianパッケージ[6]は同時期に削除され、管理者に放置されていたと報告されている[7]。FreeBSDも数年後にSmartEiffelを削除したが、その理由はコードの作者との交流がなかったこと、および一部のアーキテクチャで動作しなかったためであった[8]。しかし、ソフトウェアの保守を引き継ぐことを推奨する意見もあった[9]。
脚注
- ^ a b “INRIAGForge: SmartEiffel: Project Filelist” (2011年8月27日). 2011年8月27日時点のオリジナルよりアーカイブ。2023年8月6日閲覧。
- ^ “SmartEiffel: a short course” (2016年10月24日). 2016年10月24日時点のオリジナルよりアーカイブ。2023年8月6日閲覧。
- ^ “Smart Eiffel”. c2.com. 2025年3月31日閲覧。
- ^ “Introduction - Liberty Eiffel Wiki”. wiki.liberty-eiffel.org. 2023年8月6日閲覧。
- ^ “Introduction - Liberty Eiffel Wiki”. wiki.liberty-eiffel.org. 2023年8月6日閲覧。
- ^ “Debian -- smarteiffel”. 2005年12月8日時点のオリジナルよりアーカイブ。2023年8月6日閲覧。
- ^ “#406255 - RM: smarteiffel - RoQA; unmaintained - Debian Bug report logs”. bugs.debian.org. 2023年8月6日閲覧。
- ^ “159969 – Deprecate lang/smarteiffel -- dead upstream and broken on Tier 1”. bugs.freebsd.org. 2023年8月6日閲覧。
- ^ “Eiffel”. www.berenddeboer.net. 2023年8月6日閲覧。
参考文献
- 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
- “Link-Time Static Analysis for Efficient Separate Compilation of Object-Oriented Languages”. 2023年8月6日閲覧。
外部リンク
- The Grand SmartEiffel Book Archived 2017-07-16 at the Wayback Machine. – official wiki
- Efficient Dynamic Dispatch without Virtual Function Tables: The SmallEiffel Compiler; Olivier ZENDRA, Dominique COLNET and Suzanne COLLIN; 1997; Centre de Recherche en Informatique de Nancy Campus Scientifique, Bâtiment LORIA
- SmartEiffelのページへのリンク