packages feed

type-level-tf-0.2.1: type-level-tf.cabal

name:           type-level-tf
version:        0.2.1
license:        BSD3
license-file:   LICENSE
copyright:      
 Copyright (c) 2010 Corey O'Connor
 Copyright (c) 2008 Alfonso Acosta, Oleg Kiselyov, Wolfgang Jeltsch
                    and KTH's SAM group
               2008 Benedikt Huber (Rewrite using type families)
author:         Corey O'Connor, Alfonso Acosta
homepage:       https://github.com/coreyoconnor/type-level-tf
maintainer:     coreyoconnor@gmail.com
stability:      alpha
synopsis:       Type-level programming library (type families)
description:

 This library permits performing computations on the type-level. Type-level 
 functions are implemented using functional dependencies of multi
 parameter type classes. 

 To date, Booleans and Numerals (Naturals and Positives) are
 supported. With regard to Numerals, there is support for common
 arithmetic operations (addition, substraction, multiplication,
 division, exponientation, logarithm, maximum, comparison, GCD) 
 over natural numbers (using a decimal representation to make 
 compile-time errors friendlier).

 Although making use of type-level computations might seem devious and
 obfuscated at first sight, it is indeed useful in practice to implement 
 lightweight dependent types such us number-parameterized types (e.g. an array 
 type parameterized by the array's size or a modular group type Zn 
 parameterized by the modulus).

category:       Data
tested-with:    GHC==6.9.0, GHC==6.12.0, GHC==7.2.1
cabal-version:  >= 1.6
build-type:     Simple

source-repository head
    type:       git
    location:   git://github.com/coreyoconnor/type-level-tf.git

Library
  build-depends:   base == 4.*, template-haskell > 2.0, syb
  hs-source-dirs:  src
  exposed-modules: Data.TypeLevel,
                   Data.TypeLevel.Bool,
                   Data.TypeLevel.Num,
                   Data.TypeLevel.Num.Reps,
                   Data.TypeLevel.Num.Aliases,
                   Data.TypeLevel.Num.Sets,
                   Data.TypeLevel.Num.Ops,
                   Data.TypeLevel.Num.Aliases.TH