ocaml

hmm

gistf495c1b1a0fa02e6b5be gist12c1465f96071b7f803e gist668a08b7162c24a42dd4

ocamlのtoplevelで手軽にcoreを使う方法

ocamlのtoplevelで手軽にcoreを使う方法 core に色々なモジュールが定義されている。 これらを試すために毎回実行ファイルを作成するのもだるかったのでtoplevelから使えないか調べてみた。 例えばemacsのtuareg-mode上立ち上げたtoplevelなどで使っている。…

coreのsexplibを使ってみる

ppx_derivingにこだわっていたけれど。coreを使っているならsexplibでserializeしても良いような気がした。 詳しくはreal world ocamlに書いてあった記憶。 opam install core sexplib field.ml open Core_kernel.Std module S = Sexp type point2d = P of i…

corebuildはocamlbuildのwrapperだった。

corebuildはocamlbuildのwrapperだったということは聞いていたけれど。本当にただオプションを追加しただけというのは知らなかった。 $ cat `which corebuild` #!/bin/sh ocamlbuild \ -use-ocamlfind \ -syntax camlp4o \ -pkg core \ -pkg sexplib.syntax,…

ppx_deriving.showを使ってみる

ppxはpreprocessor的なもの。 opam install ppx_deriving field.ml type point2d = float * float [@@deriving show] type person = { name: string; age: int; } [@@deriving show] type student = { name: string; (* 最近はレコードに同名のkeyを付けても…

opiumいじってる

# $ opam switch 4.02.1 $ opam install opium $ opam install core open Core_kernel.Std module O = Opium.Std type person = { name: string; age: int; } let json_of_person { name ; age } = let open Ezjsonm in dict [ "name", (string name) ; "age…