Source

type-level-numbers / type-level-numbers.cabal

Name:           type-level-numbers
Version:        0.1
Cabal-Version:  >= 1.6
License:        BSD3
License-File:   LICENSE
Author:         Alexey Khudyakov <alexey.skladnoy@gmail.com>
Maintainer:     Alexey Khudyakov <alexey.skladnoy@gmail.com>
Homepage:       
Category:       Type System
Build-Type:     Simple
Synopsis:       
  Type level numbers implemented using type families.
Description:
  This is type level numbers implemented using type families. Natural
  numbers use binary encoding. With default context stack numbers up
  to 2^18-1 coudl be represented. Signed integer numbers use balanced ternary
  encoding.
  .
  Package is structured as folows:
  .
  * [@TypeLevel.Number.Classes@] contain generic type families such as Add
  .
  * [@TypeLevel.Number.Nat@] natural numbers implemented using binary encoding
  .
  * [@TypeLevel.Number.Int@] signed integers implemented using balanced
    ternary encoding
  .
  * [@TypeLevel.Boolean@] type level booleans
  .
  So far comparison of numbers, subtraction and multiplication of
  numbers are supported.

source-repository head
  type:     hg
  location: http://bitbucket.org/Shimuuar/type-numbers

Library
  Build-Depends:   base >=3 && <5,
                   template-haskell > 2.0
  Exposed-modules: TypeLevel.Number.Classes
                   TypeLevel.Number.Nat
                   TypeLevel.Number.Nat.Num
                   TypeLevel.Number.Int
                   TypeLevel.Boolean
                   TypeLevel.Reify
  Other-modules:   TypeLevel.Number.Nat.Types
                   TypeLevel.Number.Nat.TH
                   TypeLevel.Number.Int.Types
                   TypeLevel.Util