Cookbook/Compilers and interpreters
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