cabal-version: >= 1.10 name: ajhc build-type: Custom version: 0.8.0.10 license: GPL-2 license-file: COPYING category: Compiler author: John Meacham maintainer: Metasepi team synopsis: Haskell compiler that produce binary through C language description: 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: . . <> homepage: http://ajhc.metasepi.org/ bug-reports: http://github.com/ajhc/ajhc/issues data-files: README.md extra-source-files: examples/*.hs rts/HsFFI.h Makefile.cabalinst library_deps.make src/data/targets.ini src/StringTable/StringTable_cbits.h src/cbits/config.h src/hs_src_config.h src/data/Typeable.h utils/build_extlibs.prl lib/haskell-extras/Data/Bits.hs lib/haskell-extras/Data/Maybe.hs lib/haskell-extras/Data/Bits.m4 lib/haskell-extras/Data/IORef.hs lib/haskell-extras/Data/Monoid.hs lib/haskell-extras/Data/Int.hs lib/haskell-extras/Data/Typeable.hs lib/haskell-extras/Data/Functor.hs lib/haskell-extras/Data/Char.hs lib/haskell-extras/Data/Array/Unboxed.hs lib/haskell-extras/Data/Array/IO.hs lib/haskell-extras/Data/Complex.hs lib/haskell-extras/Data/Array.hs lib/haskell-extras/Data/Version.hs lib/haskell-extras/Data/Function.hs lib/haskell-extras/Data/List.hs lib/haskell-extras/Data/Unique.hs lib/haskell-extras/Data/Ix.hs lib/haskell-extras/Data/Dynamic.hs lib/haskell-extras/Data/Unicode.hs lib/haskell-extras/Data/Word.hs lib/haskell-extras/Prelude.hs lib/haskell-extras/haskell-extras.yaml.m4 lib/haskell-extras/Unsafe/Coerce.hs lib/haskell-extras/Foreign.hs lib/haskell-extras/Typeable.hs lib/haskell-extras/Debug/Trace.hs lib/haskell-extras/System/IO/Pipe.hs lib/haskell-extras/System/IO/Binary.hs lib/haskell-extras/System/IO/Error.hs lib/haskell-extras/System/IO/Continuation.hs lib/haskell-extras/System/Random.hs lib/haskell-extras/System/Exit.hs lib/haskell-extras/System/Console/GetOpt.hs lib/haskell-extras/System/Time.hs lib/haskell-extras/System/Directory.hs lib/haskell-extras/System/CPUTime.hs lib/haskell-extras/System/Cmd.hs lib/haskell-extras/System/Environment.hs lib/haskell-extras/System/Info.hs lib/haskell-extras/System/IO.hs lib/haskell-extras/System/Locale.hs lib/haskell-extras/Text/Show/Functions.hs lib/haskell-extras/Text/Printf.hs lib/haskell-extras/Control/Monad/Fix.hs lib/haskell-extras/Control/Monad/Instances.hs lib/haskell-extras/Control/Concurrent.hs lib/haskell-extras/Control/Exception.hs lib/haskell-extras/Control/Monad.hs lib/haskell-extras/Foreign/C.hs lib/haskell-extras/Foreign/ForeignPtr.hs lib/haskell-extras/Foreign/StablePtr.hs lib/haskell-extras/Foreign/Marshal/Pool.hs lib/haskell-extras/Foreign/Marshal/Error.hs lib/haskell-extras/Foreign/Marshal.hs lib/haskell98/Maybe.hs lib/haskell98/Random.hs lib/haskell98/Time.hs lib/haskell98/prologue.txt lib/haskell98/System.hs lib/haskell98/Ratio.hs lib/haskell98/Directory.hs lib/haskell98/CPUTime.hs lib/haskell98/haskell98.yaml lib/haskell98/Char.hs lib/haskell98/Complex.hs lib/haskell98/Array.hs lib/haskell98/List.hs lib/haskell98/IO.hs lib/haskell98/Ix.hs lib/haskell98/Monad.hs lib/haskell98/Locale.hs lib/haskell98/LICENSE lib/flat-foreign/Bits.hs lib/flat-foreign/Ptr.hs lib/flat-foreign/MarshalAlloc.hs lib/flat-foreign/MarshalError.hs lib/flat-foreign/Storable.hs lib/flat-foreign/CForeign.hs lib/flat-foreign/ForeignPtr.hs lib/flat-foreign/Int.hs lib/flat-foreign/StablePtr.hs lib/flat-foreign/MarshalArray.hs lib/flat-foreign/flat-foreign.yaml lib/flat-foreign/MarshalUtils.hs lib/flat-foreign/CTypes.hs lib/flat-foreign/Word.hs lib/flat-foreign/CError.hs lib/flat-foreign/CString.hs lib/applicative/Data/Foldable.hs lib/applicative/Data/Traversable.hs lib/applicative/Control/Applicative.hs lib/applicative/Control/Arrow.hs lib/applicative/Control/Category.hs lib/applicative/applicative.yaml lib/jhc/Numeric.hs lib/jhc/Data/Ratio.hs lib/jhc/Jhc/Order.hs lib/jhc/Jhc/Numeric.hs lib/jhc/Jhc/Maybe.hs lib/jhc/Jhc/Inst/Order.hs lib/jhc/Jhc/Inst/Storable.hs lib/jhc/Jhc/Inst/Show.hs lib/jhc/Jhc/Inst/PrimEnum.hs lib/jhc/Jhc/Inst/Enum.hs lib/jhc/Jhc/Inst/Num.hs lib/jhc/Jhc/Inst/Read.hs lib/jhc/Jhc/Enum.m4 lib/jhc/Jhc/Hole.hs lib/jhc/Jhc/String.hs lib/jhc/Jhc/Prim.hs lib/jhc/Jhc/Options.hs lib/jhc/Jhc/Show.hs lib/jhc/Jhc/Handle.hs lib/jhc/Jhc/ForeignPtr.hs lib/jhc/Jhc/Type/C.hs lib/jhc/Jhc/Type/Ptr.hs lib/jhc/Jhc/Type/Basic.hs lib/jhc/Jhc/Type/Handle.hs lib/jhc/Jhc/Type/Float.hs lib/jhc/Jhc/Type/Word.hs lib/jhc/Jhc/ACIO.hs lib/jhc/Jhc/JumpPoint.hs lib/jhc/Jhc/Int.hs lib/jhc/Jhc/Class/Real.hs lib/jhc/Jhc/Class/Ord.hs lib/jhc/Jhc/Class/Num.hs lib/jhc/Jhc/Float.hs lib/jhc/Jhc/Text/Read.hs lib/jhc/Jhc/Num.m4 lib/jhc/Jhc/List.hs lib/jhc/Jhc/Enum.hs lib/jhc/Jhc/IO.hs lib/jhc/Jhc/Order.m4 lib/jhc/Jhc/Monad.hs lib/jhc/Jhc/Addr.hs lib/jhc/Jhc/Basics.hs lib/jhc/Jhc/Num.hs lib/jhc/Jhc/Tuples.hs lib/jhc/System/IO/Unsafe.hs lib/jhc/System/Mem/StableName.hs lib/jhc/System/C/Stdio.hs lib/jhc/System/Mem.hs lib/jhc/Prelude/CType.hs lib/jhc/Prelude/Text.hs lib/jhc/Prelude/Float.hs lib/jhc/Prelude/IO.hs lib/jhc/Foreign/Ptr.hs lib/jhc/Foreign/Storable.hs lib/jhc/Foreign/C/String.hs lib/jhc/Foreign/C/Types.hs lib/jhc/Foreign/C/Error.hs lib/jhc/Foreign/Storable.m4 lib/jhc/Foreign/Marshal/Alloc.hs lib/jhc/Foreign/Marshal/Utils.hs lib/jhc/Foreign/Marshal/Array.hs lib/jhc/jhc.yaml lib/jhc-prim/jhc-prim.yaml lib/jhc-prim/Jhc/Prim/Bits.hs lib/jhc-prim/Jhc/Prim/Prim.hs lib/jhc-prim/Jhc/Prim/Rts.hs lib/jhc-prim/Jhc/Prim/Array.hs lib/jhc-prim/Jhc/Prim/IO.hs lib/jhc-prim/Jhc/Prim/Wrapper.hs lib/haskell2010/haskell2010.yaml.m4 lib/ext/bytestring.patch lib/ext/smallcheck.cabal lib/ext/parsec.cabal lib/ext/containers.cabal lib/ext/utility-ht.cabal lib/ext/html.cabal lib/ext/filepath.cabal lib/ext/bytestring.yaml lib/ext/pretty.cabal lib/ext/HUnit.cabal lib/ext/transformers.cabal lib/ext/deepseq.cabal lib/ext/xhtml.cabal lib/ext/Diff.cabal lib/ext/containers.patch lib/ext/QuickCheck.cabal lib/ext/safe.cabal lib/LICENSE source-repository head type: git location: https://github.com/ajhc/ajhc.git library hs-source-dirs: src default-language: Haskell98 c-sources: src/StringTable/StringTable_cbits.c src/cbits/md5sum.c src/cbits/lookup3.c include-dirs: src/data, src/StringTable, src/cbits, src build-depends: base >= 4.0 && < 5, HsSyck, array, binary, bytestring, containers, cpphs, directory, fgl, filepath, haskeline, mtl, old-time, pretty, process, random, regex-compat, syb, temporary, utf8-string, zlib if os(windows) build-depends: Win32 else build-depends: unix exposed-modules: C.FFI C.FromGrin2 C.Generate C.Prims Cmm.Number Cmm.Op Cmm.OpEval DataConstructors DerivingDrift.DataP DerivingDrift.Drift DerivingDrift.RuleUtils DerivingDrift.StandardRules Doc.Attr Doc.Chars Doc.DocLike Doc.PPrint Doc.Pretty 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.Supply Fixer.VMap FlagDump FlagOpts 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 FrontEnd.Syn.Options FrontEnd.Syn.Traverse 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.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.Binary Ho.Build Ho.Collected Ho.Library Ho.ReadSource Ho.Type Info.Binary Info.Info Info.Properties Info.Types Interactive Name.Binary Name.Id Name.Name Name.Names Name.Prim Name.VConsts Options PackedString RawFiles Stats StringTable.Atom 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.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.Config Version.Version other-modules: Paths_ajhc default-extensions: BangPatterns, TypeFamilies, ViewPatterns, UndecidableInstances, OverlappingInstances, RecordWildCards, RecursiveDo, TupleSections, ParallelListComp, GeneralizedNewtypeDeriving, ScopedTypeVariables, FlexibleInstances, TypeSynonymInstances, MultiParamTypeClasses, DeriveDataTypeable, NoMonoLocalBinds, NamedFieldPuns, ForeignFunctionInterface, UnliftedFFITypes, ImplicitParams, UnboxedTuples, StandaloneDeriving, DeriveFunctor, DeriveFoldable, DeriveTraversable, FlexibleContexts, ConstrainedClassMethods, FunctionalDependencies, MagicHash, PolymorphicComponents, ExistentialQuantification, UnicodeSyntax, PostfixOperators, PatternGuards, LiberalTypeSynonyms, RankNTypes, TypeOperators, EmptyDataDecls, KindSignatures ghc-options: -W -fno-warn-unused-matches -fwarn-type-defaults -i./src cc-options: -std=c99 cpp-options: -DUSE_HASKELINE -DWITH_CABAL executable ajhc main-is: Main.hs hs-source-dirs: src_main default-language: Haskell98 build-depends: base >= 4.0 && < 5, HsSyck, array, binary, bytestring, containers, directory, fgl, filepath, haskeline, mtl, old-time, pretty, process, random, regex-compat, syb, temporary, utf8-string, zlib, ajhc if os(windows) build-depends: Win32 else build-depends: unix ghc-options: -W -fno-warn-unused-matches -fwarn-type-defaults cc-options: -std=c99 cpp-options: -DUSE_HASKELINE -DWITH_CABAL executable jahm main-is: Main.hs hs-source-dirs: src_jahm default-language: Haskell98 build-depends: base >= 4.0 && < 5, HTTP, bytestring, filepath, network, pretty, process, directory, ajhc if !os(windows) build-depends: unix other-modules: Distribution.Client.HttpUtils Distribution.Compat.CopyFile Distribution.Compat.Exception Distribution.Compat.TempFile Distribution.Simple.Utils Distribution.Text Distribution.Verbosity