MAG 2.11

その筋では有名だけど幾分古い MAG System というものがある. http://www.cs.ox.ac.uk/research/pdt/progtools/mag/ にサイトの残骸がある. Haskell で書かれているが, GHC 5 向けなのですでにビルドできない. ちなみに日本製としてその筋で有名な Yicho も無理である. GHC のバージョンアップによる互換性のなさは...

と言うことはさておいて, Haskell Platform 2013 でやったことを言うと,

  1. 何処かにパッチがあった気がするのでそれ http://www.sampou.org/cgi-bin/haskell.cgi?Books%3aFOP%3aMAG のパッチを当てる (何年か前)
  2. 諸事情により非推奨になり削除されてしまった機能があるので -XDatatypeContexts で復活させる
  3. Monad -> Control.Monad, IOExts -> Data.IORef など名前の変更に対応する
  4. CGI.hs が ISO-8859-1 で UTF-8 でないので iconv で変換する
  5. magdcalc は引数に *.o ではなく, 素直に Main.hs を渡す
  6. latex 周りは自分でビルドすることにして Malefile から外す
  7. テストもやりたいなら -rtsopts オプションを ghc に追加する

となった. 苦節 2 年ようやくビルドできた. やったね.

再度言うと, GHC の互換性の乏しさは... なんだろう本当に釈然としない.

パッチどこかに置こうと思うけど文字コードの問題があるから無理ぽ...

Yicho も結局色々修正加えてビルドできるようになったものの, サンプルもまともに動いてないっぽい.