Cookbook/Compilers and interpreters

From HaskellWiki

GHC[edit]

Problem Solution Examples
compiling and linking an executable --make
ghc --make Main.hs               --> Main
compiling without linking -c
ghc -c Foo.hs                    --> Foo.hi, Foo.o
generating Assembler code -S
ghc -S Foo.hs                    --> Foo.hi, Foo.s
generating C code -C
ghc -C Foo.hs                    --> Foo.hc, Foo.hi
linking files into an executable -o
ghc -o test Foo.o Bar.o Baz.p    --> test

GHCi[edit]

General[edit]

Problem Solution Examples
checking a definition :i
Prelude> :i True
data Bool = ... | True  -- Defined in GHC.Bool
checking a type :t
Prelude> :t "Hello"
"Hello" :: [Char]

Prelude> :t length
length :: [a] -> Int
loading a file :l
Prelude> :l Foo.hs
[1 of 1] Compiling Foo              ( Foo.hs, interpreted )
Ok, modules loaded: Foo.
reloading all loaded files :r
Prelude> :r

Debugging[edit]

Problem Solution Examples
setting a break point :break
Prelude> :break 2    -- sets a break point in line 2

Hugs[edit]

TODO