1

GHCiプロンプトで、

私はできる、

Prelude Text.Parsec> :t (oneOf "aeiou")

そして得る(oneOf "aeiou") :: Stream s m Char => ParsecT s u m Char

しかし、私がそうするとき、

let s = oneOf "aeiou"

次のエラーが表示されます。

interactive>:36:9:
    No instance for (Stream s0 m0 Char)
      arising from a use of `oneOf'
    Possible fix: add an instance declaration for (Stream s0 m0 Char)
    In the expression: oneOf "aeiou"
    In an equation for `m': m = oneOf "aeiou"

s に割り当てられない理由を教えてください。

4

1 に答える 1

6

これは、動作中の単型制限です。

この質問は密接に関連していますが、それについてではありませんghci letが、考え方は同じです。

于 2013-08-17T14:06:19.380 に答える