[Haskell-beginners] Partial Loading and Debugging with GHCI
aditya siram
aditya.siram at gmail.com
Thu Apr 16 13:34:59 EDT 2009
Hi all,
I'm curious as to how one would go about debugging the following program:
hello :: String
hello = "Hello"
world :: String
world = "World"
number :: Int
number = 1
helloWorld :: String
helloWorld = hello ++ " " ++ world
-- This fails!
bad :: String
bad = hello ++ number
Predictably once I load this program into ghci I get the following error:
[1 of 1] Compiling Main ( TestCode.hs, interpreted )
TestCode.hs:14:15:
Couldn't match expected type `[Char]' against inferred type `Int'
In the second argument of `(++)', namely `number'
In the expression: hello ++ number
In the definition of `bad': bad = hello ++ number
Failed, modules loaded: none.
At this point what I want to do is to query the output type of the different
functions like so:
> :t hello
but GHCI won't let me because the program hasn't been loaded.
I would then have to comment out 'bad', reload the program and query output
types to my hearts content. This is fine for a small program, but when I
have functions are downriver from 'bad', it gets extremely cumbersome. Is
there a way to load a file such that functions that compile stay loaded in
the interpreter even if something else fails?
Thanks ...
-deech
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.haskell.org/pipermail/beginners/attachments/20090416/1f21ec49/attachment.htm
More information about the Beginners
mailing list