typelet-0.1.4: typelet.cabal
cabal-version: 2.4
build-type: Simple
name: typelet
version: 0.1.4
synopsis: Plugin to faciliate type-level let
description: For a certain class of programs, type-level let is essential
in order to be able to write these programs in such a way
that they do not result in ghc core that is quadratic in
size. Type-level let is not explicitly supported in ghc,
but we can encode it. The @typelet@ library provides a
type-checker plugin that makes the encoding more convenient
to use as well as more effective.
bug-reports: https://github.com/well-typed/typelet/issues
license: BSD-3-Clause
author: Edsko de Vries
maintainer: edsko@well-typed.com
copyright: Well-Typed LLP, Juspay Technologies Pvt Ltd
category: Plugin
extra-source-files: CHANGELOG.md
tested-with: GHC ==8.10.7 || ==9.2.8 || ==9.4.8 || ==9.6.4
source-repository head
type: git
location: https://github.com/well-typed/typelet
library
exposed-modules:
TypeLet
TypeLet.UserAPI
TypeLet.Plugin
other-modules:
TypeLet.Plugin.Constraints
TypeLet.Plugin.GhcTcPluginAPI
TypeLet.Plugin.NameResolution
TypeLet.Plugin.Substitution
build-depends:
, base >= 4.14 && < 4.19
, containers >= 0.6 && < 0.7
, ghc >= 8.10 && < 9.7
, ghc-tcplugin-api >= 0.11 && < 0.12
hs-source-dirs:
src
default-language:
Haskell2010
default-extensions:
DataKinds
DeriveFunctor
FlexibleInstances
GADTs
KindSignatures
LambdaCase
MultiParamTypeClasses
PolyKinds
RankNTypes
RecordWildCards
ScopedTypeVariables
TupleSections
other-extensions:
CPP
ghc-options:
-Wall
test-suite test-typelet
default-language:
Haskell2010
default-extensions:
DataKinds
FlexibleContexts
FlexibleInstances
GADTs
KindSignatures
MultiParamTypeClasses
PolyKinds
RankNTypes
ScopedTypeVariables
StandaloneDeriving
TypeApplications
TypeFamilies
TypeOperators
UndecidableInstances
type:
exitcode-stdio-1.0
hs-source-dirs:
test
main-is:
TestTypeLet.hs
other-modules:
Test.Infra
Test.Sanity
Test.WithoutPlugin
build-depends:
base
, typelet
, tasty
, tasty-hunit
, tasty-quickcheck
ghc-options:
-Wall