Concurrent Clean : シノニム型と全称量化変数
うーむ。微妙だ。
::Id :== A.a: a -> a f :: Id Int String -> (Int, String) f g i s = (g i, g s)
は型エラー。どうも、'A.a:'が認識されていないような雰囲気。
::Id a :== a -> a f :: (A.a: Id a) Int String -> (Int, String) f g i s = (g i, g s)
ならOK。
-
-
- -
-
http://sky.zero.ad.jp/~zaa54437/programming/clean/LanguageReport21/Chap5.html#sc14に
シノニム型定義 = ::型Lhs :== [全称量化変数] 型 ;
と書いてあるのに。
納得いかないので、MLに質問してみた。