3
在使用PureScript教程時,代碼示例開始使用「=>」而不引入它。結果我不明白何時使用'=>'而不是' - >'。在Purescript; - >和=>有什麼區別?
例如這使用 '=>':
instance showArray :: (Show a) => Show (Array a) where
show array = "[" <> map show array <> "]"
其中如此使用 ' - >':
greet :: forall r. { name :: String | r} -> String
greet namedThing = "Hello, " ++ namedThing.name
'FORALL [R 。 {name :: String | r}似乎也是一個約束。 (任何具有name :: String屬性的對象。) –
不,約束只使用'=>'和類型類。 '{name :: String | r}'只是一個匿名類型。你可以爲這個類型定義一個名字'type Name r = {name :: String | r}''greet :: forall r。名字r - >字符串' – ais
'greet :: forall r。名字r - >'好像是'greet ::(Name r)=>'...我錯過了什麼? –