On 24 December 2010 23:58, Daniel Fischer <daniel.is.fischer@googlemail.com> wrote:
On Saturday 25 December 2010 00:32:38, Aaron Gray wrote:
> Okay great, works this end too, but what does the 'flip' do ???

It flips the order of arguments to calc. You could also write

main = getContents >>= print . (`calc` []) . lexer

Generally,

flip f = \x y -> f y x

or

flip f x = \y -> f y x

flip f x y = f y x

Or :-

    calcExpr :: [Token] -> Int
    calcExpr tokens = calc tokens []

    process = print . calcExpr . lexer

makes things clearer.

Aaron