Skip to main content

Acknowledgements

Ribs is built on the shoulders of giants. This project began out of a curiosity of how advanced FP libraries work in the wild so I reviewed implementations from many libraries I've used in Scala and worked on implementing them in Dart. Not only did I learn a lot from them, some of the libraries provide capabilities that don't otherwise exist in the Dart ecosystem (at the time of this writing).

That being said, large portions of Ribs are directly derived from the following libraries:

LibraryDerived Work(s)
scalaIList, IVector, Option, Either and much more
catsValidated, Ref and other effect related implementations
cats-effectIO, Ref and other effect related implementations
cats-retryIO retry capabilities
jawnJSON parser
circeJSON Encoding / Decoding
scodecBitVector, ByteVector, Binary Encoding / Decoding
monocleOptics
sqauntsTypesafe Dimensonal Analysis
dart-checkProperty based testing

In addition to these libraries, additional inspiration/motivation was provided by:

Library
FICAmazing immutable collections library for Dart.
dartzThe OG Dart FP library.
fpdartThe current de-facto FP library for Dart provides an great dev experience.

All of these libraries are worth exploring and represent tremendous value to the entire Dart ecosystem! Much of what Ribs has become is directly possible because of these libraries.