Difference between revisions of "Cookbook/Compilers and interpreters"
< Cookbook
Jump to navigation
Jump to search
(→GHC) |
m (→GHC) |
||
Line 9: | Line 9: | ||
| compiling a file, without linking |
| compiling a file, without linking |
||
| -c |
| -c |
||
− | |<haskell>ghc -c Foo.hs --> Foo.hi, Foo.o</haskell> |
+ | |<haskell>ghc -c Foo.hs --> Foo.hi, Foo.o</haskell> |
|- |
|- |
||
| linking files into an executable |
| linking files into an executable |
||
| -o |
| -o |
||
− | |<haskell>ghc -o test Foo.o Bar.o Baz.p |
+ | |<haskell>ghc -o test Foo.o Bar.o Baz.p --> test</haskell> |
|} |
|} |
||
Revision as of 08:41, 31 August 2009
GHC
Problem | Solution | Examples |
---|---|---|
compiling a file, without linking | -c | ghc -c Foo.hs --> Foo.hi, Foo.o
|
linking files into an executable | -o | ghc -o test Foo.o Bar.o Baz.p --> test
|
GHCi
Problem | Solution | Examples |
---|---|---|
checking a definition | :i | Prelude> :i Monad
class Monad m where
(>>=) :: m a -> (a -> m b) -> m b
(>>) :: m a -> m b -> m b
return :: a -> m a
fail :: String -> m a
-- Defined in GHC.Base
instance Monad Maybe -- Defined in Data.Maybe
instance Monad IO -- Defined in GHC.IOBase
instance Monad ((->) r) -- Defined in Control.Monad.Instances
instance Monad [] -- Defined in GHC.Base
|
checking a type | :t | Prelude> :t "Hello"
"Hello" :: [Char]
Prelude> :t length
length :: [a] -> Int
|
Hugs
TODO