Hoogle Search
Within LTS Haskell 24.35 (ghc-9.10.3)
Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.
package
type-level-natural-number Simple type level natural numbers This is a simple implementation of type-level natural numbers that only requires DeriveDataTypeable. Operations requiring more language extensions have been split into a separate package. The difference between this package and the many others on Hackage implementing type-level naturals is its emphasis on simplicity. It only supports non-negative natural numbers, and only the successor and predicessor operations. It represents natural numbers using a type-level linked list, so it is not intended to be used for representing large numbers. Pre-defined aliases for natural numbers up to 15 are provided. The code for this package was largely taken from the excellent Vec package; I created this package with the intent of making this functionality more widely available. Difference from 1.0: Added instances for Typeable, and word synonyms for N0...N15. Difference from 1.1: Performance enhancements for naturalNumberAsInt. Simplified Show implementation. Difference from 1.1.1: Gave up on Haskell 2010 compatibility since as of GHC 7.8 manually deriving from Typeable is no longer allowed; now I use DeriveDataTypeable to construct the instances.
-
Type level numbers implemented using type families. This is type level numbers implemented using type families. Natural numbers use binary encoding. With default context stack numbers up to 2^18-1 could 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
-
Type-indexed maps Maps where keys are types and values can have types depending on their keys.
-
Optimize static parts of type-of-html. This library provides the TH-function static to annote which parts of your page are static to dramatically increase performance. It converts and escapes it's argument at compiletime and lifts it to a Proxy Symbol to avoid even appending of Builder.
-
Classes for the rig (sums and products) of types Classes for the rig (sums and products) of types
-
Phantom-Typed version of UUID Please see the README on Github at https://github.com/NorfairKing/typed-uuid#readme
-
Existential witnesses, singletons, and classes for operations on GHC TypeLits This library contains:
- A small specialized subset of the *singletons* library as it pertains to Nat and Symbol, for when you need some simple functionality without wanting to invoke the entire *singletons* library.
- Operations for manipulating these singletons and KnownNat and KnownSymbol instances, such as addition and multiplication of singletons/KnownNat instances.
- Operations for the comparison of Nats in a way that works well with
- GHC.TypeLits*'s different comparison systems. This is helpful for bridging together libraries that use different systems; this functionality is not yet provided by *singletons*.
-
Type level numbers using existing Nat functionality Type level numbers using existing Nat functionality. Uses kind-polymorphic typeclasses and type families to facilitate more general code compatible with existing code using type-level Naturals.
-
Safe timezone-aware handling of time. This package introduces:
-
A simple (but internally ugly) memoization function. A simple (but internally ugly) memoization function.
- New in 0.1.0.1: Make it exception safe.