SmartEiffel

SmartEiffelは、プログラミング言語Eiffel用のGNUFOSSコンパイラであった。関連するツール、ライブラリ、クラスが提供されていた[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]

脚注

[編集]
  1. ^ a b INRIAGForge: SmartEiffel: Project Filelist” (2011年8月27日). 2011年8月27日時点のオリジナルよりアーカイブ。2023年8月6日閲覧。
  2. ^ SmartEiffel: a short course” (2016年10月24日). 2016年10月24日時点のオリジナルよりアーカイブ。2023年8月6日閲覧。
  3. ^ Smart Eiffel”. c2.com. 2025年3月31日閲覧。
  4. ^ Introduction - Liberty Eiffel Wiki”. wiki.liberty-eiffel.org. 2023年8月6日閲覧。
  5. ^ Introduction - Liberty Eiffel Wiki”. wiki.liberty-eiffel.org. 2023年8月6日閲覧。
  6. ^ Debian -- smarteiffel”. 2005年12月8日時点のオリジナルよりアーカイブ。2023年8月6日閲覧。
  7. ^ #406255 - RM: smarteiffel - RoQA; unmaintained - Debian Bug report logs”. bugs.debian.org. 2023年8月6日閲覧。
  8. ^ 159969 – Deprecate lang/smarteiffel -- dead upstream and broken on Tier 1”. bugs.freebsd.org. 2023年8月6日閲覧。
  9. ^ 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日閲覧。

外部リンク

[編集]