Scheme to Haskell はやめて、 Scheme to OCaml に

することにしました。
そもそも最初に Haskell を選んだ理由は、ネイティブコンパイラのある関数型言語という条件にあてはまったからなので。OCaml でもその条件は満たされる。さらに OCamlコンパイラを使ったほうが生成されるコードは高速(らしい)だし、バイトコードも吐けるし、副作用を扱う処理も簡単。Haskell でやってたときは、return や liftM の嵐だったので。それはそれで勉強になりましたが。
ただ難点は、頭の中でそれぞれの文法がごちゃごちゃになってしまうこと。そのうちどこかではまる気がしてならない…。