Popularity
2.4
Declining
Activity
0.0
Stable
4
2
1
Monthly Downloads: 5
Programming language: Haskell
License: BSD 3-clause "New" or "Revised" License
Tags:
Data
Latest version: v0.0.1.0
recursion-schemes-ix alternatives and similar packages
Based on the "Data" category.
Alternatively, view recursion-schemes-ix alternatives based on common mentions on social networks and blogs.
-
streaming
An optimized general monad transformer for streaming applications, with a simple prelude of functions
InfluxDB - Purpose built for real-time analytics at any scale.
InfluxDB Platform is powered by columnar analytics, optimized for cost-efficient storage, and built with open data standards.
Promo
www.influxdata.com
Do you think we are missing an alternative of recursion-schemes-ix or a related project?
README
recursion-schemes-ix
Recursion schemes over indexed datatypes
Heavily inspired by multirec
, this library uses PolyKinds
and SingI
constraints to achieve the same dependent typing as multirec
.
This library defines the IFunctor
typeclass and recursion-schemes
on IFunctor
s.
Goals:
- Minimal dependencies
- This library depends only on
singlethongs
, which in turn only depends ontemplate-haskell
. As a result, it should be easy to include in any project
- This library depends only on
- GHCJS compatibility
- This package is used in a compiler that I want to be able to run in the browser
- Ease of use
- Once everything is set-up, writing a recursion-scheme should not be
overly complex (looking at you,
mulrirec
)
- Once everything is set-up, writing a recursion-scheme should not be
overly complex (looking at you,
Non-Goals:
- Eliminating boilerplate
- This library requires hand-written
IShow
,IRead
,IEq
,IOrd
,ITraversable
instances. I also recommend writing pattern synonyms to remove theIFix
constructor. Writing these can be a pain, but its only required once for the main data structure, and oneIFunctor
instance whenever you write a dependent recursion-scheme.
- This library requires hand-written
- Speed
- The code in the library mimics the
recurion-schemes
library almost directly, simply lifting everything up from*
tok -> *
. In a future release,INLINE
pragmas will be added and possibly benchmarked.
- The code in the library mimics the
Documentation
Not written, but haddocks on the github user site.