data-foldapp alternatives and similar packages
Based on the "Data" category.
Alternatively, view data-foldapp alternatives based on common mentions on social networks and blogs.
-
lens
Lenses, Folds, and Traversals - Join us on web.libera.chat #haskell-lens -
semantic-source
Parsing, analyzing, and comparing source code across many languages -
code-builder
Packages for defining APIs, running them, generating client code and documentation. -
text
Haskell library for space- and time-efficient operations over Unicode text. -
cassava
A CSV parsing and encoding library optimized for ease of use and high performance -
unordered-containers
Efficient hashing-based container types -
compendium-client
Mu (μ) is a purely functional framework for building micro services. -
holmes
A reference library for constraint-solving with propagators and CDCL. -
binary
Efficient, pure binary serialisation using ByteStrings in Haskell. -
resource-pool
A high-performance striped resource pooling implementation for Haskell -
primitive
This package provides various primitive memory-related operations. -
json-autotype
Automatic Haskell type inference from JSON input -
discrimination
Fast linear time sorting and discrimination for a large class of data types -
IORefCAS
A collection of different packages for CAS based data structures. -
reflection
Reifies arbitrary Haskell terms into types that can be reflected back into terms -
dependent-sum
Dependent sums and supporting typeclasses for comparing and displaying them -
audiovisual
Extensible records, variants, structs, effects, tangles -
dependent-map
Dependently-typed finite maps (partial dependent products) -
text-icu
This package provides the Haskell Data.Text.ICU library, for performing complex manipulation of Unicode text. -
orgmode-parse
Attoparsec parser combinators for parsing org-mode structured text! -
streaming
An optimized general monad transformer for streaming applications, with a simple prelude of functions -
protobuf
An implementation of Google's Protocol Buffers in Haskell. -
safecopy
An extension to Data.Serialize with built-in version control -
typerep-map
⚡️Efficient implementation of Map with types as keys -
uuid-types
A Haskell library for creating, printing and parsing UUIDs -
scientific
Arbitrary-precision floating-point numbers represented using scientific notation
Access the most powerful time series database as a service
Do you think we are missing an alternative of data-foldapp or a related project?
README
Data.FoldApp
This package provides a framework for constructing variadic functions as folds over function applications.
For example, a variadic function f
may be reduced like this:
f a b c
≡ foldlApp @(~) f' z a b c
≡ f' (f' (f' z a) b) c
Both left and right associative folds are available.
This module re-exports Data.FoldApp.Identity
which assumes the
identity conversion for arguments. Data.FoldApp.Generic
provides
the generalised folds where a different converter may be given.
Conversion allows for folding over differently-typed arguments by
converting them to a common type.
Data.FoldApp.Function
contains several variadic functions which
may be useful as examples or in your programs.
Folds cannot be defined to return functions. This is because the parameters intended for the returned function become confused with the parameters intended for folding. This weakness can be circumvented by wrapping and unwrapping returned functions with a newtype at the cost of inconvenience.
If a type inference problem arises, you possibly need to provide an annotation for some arguments or an annotation for the return type. For example, without any other typing context the following is ambiguous …
listOf "hello" "sailor!"
… because it is not known how many more arguments should be accepted. An annotation such as the following fixes this problem …
listOf "hello" "sailor!" :: String -> [String]
… saying one more String
argument must be given and a [String]
will be returned.