HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

Modulehxt-9.3.1.22Haskell2010

Control.Arrow.ArrowNF

Arrows for evaluation of normal form results

  • 2 classes
  • 1 value
  • Packagehxt-9.3.1.22
  • Exports3
  • LanguageHaskell2010
  • LicenceMIT
  • SourceArrowNF.hs
valuestrictA :: (Arrow a, NFData b) => a b b
#

complete evaluation of an arrow result using Control.DeepSeq

this is sometimes useful for preventing space leaks, especially after reading and validation of a document, all DTD stuff is not longer in use and can be recycled by the GC.

classclass Arrow a => ArrowNF (a :: Type -> Type -> Type) where
#

Methods

Instances4ArrowNF
  • ArrowNF IOLADefined in hxt-9.3.1.22 · Control.Arrow.IOListArrow
  • ArrowNF LADefined in hxt-9.3.1.22 · Control.Arrow.ListArrow
  • ArrowNF (IOSLA s)Defined in hxt-9.3.1.22 · Control.Arrow.IOStateListArrow
  • ArrowNF (SLA s)Defined in hxt-9.3.1.22 · Control.Arrow.StateListArrow
classclass (Arrow a, ArrowList a) => ArrowWNF (a :: Type -> Type -> Type) where
#

partial evaluation of an arrow result using Control.FlatSeq

There are two arrows with force the partial evaluation. By convention the 2. should be less lazy than the 1.

These arrows are sometimes useful for preventing space leaks, especially when parsing complex data structures. In many cases the evaluated AST is more space efficient than the unevaluaded with a lot of closures.

Methods

Instances4ArrowWNF
  • ArrowWNF IOLADefined in hxt-9.3.1.22 · Control.Arrow.IOListArrow
  • ArrowWNF LADefined in hxt-9.3.1.22 · Control.Arrow.ListArrow
  • ArrowWNF (IOSLA s)Defined in hxt-9.3.1.22 · Control.Arrow.IOStateListArrow
  • ArrowWNF (SLA s)Defined in hxt-9.3.1.22 · Control.Arrow.StateListArrow