Huong Nguyen <hiperfume at gmail.com> writes: > newtype Parser a = Parser(String -> [(a, String)]) [...] > parse :: Parser a -> String -> [(a, String)] > parse p cs = p cs > \end{code} Try this instead: parse (Parser p) cs = p cs (You forgot to deconstruct! :) )