Talk:Hitchhikers guide to Haskell
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Code Indentation:
Haskell code should be indented using the <haskell> tag:
http://www.haskell.org/haskellwiki/HaskellWiki:Syntax_highlighting
This also allows for proper cut and paste properties.
P.S. I am really enjoying this article! It provides a very nice practical introduction to Haskell. Thanks! Mforbes 10:08, 17 April 2006 (UTC)
Problems
When I try to compile, or load into ghci, the following code I get get this error:
cd-fit.hs:8:13: No instance for (Text.Parsec.Prim.Stream s m Char) arising from a use of `many' at cd-fit.hs:8:13-27 Possible fix: add an instance declaration for (Text.Parsec.Prim.Stream s m Char) In a stmt of a 'do' expression: dirs <- many dirAndSize In the expression: do dirs <- many dirAndSize eof return dirs In the definition of `parseInput': parseInput = do dirs <- many dirAndSize eof return dirs Failed, modules loaded: none.
And I panic.
Code:
module Main where
import Text.ParserCombinators.Parsec
data Dir = Dir Int String deriving Show
parseInput =
do dirs <- many dirAndSize
eof
return dirs
dirAndSize =
do size <- many1 digit
spaces
dir_name <- anyChar `manyTill` newline
return (Dir (read size) dir_name)
main = do input <- getContents
putStrLn $ "DEBUG: got input " ++ input
-- compute solution and print it
/Liem