関数型プログラミング言語Haskell Part12
■ このスレッドは過去ログ倉庫に格納されています
0389デフォルトの名無しさん
2010/06/04(金) 09:47:51例えば状態としてスタックがある場合
push :: forall n, a -> State (Stack (n :+: 1)) ()
pop :: forall n m, n :+: 1 :==: m => State (Stack n) a
みたいに型の制約付きでpush,popが定義されていて、
空スタックを表現する型付きの値をpopすると型システムに弾かれるようなやつです
■ このスレッドは過去ログ倉庫に格納されています