Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
class Symbolic c => SymbolicFold c where Source #
:: (Binary (Rep f), NFData (Rep f), Ord (Rep f)) | |
=> (forall a. Binary a => Binary (f a)) | |
=> (Representable f, NFData1 f, Traversable f) | |
=> (Binary (Rep p), Representable p) | |
=> (Binary (Rep g), NFData (Rep g), Ord (Rep g), Representable g) | |
=> (forall a. Binary a => Binary (h a)) | |
=> WitnessField c ~ wc | |
=> (forall s. (SymbolicFold s, BaseField s ~ BaseField c) => s f -> p (WitnessField s) -> s g -> (s f, p (WitnessField s))) | A folding step. See arguments' documentation above. |
-> c f | Initial state layout. |
-> p wc | Initial state payload. |
-> c h | An identifier of a data stream (most likely a hash). |
-> Infinite (g wc) | data stream itself. |
-> c Par1 | A number of folding steps to perform. |
-> (c f, p wc) | Final state layout and payload after folding. |
A function to perform folding in a generic context.
To do this, you need quite a few arguments, see documentation.
Or, even better, use more high-level Symbolic List
API.