haskellite 0.0.1 haskellite: ^0.0.1 copied to clipboard
Haskell-inspired functionality for Dart
haskellite #
Haskell-like functionality for Dart
Features #
- ✅ Open Source
- ✅ Fully Tested and Documented
- ✅ Lightweight and Fast
- ✅ Pure Dart (no Flutter dependencies)
- ✅ Cross-platform
Types #
Maybe<T>
- Represents a value or the absence of a value.Either<L, R>
- Represents a value of typeL
or a value of typeR
Result<T>
- Represents the result of a computation, either succeeding with a value, or failing with an errorRandomVariable<T>
- Describes a variable with a random component, allowing for lazy evaluation and other utilities (convenient reuse/caching/mocking). Inspired by Haskell's strict handling of randomness
Extensions #
Iterable
head
,tail
,init
,lastMaybe
(to avoid naming conflicts)fold1
- likefold
but without an initial valuescan
andscan1
- likefold
, but returning anIterable
of all intermediate valuesintersperse
- inserts elements in between existing elements
int
1.to(5)
- a replacement for Haskell's[1..5]
1.toInfinity()
- a replacement for Haskell's[1..]
And More #
curry
anduncurry
- easy partial function application in Dartrepeat
andIterable.cycle
- create a list of repeating values
Contributing #
Suggestions, feedback and pull requests welcome at Github