generated at
Elmの型
from Elm


エラーハンドリング ref
Maybe
Result

List
Listにはそもそもindexアクセスすることができない ref
良いね、境界値チェックの実行時エラーとか起こり得ないんだなmrsekut
これがしたいならArray型を使えとのことらしい
この実装は正しい気がする、逆にHaskellはなんでアクセスできるんだろう #??
list-extraという便利パッケージがある
でも、本来はこれを作る場合はデータ構造をもっと考えたほうが良い場合かも知れない
つまり、正しくプログラミングできていれば、これに頼ることは殆どない(?)
ref 『基礎からわかるElm』 p.94

Dict
Set


Array
Listと異なり、任意の要素に素早くアクセスできる
Listの場合は、後ろに行くほどアクセスが遅くなる
試してないけど、配列の境界検査は流石にやってないよな?
getで要素アクセスできる
返り値はMaybeになる。なるほど!!mrsekut
elm
import Array a = Array.initialize 5 identity -- Array.fromList [0,1,2,3,4] Array.get 1 a -- Just 1 Array.get 10 a -- Nothing



制約のある型
Haskellの型クラスの継承のようなやつ
comparable
Int, Float, Char, String
↑これらのリスト、タプル
ex. (>) : comparable -> comparable -> Bool
appendable
値をつなげることができる
String, List a
compappend
値を比較できる
値をつなげることができる
String, List a
ex. (++)

Haskell的に見るとShow型クラスとEq型クラスは全ての型にデフォルトで実装されている

type alias で型を自作する
elm
type alias UserId = Int type alias User = { id : Int , name: String }


カスタム型
Haskellのdataみたいなやつ
elm
type TF = Red | Yellow | Green


Task

Never
『基礎からわかるElm』 p.153

参考