Home > Software > Development > Haksell > GHC
- Package ID
GHC is a state-of-the-art, open source, compiler and interactive environment for the functional language Haskell.
Highlights: • GHC supports the entire Haskell 2010 language plus a wide variety of extensions. • GHC has particularly good support for concurrency and parallelism, including support for Software Transactional Memory (STM). • GHC generates fast code, particularly for concurrent programs. Take a look at GHC’s performance on The Computer Language Benchmarks Game. • GHC works on several platforms including Windows, Mac, Linux, most varieties of Unix, and several different processor architectures. There are detailed instructions for porting GHC to a new platform. • GHC has extensive optimisation capabilities, including inter-module optimisation. • GHC compiles Haskell code either directly to native code or using LLVM as a back-end. GHC can also generate C code as an intermediate target for porting to new platforms. The interactive environment compiles Haskell to bytecode, and supports execution of mixed bytecode/compiled programs. • Profiling is supported, both by time/allocation and various kinds of heap profiling. • GHC comes with several libraries, and thousands more are available on Hackage.
*NOTE: This package contains only the compiler. If you are looking to setup a system from scratch please look at `haskell-dev` instead. There's an important change to path handling for Windows starting with 8.6.1. These changes mean that Haskell programs are no longer constraint to `MAX_PATH`. So passing a long path to `openFile` will just work. There are a few caveats to this such as you can't access `COM` devices via `COM1` etc anymore and instead need to use the full path `\\.\COM1` etc. This is all documented https://downloads.haskell.org/~ghc/8.6.5/docs/html/users_guide/win32-dlls.html#windows-file-paths