packages feed

typeparams-0.0.3.1: typeparams.cabal

Name:                typeparams
Version:             0.0.3.1
Synopsis:            Lens-like interface for type level parameters; allows unboxed unboxed vectors and supercompilation
Description:         
    This library provides a lens-like interface for working with type parameters. In the code:
    .
    > data Example p1 (p2::Config Nat) (p3::Constraint) = Example
    .
    @p1@, @p2@, and @p3@ are the type parameters.  
    .
    Two example uses of this library are for unboxing unboxed vectors and supercompilation-like optimizations.   Please see the <https://github.com/mikeizbicki/typeparams#the-typeparams-library README file on github> for a detailed description and tutorial.  After reading through that, the haddock documentation will make more sense.

Category:            Configuration, Dependent Types, Data, Optimization
License:             BSD3
License-file:        LICENSE
Author:              Mike izbicki
Maintainer:          mike@izbicki.me
Build-Type:          Simple
Cabal-Version:       >=1.8
homepage:            http://github.com/mikeizbicki/typeparams/
bug-reports:         http://github.com/mikeizbicki/typeparams/issues

Library
    Build-Depends:      
        base                >= 4.7 && < 5,
        deepseq             >= 1.3,
        tagged              >= 0.7,
        reflection          >= 1.3,
        constraints         >= 0.3.4,
        primitive           >= 0.5,
        template-haskell    ,
        ghc-prim            ,

        -- examples
        vector              >= 0.10
        
    hs-source-dirs:     
        src

    ghc-options:        
        -fllvm
        -O2
        -funbox-strict-fields

    Exposed-modules:
        Data.Params
        Data.Params.Frac
        Data.Params.PseudoPrim
        Data.Params.Functor
        Data.Params.Vector
        -- Data.Params.Vector.Storable
        -- Data.Params.Vector.StorableRaw
        Data.Params.Vector.Unboxed
        -- Data.Params.Vector.UnboxedRaw

    Extensions:
        FlexibleInstances
        FlexibleContexts
        MultiParamTypeClasses
        FunctionalDependencies
        UndecidableInstances
        ScopedTypeVariables
        BangPatterns
        TypeOperators
        GeneralizedNewtypeDeriving
        TypeFamilies
        StandaloneDeriving
        GADTs
        KindSignatures
        ConstraintKinds
        RankNTypes