Haskellは実行時の例外がとても少ない言語として知られていますが、それでも出るケースはあります。 Haskell Programming from first principalsという本を読んでいて一つ面白い例を知 …
カテゴリー: haskell
HaskellでHttpリクエストをする
http-conduitというパッケージが使いやすそうです。 前準備 ghciでやりましょう。以降のコードスニペットは全て、ghci上にコピペすれば動くはずです。 http-conduit、http-types、aeso …
Haskellで複雑度測定
Haskellでサイクロマティック複雑度(循環的複雑度)を測定する場合、2つツールがあるようです。 homplexity argon githubのスター数はargonの方が多いのですが、コミット履歴を見るとhomple …
Haskellで日付を扱う
以下で紹介している関数は全て、Haskellのtimeパッケージをインストールして、 import Data.Time — 一部はこれも import Data.Time.Clock.POSIX とすれば使えます。 日 …
persistentのエラー:Unknown column in unique constraint
Haskellのpersistentを使っていたら、こんなエラーが出てハマった。 Exception when trying to run compile-time code:\n Unknown column in u …
Classy Preludeパッケージ
HaskellのスタンダードモジュールはPreludeと呼ばれ、明示的にインポートしなくても暗黙インポートされるため標準で使用できます。ここにはIntやStringなどの基本的なデータ型や、四則演算やブール演算を始めとす …
HaskellとElmでWeb開発環境を作る
以前色々調べながら試していたんですが、久しぶりにまたやってみようと思ったら何も覚えていなかったので、以前作ったソースコードを見ながら、同じような環境を作ってみます。バックエンドはHaskell servantで、フロント …
Data.Aesonの使い方
HaskellのJSONライブラリとしておそらくメジャーなData.Aesonですが、使い方が難しいので色々試行錯誤しています。 以降のコードはghci上で実行することを想定しています。 適当にstackでプロジェクトを …
pureと<$>と<*>
こういうところやこういうところでよく見るのですが、全くわからずにコピペして使ってきました。 この辺りにわかり易い説明があります。 qiitaの記事 お気楽Haskellプログラミング入門の記事 pureと<*> …
Haskellのカインド(kind)
カインド(種, kind)とは、 Wikipedia says, “In type theory, a kind is the type of a type constructor or, less commonly, …