2013-08-17 4 views
1

В строке GHCi,Невозможно назначить в Haskell строке

Я могу сделать,

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

и получить (oneOf "aeiou") :: Stream s m Char => ParsecT s u m Char

Но когда я,

let s = oneOf "aeiou"

I получите следующую ошибку:

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?

+1

Возможно, из-за типа по умолчанию. Как насчет того, когда вы делаете 'let s = (oneOf" aeiou ") :: Stream s m Char => ParsecT s u m Char'? – Satvik

+0

Возможный дубликат [Что такое ограничение мономорфизма?] (Http://stackoverflow.com/questions/32496864/what-is-the-monomorphism-restriction) – Bakuriu

ответ

Смежные вопросы