无法在haskell提示中分配

Jay*_*Jay 1 haskell

在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"
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我为什么我不能分配给s?

n. *_* m. 6

这是行动中的单态限制.

这个问题是密切相关的,虽然它不是关于ghci let但是这个想法是一样的.