2017-01-14 purescript-examples に foreign を追加した
今日は一日ぼんやりしていた。外はとても寒い。雪が降っていた。
bouzuya/purescript-examples に purescript/purescript-foreign の例として foreign を追加した。 purescript-foreign パッケージは 2016-12-29 にも書いた。
今回の foreign では purescript-foreign パッケージの readJSON :: forall a. IsForeign a => String -> F a を使っている。これが良い。 readJSON は String (JSON) を IsForeign のインスタンスとして読み込める。 F は type F a = Except MultipleErrors a で、読み込みエラーが発生し得る型っぽい。
F に使われている Except は Control.Monad.Except モジュールにある。同モジュールの runExcept :: forall e a. Except e a -> Either e a で Either に変換できる。
とにかく簡単な実装で JavaScript からの変換ができて良い。
夕食のために妻の友人の夫が経営する店へ行く。辛い料理を食べたら、調子が悪くなってしまった。好きだけど苦手だな……辛い食べ物。分かっているなら頼むなという話だけど。
あともう一点。 Windows の PC をプレゼントとして調達する。マウスコンピューターを試してみた。 Office の値段が高すぎて引く。