Compiling Haskell (.hs) in windows to a exe Compiling Haskell (.hs) in windows to a exe windows windows

Compiling Haskell (.hs) in windows to a exe


Absolutely. Install the Haskell Platform, which gives you GHC, a state-of-the-art compiler for Haskell.

By default it compiles to executables, and it works the same on Linux or Windows. E.g.

Given a file:

$ cat A.hsmain = print "hello, world"

Compile it with GHC:

$ ghc --make A.hs[1 of 1] Compiling Main             ( A.hs, A.o )Linking A.exe ...

Which you can now run:

$ ./A.exe"hello, world"

Note, this was under Cygwin. But the same holds for native Windows:

C:\temp>ghc --make A.hs[1 of 1] Compiling Main             ( A.hs, A.o )Linking A.exe ...C:\temp>A.exe"hello, world"


For people who never compiled anything at all, it also might be useful to know that "C:\temp>" in the example by Don Stewart points to the folder in which .hs should be. For example, if you have a folder under your user account, say "C:\Users\Username\Haskell\" in which you have your hello.hs file, you open command prompt by typing cmd, when it opens, you'll see "C:\Users\Username>". To compile you file type the following:

ghc Haskell\hello.hs

So the entire line should look like:

C:\Users\Username>ghc Haskell\hello.hs

Provided you have no any mistypes, you should be able to see the result in the same folder as you have your hello.hs file.


Yes. GHC can compile to C which can then be compiled to native machine code, or it can compile to LLVM.