[Haskell-cafe] instance for (Show ([(String, Int)] -> Int))
daniel.is.fischer at googlemail.com
Fri Dec 24 23:07:45 CET 2010
On Friday 24 December 2010 22:47:55, Aaron Gray wrote:
> On 24 December 2010 18:24, Henning Thielemann
> <lemming at henning-thielemann.de
> > wrote:
> > On Fri, 24 Dec 2010, Aaron Gray wrote:
> > The compiler is requesting an instance declaration for Show :-
> >> expr-eval.hs:334:23:
> >> No instance for (Show ([(String, Int)] -> Int))
> >> arising from a use of `print' at expr-eval.hs:334:23-27
> >> Possible fix:
> >> add an instance declaration for (Show ([(String, Int)] ->
> >> Int)) In the first argument of `(.)', namely `print'
> >> In the second argument of `(>>=)', namely `print . calc .
> >> lexer' In the expression: getContents >>= print . calc . lexer
> > ... maybe 'calc' needs a further argument?
> I have attached what I have typed in so far.
*ExprEval> :t calc
calc :: [Token] -> [(String, Int)] -> Int
calc needs an environment (a dictionary of let-bound names), which you have
main = print . flip calc  . lexer
More information about the Haskell-Cafe