Cookbook/Compilers and interpreters

From HaskellWiki
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.

GHC

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

General

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

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

Hugs

TODO