タグ

ブックマーク / zehnpaard.hatenablog.com (1)

  • OCamlで48 Hour Schemeをやってみる その5 (第九、十章) - Arantium Maestum

    Write Yourself a Scheme in 48 Hoursの最後の二章をやっていく。入出力と標準ライブラリ作成。 第九章:入出力 stdin, stdoutやファイルに対する入出力を実装する。 github.com 例によって「Haskellだとモナドが出現していろいろ型を頑張らないといけないけどOCamlだから・・・」という案件。 HaskellではIOモナド型のために新しいIOFunc式を用意したりしているが、OCamlだと普通に今まで通りPrimitiveFuncに放り込んでいける。 type expt = (* 省略 *) | PortIn of in_channel | PortOut of out_channel と入出力用のchannelをラップしたPortIn/PortOut式は用意する。あとはIoモジュールでそれを使う関数を定義し、primitives.mlで

    OCamlで48 Hour Schemeをやってみる その5 (第九、十章) - Arantium Maestum
    jsstudy
    jsstudy 2019/08/03
    「Haskellだとモナドが出現していろいろ型を頑張らないといけないけどOCamlだから・・・」HaskellではIOモナド型のために新しいIOFunc式を用意したりしているが、OCamlだと普通に今まで通りPrimitiveFuncに放り込んでいける。
  • 1