strict-types-0.1.0.4: A type level predicate ranging over strict types

Safe HaskellNone
LanguageHaskell2010

Type.Strict

Description

Type constraints and patterns for strict types.

Synopsis

Documentation

type family Strict a :: Constraint where ... Source #

A closed predicate that is satisfied only by strict types.

A type T is strict if

∀x :: T . rnf x = ⊥ <=> rwhnf x = ⊥

Requires undecidable instances. Experimental (and inefficient) support for mutually recursive groups of types.

Equations

Strict d = StrictType '[d] d 

pattern IsStrict :: forall a. Strict a => a -> a Source #

A pattern that matches strict types