/fool

Functional Object-Oriented Library

Primary LanguageScalaMIT LicenseMIT

fool

Functional Object-Oriented Library: A Scala Standard Library Replacement

Build Status Coverage Status

fool is a (not-ready-for-production) project which aims to cherry pick the good parts of the standard library and kill of the bad parts.

The library aims for better type-safety and the removal of "exception" programming. As such, there will be no unsafe operations like None.get or Nil.head.

Most structures will also be transparently lazy and prefer immutability over mutable structures.

The default list is lazy and printing it will only result in the first element being evaluated, e.g: List(1, ?).

Examples

Ongoing

Considering whether to implement the following structure:

  • Methods added by type classes

  • A choice between different implementations, e.g for interop with cats:

    import fool.cats._

    or for an implementation utilizing views:

    import fool.views._

    or for the default "reasonably lazy" implementation:

    import fool.defaults._