MyNixOS website logo
Description

Prelude replacement.

Features

No more String

String is removed in favor of lazy Data.Text.Lazy.Text.

No more Num

The Num typeclass is now just for types which can be converted from integer literals.

Semigroups

Semigroups are now in scope by default, as well as some useful wrappers.

Semirings

A Semiring has the operations + and *, and the members one and zero. Bool is a Semiring, as is Integer, etc. Num is not a superclass of Semiring.

Sensibly strict

Several functions, such as foldl, sum, product, etc. are strict as default.

No unnecessary Monads

Functions such as Control.Monad.sequence, Control.Monad.>>, and Control.Monad.replicateM are removed in favor of the equivalent sequenceA, *>, and replicateA on Applicatives.

Fewer partial functions

Functions like head, last, minimum, etc. now return Nothing when called on empty structures. tail and init return empty lists when called on empty lists.

Data structures

Map and Set (the strict variants) are now in scope by default, with a minimal, non-colliding aliased api.

Transformers

State is now in scope by default.

Debugging

Handy functions like trace, traceShow, and notImplemented are in scope by default. They give warnings when used so they can't be forgotten.

Other handy functions

An O(n*log n)nub, foldr2, converge, bool, and others.

Metadata

Version

0.1.0.0

License

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows