Andreas Reuleaux (7) [Avatar] Offline
#1
in the final listing 4.19 parseCommand takes a list of String

parseCommand: List String -> Maybe Command

whereas on the pages before it was explained to be of type:

parseCommand : String -> String -> Maybe Command.

Consequently the function parse (that calls parseCommand) is
different as well:

* in the final listing it's body is just:
parseCommand (words input)

* whereas on page 131 it was explained as:
case span (/= ' ') input of
(cmd, args) => parseCommand (ltrim args)

I assume the final listing should be in line with the explanations before,
or otherwise these further changes (simplifications) should be
mentioned.
Edwin Brady (65) [Avatar] Offline
#2
I think I've edited this program a bit and the listings have gone out of sync. I'll correct it, thanks.