2019-05-30programming
Haskellプロジェクトの始め方
個人的メモです。
個人的メモです。
モナドという概念の存在意義やモナド則の意味について、自分なりの理解を記事にしました。
遅延評価はどこまで遅延されるのかよく分かってなかったので、いくつか実験をしてみました。
Haskell では全ての変数がイミュータブルです。つまり再代入が禁じられています。それでもモナドの力を借りればまるでミュータブル変数を扱っているかのようなプログラムを書くことができます。
Haskell のパッケージ vault の使い方をご紹介します。vault は金庫室という意味ですが、その名の通りこのパッケージが提供する機能は「値の保管」です。
今回は HRR が自動で設定するデータ型を変更する方法をまとめます。例として、PostgreSQL の `integer` がデフォルトで `Int32` に設定されてしまうのを `Int` で上書きしてみます。
SQL ジェネレーターの HRR (Haskell Relational Record) を使ってみました。Docker コンテナの準備からデータ挿入まで解説します。
Haskellの型クラス宣言では、どんな関数が定義されているかまで見ないとKindが分かりません。具体例で確かめてみました。