ajhc: Haskell compiler that produce binary through C language
Ajhc is a fork of jhc. The jhc is a haskell compiler which aims to produce the most efficient programs possible via whole program analysis and other optimizations.
The jhc is very minimalist in that it does not have a precompiled run time system, but rather generates what is needed as part of the compilation process. However, back ends do have specific run-time representations of data, which can be affected by things like the choice of garbage collector.
Perhaps you can get internal overview with following compile flow image:

[Skip to Readme]
Modules
- C
- C.FFI
 - C.FromGrin2
 - C.Generate
 - C.Prims
 
 - Cmm
- Cmm.Number
 - Cmm.Op
 - Cmm.OpEval
 
 - DataConstructors
 - DerivingDrift
- DerivingDrift.DataP
 - DerivingDrift.Drift
 - DerivingDrift.RuleUtils
 - DerivingDrift.StandardRules
 
 - Doc
- Doc.Attr
 - Doc.Chars
 - Doc.DocLike
 - Doc.PPrint
 - Doc.Pretty
 
 - E
- E.Annotate
 - E.Arbitrary
 - E.Binary
 - E.CPR
 - E.Demand
 - E.Diff
 - E.E
 - E.Eta
 - E.Eval
 - E.FreeVars
 - E.FromHs
 - E.Inline
 - E.LambdaLift
 - E.LetFloat
 - E.Lint
 - E.Main
 - E.PrimDecode
 - E.PrimOpt
 - E.Program
 - E.Rules
 - E.SSimplify
 - E.Show
 - E.Subst
 - E.Traverse
 - E.Type
 - E.TypeAnalysis
 - E.TypeCheck
 - E.Values
 - E.WorkerWrapper
 
 - FindFixpoint
 - Fixer
- Fixer.Fixer
 - Fixer.Supply
 - Fixer.VMap
 
 - FlagDump
 - FlagOpts
 - FrontEnd
- FrontEnd.Class
 - FrontEnd.DataConsAssump
 - FrontEnd.DeclsDepends
 - FrontEnd.DependAnalysis
 - FrontEnd.Desugar
 - FrontEnd.Diagnostic
 - FrontEnd.Exports
 - FrontEnd.FrontEnd
 - FrontEnd.HsErrors
 - FrontEnd.HsParser
 - FrontEnd.HsPretty
 - FrontEnd.HsSyn
 - FrontEnd.Infix
 - FrontEnd.KindInfer
 - FrontEnd.Lexer
 - FrontEnd.ParseMonad
 - FrontEnd.ParseUtils
 - FrontEnd.Rename
 - FrontEnd.Representation
 - FrontEnd.SrcLoc
 - Syn
- FrontEnd.Syn.Options
 - FrontEnd.Syn.Traverse
 
 - Tc
- FrontEnd.Tc.Class
 - FrontEnd.Tc.Kind
 - FrontEnd.Tc.Main
 - FrontEnd.Tc.Module
 - FrontEnd.Tc.Monad
 - FrontEnd.Tc.Type
 - FrontEnd.Tc.Unify
 
 - FrontEnd.TypeSigs
 - FrontEnd.TypeSynonyms
 - FrontEnd.TypeSyns
 - FrontEnd.Unlit
 - FrontEnd.Utils
 - FrontEnd.Warning
 
 - GenUtil
 - Grin
- Grin.DeadCode
 - Grin.Devolve
 - Grin.EvalInline
 - Grin.FromE
 - Grin.Grin
 - Grin.HashConst
 - Grin.Lint
 - Grin.Main
 - Grin.NodeAnalyze
 - Grin.Noodle
 - Grin.Optimize
 - Grin.SSimplify
 - Grin.Show
 - Grin.StorageAnalysis
 - Grin.Val
 - Grin.Whiz
 
 - Ho
- Ho.Binary
 - Ho.Build
 - Ho.Collected
 - Ho.Library
 - Ho.ReadSource
 - Ho.Type
 
 - Info
- Info.Binary
 - Info.Info
 - Info.Properties
 - Info.Types
 
 - Interactive
 - Name
- Name.Binary
 - Name.Id
 - Name.Name
 - Name.Names
 - Name.Prim
 - Name.VConsts
 
 - Options
 - PackedString
 - RawFiles
 - Stats
 - StringTable
- StringTable.Atom
 
 - Support
- Support.CFF
 - Support.Cabal
 - Support.CanType
 - Support.Compat
 - Support.CompatMingw32
 - Support.FreeVars
 - Support.IniParse
 - Support.MD5
 - Support.MapBinaryInstance
 - Support.TempDir
 - Support.Tickle
 - Support.Transform
 - Support.Tuple
 - Support.Unparse
 
 - Util
- Util.BitSet
 - Util.ContextMonad
 - Util.ExitCodes
 - Util.FilterInput
 - Util.GMap
 - Util.Gen
 - Util.Graph
 - Util.Graphviz
 - Util.HasSize
 - Util.Histogram
 - Util.Inst
 - Util.IntBag
 - Util.Interact
 - Util.NameMonad
 - Util.Once
 - Util.Perhaps
 - Util.Progress
 - Util.RWS
 - Util.ReaderWriter
 - Util.Relation
 - Util.SHA1
 - Util.SameShape
 - Util.Seq
 - Util.SetLike
 - Util.TrueSet
 - Util.UnionFind
 - Util.UnionSolve
 - Util.UniqueMonad
 - Util.Util
 - Util.VarName
 - Util.YAML
 
 - Version
- Version.Config
 - Version.Version
 
 
Downloads
- ajhc-0.8.0.10.tar.gz [browse] (Cabal source package)
 - Package description (as included in the package)
 
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
 
| Versions [RSS] | 0.8.0.1, 0.8.0.3, 0.8.0.4, 0.8.0.5, 0.8.0.6, 0.8.0.7, 0.8.0.8, 0.8.0.9, 0.8.0.10 | 
|---|---|
| Dependencies | ajhc, array, base (>=4.0 && <5), binary, bytestring, containers, cpphs, directory, fgl, filepath, haskeline, HsSyck, HTTP, mtl, network, old-time, pretty, process, random, regex-compat, syb, temporary, unix, utf8-string, Win32, zlib [details] | 
| License | GPL-2.0-only | 
| Author | John Meacham <john@repetae.net> | 
| Maintainer | Metasepi team <metasepi@gmail.com> | 
| Category | Compiler | 
| Home page | http://ajhc.metasepi.org/ | 
| Bug tracker | http://github.com/ajhc/ajhc/issues | 
| Source repo | head: git clone https://github.com/ajhc/ajhc.git | 
| Uploaded | by KiwamuOkabe at 2013-12-18T16:46:36Z | 
| Distributions | |
| Reverse Dependencies | 1 direct, 0 indirect [details] | 
| Executables | jahm, ajhc | 
| Downloads | 9584 total (8 in the last 30 days) | 
| Rating | 2.0 (votes: 1) [estimated by Bayesian average] | 
| Your Rating | |
| Status | Docs not available [build log] All reported builds failed as of 2016-10-26 [all 10 reports]  | 
            

