packages feed

Cabal revisions of lol-typing-1.20160822

Hackage metadata revisions edit the .cabal file after upload; each diff below is one revision.

revision 1
-author: Julien Moutinho <julm+lol@autogeree.net>--- bug-reports: http://bug.autogeree.net/lol-build-type: Custom-cabal-version: >= 1.24-category: Language--- data-dir: .--- data-files:-description:- WARNING: this is a research program- written as I learn and explore /type inferencing/:- please understand well by yourself whatever you may take from it;- any question or contribution being welcome :-)- .- This package implements /type inferencing/- by manipulating /type constraints/- through 3 successive phases:- 1. the 'Collect' phase collects them from some expression,- 2. the 'Order' phase modifies the order in which they will be solved,- 3. the 'Solver' phase solves them according to the logic-    of some /type inference rules/.- .- So far, the principles within these phases- are mainly a rewrite of Bastiaan Heeren's- <https://hackage.haskell.org/package/Top Top>,- using my own code conventions and ideals of simplicity.- The most notable change being the use of Roman Cheplyaka's- <https://hackage.haskell.org/package/monad-classes monad-classes>- (a little bit augmented):- to handle the 'Monad' stack building a 'Solver'- (instead of a homegrown machinery I could not understand well).- At this point, only a /bottom-up/ 'Collect', a no-op 'Order'- and a 'Greedy' 'Solver' are implemented, supporting:- /monomorphic types/ ('Monotype'),- /parametric polymorphism/ ('Polytype'),- /type class polymorphism/ ('Class'),- and /type synonyms/ ('Synotype').- The quite understandable thesis of Bastiaan Heeren- explains a lot of this in details:- <http://www.open.ou.nl/bhr/TopQuality.pdf Top Quality Type Error Messages>.- .- The <https://hackage.haskell.org/package/uuagc Attribute Grammar System of Universiteit Utrecht>- is used to demonstrate how to collect /type constraints/ from an expression ('Expr'),- and then how to transform this /implicitely typed/ expression into an /explicitely typed/- <https://hackage.haskell.org/package/lol-calculus lol-calculus> expression- .- See also: the <https://hackage.haskell.org/package/helium helium> compiler.-extra-source-files:-  stack.yaml,-  uuagc_options,-  Language/LOL/Typing/Collect/Grammar.ag,-  Language/LOL/Typing/Expr/Calculus.ag,-  Language/LOL/Typing/Expr/Grammar.ag-extra-tmp-files:-homepage: http://pad.autogeree.net/informatique/lol/-license: GPL-3-license-file: COPYING-maintainer: Julien Moutinho <julm+lol@autogeree.net>-name: lol-typing-stability: experimental-synopsis: Type inferencer for LOL (λω language)-tested-with: GHC==7.10.3-version: 1.20160822--source-repository head-  location: git://git.autogeree.net/lol-  type:     git--Flag dev-  Default:     False-  Description: Turn on development settings.-  Manual:      True--Flag dump-  Default:     False-  Description: Dump some intermediate files.-  Manual:      True--Flag exe-  Default:     False-  Description: Turn on executables.-  Manual:      True--Flag prof-  Default:     False-  Description: Turn on profiling settings.-  Manual:      True--Flag threaded-  Default:     True-  Description: Enable threads.-  Manual:      True--Custom-Setup-  setup-depends:-    base >= 4.6 && < 5-    , Cabal >= 1.24-    , uuagc >= 0.9-    , uuagc-cabal >= 1.0.6.0--Library-  default-extensions: NoImplicitPrelude-  default-language: Haskell2010-  ghc-options: -Wall -fno-warn-tabs-  if flag(dev)-    cpp-options: -DDEVELOPMENT-    ghc-options:-  if flag(dump)-    ghc-options: -ddump-simpl -ddump-stg -ddump-to-file-  if flag(prof)-    cpp-options: -DPROFILING-    ghc-options: -fprof-auto-  exposed-modules:-    Language.LOL.Typing-    Language.LOL.Typing.Collect-    Language.LOL.Typing.Collect.Constraint-    Language.LOL.Typing.Collect.Grammar-    Language.LOL.Typing.Constraint-    Language.LOL.Typing.Constraint.Either-    Language.LOL.Typing.Constraint.Extra-    Language.LOL.Typing.Constraint.Monotype-    Language.LOL.Typing.Constraint.Polytype-    Language.LOL.Typing.Expr-    Language.LOL.Typing.Expr.Calculus-    Language.LOL.Typing.Expr.Common-    Language.LOL.Typing.Expr.Grammar-    Language.LOL.Typing.Expr.Utils-    Language.LOL.Typing.Expr.Write-    Language.LOL.Typing.Lib.Control.Monad.Classes.EffectsFix-    Language.LOL.Typing.Lib.Control.Monad.Classes.Instance-    Language.LOL.Typing.Lib.Control.Monad.Classes.StateFix-    Language.LOL.Typing.Lib.Control.Monad.Classes.StateInstance-    Language.LOL.Typing.Lib.Data.Default-    Language.LOL.Typing.Lib.Data.Empty-    Language.LOL.Typing.Lib.Data.Text.Buildable-    Language.LOL.Typing.Solver-    Language.LOL.Typing.Solver.Class-    Language.LOL.Typing.Solver.Common-    Language.LOL.Typing.Solver.Constraint-    Language.LOL.Typing.Solver.Greedy-    Language.LOL.Typing.Solver.Monad-    Language.LOL.Typing.Solver.Monotype-    Language.LOL.Typing.Solver.Polytype-    Language.LOL.Typing.Type-    Language.LOL.Typing.Type.Class-    Language.LOL.Typing.Type.Kind-    Language.LOL.Typing.Type.Monotype-    Language.LOL.Typing.Type.Polytype-    Language.LOL.Typing.Type.Qualification-    Language.LOL.Typing.Type.Quantification-    Language.LOL.Typing.Type.Substitution-    Language.LOL.Typing.Type.Synotype-    Language.LOL.Typing.Type.Unification-  build-depends:-    base >= 4.6 && < 5-    , containers >= 0.5 && < 0.6-    , ghc-prim-    , lol-calculus-    , monad-classes >= 0.3.1.1-    -- , monad-control-    , parsec >= 3.1.2 && < 4-    -- , peano-    -- , reflection-    , text-    , text-format-    , transformers >= 0.4 && < 0.5-    -- , transformers-base-    , uuagc >= 0.9-    , uuagc-cabal >= 1.0.6.0---test-suite lol-typing-test-  type: exitcode-stdio-1.0-  default-extensions: NoImplicitPrelude-  default-language: Haskell2010-  ghc-options: -Wall -fno-warn-tabs-               -main-is Test-  hs-source-dirs: Language/LOL/Typing-  main-is: Test.hs-  other-modules:-    Expr.Test-    Solver.Test-    Type.Test-  if flag(threaded)-    ghc-options: -threaded -rtsopts -with-rtsopts=-N-  if flag(dev)-    cpp-options: -DDEVELOPMENT-    ghc-options:-  if flag(prof)-    cpp-options: -DPROFILING-    ghc-options: -fprof-auto-  build-depends:-    base >= 4.6 && < 5-    , containers >= 0.5 && < 0.6-    , directory-    , filepath-    , ghc-prim-    , lol-calculus-    , lol-typing-    , monad-classes >= 0.3.1.1-    , tasty >= 0.11-    , tasty-hunit-    , text-    , text-format-    , transformers >= 0.4 && < 0.5+author: Julien Moutinho <julm+lol@autogeree.net>
+-- bug-reports: http://bug.autogeree.net/lol
+build-type: Custom
+cabal-version: >= 1.24
+category: Language
+-- data-dir: .
+-- data-files:
+description:
+ WARNING: this is a research program
+ written as I learn and explore /type inferencing/:
+ please understand well by yourself whatever you may take from it;
+ any question or contribution being welcome :-)
+ .
+ This package implements /type inferencing/
+ by manipulating /type constraints/
+ through 3 successive phases:
+ 1. the 'Collect' phase collects them from some expression,
+ 2. the 'Order' phase modifies the order in which they will be solved,
+ 3. the 'Solver' phase solves them according to the logic
+    of some /type inference rules/.
+ .
+ So far, the principles within these phases
+ are mainly a rewrite of Bastiaan Heeren's
+ <https://hackage.haskell.org/package/Top Top>,
+ using my own code conventions and ideals of simplicity.
+ The most notable change being the use of Roman Cheplyaka's
+ <https://hackage.haskell.org/package/monad-classes monad-classes>
+ (a little bit augmented):
+ to handle the 'Monad' stack building a 'Solver'
+ (instead of a homegrown machinery I could not understand well).
+ At this point, only a /bottom-up/ 'Collect', a no-op 'Order'
+ and a 'Greedy' 'Solver' are implemented, supporting:
+ /monomorphic types/ ('Monotype'),
+ /parametric polymorphism/ ('Polytype'),
+ /type class polymorphism/ ('Class'),
+ and /type synonyms/ ('Synotype').
+ The quite understandable thesis of Bastiaan Heeren
+ explains a lot of this in details:
+ <http://www.open.ou.nl/bhr/TopQuality.pdf Top Quality Type Error Messages>.
+ .
+ The <https://hackage.haskell.org/package/uuagc Attribute Grammar System of Universiteit Utrecht>
+ is used to demonstrate how to collect /type constraints/ from an expression ('Expr'),
+ and then how to transform this /implicitely typed/ expression into an /explicitely typed/
+ <https://hackage.haskell.org/package/lol-calculus lol-calculus> expression
+ .
+ See also: the <https://hackage.haskell.org/package/helium helium> compiler.
+extra-source-files:
+  stack.yaml,
+  uuagc_options,
+  Language/LOL/Typing/Collect/Grammar.ag,
+  Language/LOL/Typing/Expr/Calculus.ag,
+  Language/LOL/Typing/Expr/Grammar.ag
+extra-tmp-files:
+-- homepage: http://pad.autogeree.net/informatique/lol/
+license: GPL-3
+license-file: COPYING
+maintainer: Julien Moutinho <julm+lol@autogeree.net>
+name: lol-typing
+stability: experimental
+synopsis: Type inferencer for LOL (λω language)
+tested-with: GHC==7.10.3
+version: 1.20160822
+x-revision: 1
+
+source-repository head
+  location: git://git.autogeree.net/lol
+  type:     git
+
+Flag dev
+  Default:     False
+  Description: Turn on development settings.
+  Manual:      True
+
+Flag dump
+  Default:     False
+  Description: Dump some intermediate files.
+  Manual:      True
+
+Flag exe
+  Default:     False
+  Description: Turn on executables.
+  Manual:      True
+
+Flag prof
+  Default:     False
+  Description: Turn on profiling settings.
+  Manual:      True
+
+Flag threaded
+  Default:     True
+  Description: Enable threads.
+  Manual:      True
+
+Custom-Setup
+  setup-depends:
+    base >= 4.6 && < 5
+    , Cabal >= 1.24
+    , uuagc >= 0.9
+    , uuagc-cabal >= 1.0.6.0
+
+Library
+  default-extensions: NoImplicitPrelude
+  default-language: Haskell2010
+  ghc-options: -Wall -fno-warn-tabs
+  if flag(dev)
+    cpp-options: -DDEVELOPMENT
+    ghc-options:
+  if flag(dump)
+    ghc-options: -ddump-simpl -ddump-stg -ddump-to-file
+  if flag(prof)
+    cpp-options: -DPROFILING
+    ghc-options: -fprof-auto
+  exposed-modules:
+    Language.LOL.Typing
+    Language.LOL.Typing.Collect
+    Language.LOL.Typing.Collect.Constraint
+    Language.LOL.Typing.Collect.Grammar
+    Language.LOL.Typing.Constraint
+    Language.LOL.Typing.Constraint.Either
+    Language.LOL.Typing.Constraint.Extra
+    Language.LOL.Typing.Constraint.Monotype
+    Language.LOL.Typing.Constraint.Polytype
+    Language.LOL.Typing.Expr
+    Language.LOL.Typing.Expr.Calculus
+    Language.LOL.Typing.Expr.Common
+    Language.LOL.Typing.Expr.Grammar
+    Language.LOL.Typing.Expr.Utils
+    Language.LOL.Typing.Expr.Write
+    Language.LOL.Typing.Lib.Control.Monad.Classes.EffectsFix
+    Language.LOL.Typing.Lib.Control.Monad.Classes.Instance
+    Language.LOL.Typing.Lib.Control.Monad.Classes.StateFix
+    Language.LOL.Typing.Lib.Control.Monad.Classes.StateInstance
+    Language.LOL.Typing.Lib.Data.Default
+    Language.LOL.Typing.Lib.Data.Empty
+    Language.LOL.Typing.Lib.Data.Text.Buildable
+    Language.LOL.Typing.Solver
+    Language.LOL.Typing.Solver.Class
+    Language.LOL.Typing.Solver.Common
+    Language.LOL.Typing.Solver.Constraint
+    Language.LOL.Typing.Solver.Greedy
+    Language.LOL.Typing.Solver.Monad
+    Language.LOL.Typing.Solver.Monotype
+    Language.LOL.Typing.Solver.Polytype
+    Language.LOL.Typing.Type
+    Language.LOL.Typing.Type.Class
+    Language.LOL.Typing.Type.Kind
+    Language.LOL.Typing.Type.Monotype
+    Language.LOL.Typing.Type.Polytype
+    Language.LOL.Typing.Type.Qualification
+    Language.LOL.Typing.Type.Quantification
+    Language.LOL.Typing.Type.Substitution
+    Language.LOL.Typing.Type.Synotype
+    Language.LOL.Typing.Type.Unification
+  build-depends:
+    base >= 4.6 && < 5
+    , containers >= 0.5 && < 0.6
+    , ghc-prim
+    , lol-calculus
+    , monad-classes >= 0.3.1.1
+    -- , monad-control
+    , parsec >= 3.1.2 && < 4
+    -- , peano
+    -- , reflection
+    , text
+    , text-format
+    , transformers >= 0.4 && < 0.5
+    -- , transformers-base
+    , uuagc >= 0.9
+    , uuagc-cabal >= 1.0.6.0
+
+
+test-suite lol-typing-test
+  type: exitcode-stdio-1.0
+  default-extensions: NoImplicitPrelude
+  default-language: Haskell2010
+  ghc-options: -Wall -fno-warn-tabs
+               -main-is Test
+  hs-source-dirs: Language/LOL/Typing
+  main-is: Test.hs
+  other-modules:
+    Expr.Test
+    Solver.Test
+    Type.Test
+  if flag(threaded)
+    ghc-options: -threaded -rtsopts -with-rtsopts=-N
+  if flag(dev)
+    cpp-options: -DDEVELOPMENT
+    ghc-options:
+  if flag(prof)
+    cpp-options: -DPROFILING
+    ghc-options: -fprof-auto
+  build-depends:
+    base >= 4.6 && < 5
+    , containers >= 0.5 && < 0.6
+    , directory
+    , filepath
+    , ghc-prim
+    , lol-calculus
+    , lol-typing
+    , monad-classes >= 0.3.1.1
+    , tasty >= 0.11
+    , tasty-hunit
+    , text
+    , text-format
+    , transformers >= 0.4 && < 0.5