Haskell実装
出典: どう書くwiki
目次 |
[編集] このページについて
このページの編集・追加は自由に行ってください。
現状で存在する Haskell 実装をまとめてみました。 参考にしたい人は中を見てみるといいと思います。 ただし、ライセンスにはくれぐれも注意してください。 たとえば、GPL な実装を見てしまうと、後々後悔してしまうかもしれません。 商用の目的を考えている人は、特に注意が必要です。
[編集] 公開されている Haskell 実装系
- GHC the Glasgow Haskell Compiler
- The Haskell Interpreter Hugs
- nhc98
- Yhc the York Haskell Compiler
- HBI and HBC, Chalmers' Haskell Interpreter and Compiler
- Helium
- Jhc
- Yale Haskell
[編集] GHC
- ライセンス
- The Glasgow Haskell Compiler License
- 特徴
- デファクトスタンダード、活発な改善、Haskell98を逸脱した拡張、巨大なソース
- 実装
- コンパイラ ghc インタプリタ ghci プロファイラやトレースツールも内蔵
- 実装に使用している言語
- ghc 自身, C, perl, C--
- サポートしているOS
- Linux, Solaris, Windows2000/XP/Vista, FreeBSD, MacOSX, AIX
- 実装に関するコメント
- 開発に関するドキュメント 特に、Commentary - GHC は必須
- 開発メンバー
- Contributors - GHC - Trac
[編集] Hugs 98
- ライセンス
- The Hugs 98 License
- 特徴
- 実装はそれほど大きくない、 Haskell98に準拠、 標準添付 Haskell ライブラリが ほとんど Haskell 自身で書いてあるので、Haskell 初級者の学習の助けになる
- 実装
- インタプリタ
- 実装に使用している言語
- C
- サポートしているOS
- Windows, Linux, FreeBSD, MacOSX
- 実装に関するコメント
- ソースコード
- 開発メンバー
- Hugs - Trac
[編集] nhc98
- ライセンス
- nhc98 copyright information
- 特徴
- 実装が小さい、後述する Yhc の元祖、Haskell98 の一部に準拠せず
- 実装
- コンパイラ
- 実装に使用している言語
- C
- サポートしているOS
- Linux, Solaris, MacOSX, Cygwin
- 実装に関するコメント
- Implementation map for nhc98
- 開発メンバー
- York Functional Programming Group
[編集] Yhc
- ライセンス
- 不明!
- 特徴
- 前述の nhc98 の改良版
- 実装
- コンパイラ
- 実装に使用している言語
- C (gcc or MS Visual C), Python
- サポートしているOS
- Windows (他のプラットホームは、まあソースをビルドすれ)
- 実装に関するコメント
- ソースコード
- 開発メンバー
- The "Yhc team"
[編集] HBI and HBC, Chalmers' Haskell Interpreter and Compiler
- ライセンス
- 不明!
- 特徴
- 2008-01-20 の時点で、開発がもう停止しているらしい(最終更新は1998-06-08)、ソースコードがダウンロードできない...(ftpサーバがダウンしている?)
- 実装
- インタプリタとコンパイラ
- 実装に使用している言語
- 不明
- サポートしている OS
- 不明
- 実装に関するコメント
- 不明
- 開発メンバー
- Chalmers工科大学講師 Lennart Augustsson
[編集] Hellium
- ライセンス
- 不明!
- 特徴
- Haskellの教育用に作られた為、エラーメッセージが親切、Haskell98 に準拠していない(subset)、ライブラリの圧倒的不足
- 実装
- インタプリタとコンパイラ
- 実装に使用している言語
- ghc
- サポートしている OS
- Windows, MacOSX, (他のプラットホームはソースをビルド)
- 実装に関するコメント
- Hellium Documentation 特に、Daan Leijen の論文
- 開発メンバー
- The Hellium team
[編集] Jhc
- ライセンス
- 不明!
- 特徴
- 最先端の最適化技術を注ぎ込む目的で作られたコンパイラ、Haskell 98 に準拠、Haskell から 100% ISO C へ変換することができる(バイトオーダの違いも吸収)、ガベージコレクタを必要としない!(ので、GC で動作が止まることはない)、添付ライブラリは ghc よりはまだ少ない
- 実装
- コンパイラ
- 実装に使用している言語
- ghc (と happy, DrIFT が必要)
- サポートしている OS
- Unix 系なら動くのではないか Windows は知らない
- 実装に関するコメント
- Jhc について
- 開発メンバー
- John Meacham
[編集] Yale Haskell
- ライセンス
- Yale Haskell license
- 特徴
- 開発休止中 (現時点 2008-01-20 で最新版 2.0.5 = 1995-1-09 release)
- 実装
- インタプリタ
- 実装に使用している言語
- Scheme or Common Lisp (正確には、CMU Common Lisp or Lucid CL or AKCL)
- サポートしている OS
- 不明
- 実装に関するコメント
- ソースコード
- 開発メンバー
- Yale University Computer Science Department
[編集] EHC (Essential Haskell Compiler)/UHC (Utrecht Haskell Compiler)
- ライセンス
- (未確認)
- 特徴
- (Jhc の最適化技術の一つである)GRIN から C や LLVM に変換、単一のコンパイラではなく複数のツールが組み合わさった処理系、属性文法(Attribute Grammar)や CHRs (Constraint Handling Rules) が使える
- 実装
- インタプリタとコンパイラ、プリプロセッサ
- 実装に使用している言語
- ghc 及び uuagc (Utrecht University Attribute Grammar Compiler),CHRs, LLVM (バックエンド)
- サポートしている OS
- Windows, MacOS X Intel, Linux, あと LLVM のサポートしている OS? (ソースコードからビルドすること)
- 実装に関するコメント
- EHC や UHC について
- 開発メンバー
- Department of Information and Computing Sciences, Universiteit Utrecht

