Module Relude
Relude is an alternative standard library (a "prelude") written in Reason and compiled with the BuckleScript compiler. It builds on the category theory foundation provided by Bastet, and provides a larger collection of types and utility function specialized for those types.
The Relude
module serves as a namespace containing all other modules in a convenient hierarchy. This allows you to use Relude.Array
without shadowing the Array
module provided by the OCaml stdlib.
In many cases, however, you will want to shadow the existing stdlib modules with their Relude equivalents. In this case, you could open Relude;
but doing so may shadow more than you want (e.g. the Js
module provided by BuckleScript will also be shadowed). See Relude.Globals
for a better solution.
Primitives
module Bool = Relude_Bool;
module Decimal = Relude_Decimal;
module Float = Relude_Float;
module Function = Relude_Function;
module Int = Relude_Int;
module String = Relude_String;
module Tuple = Relude_Tuple;
module Tuple2 = Relude_Tuple2;
module Tuple3 = Relude_Tuple3;
module Tuple4 = Relude_Tuple4;
module Tuple5 = Relude_Tuple5;
module Unit = Relude_Unit;
module Void = Relude_Void;
Collections
module Array = Relude_Array;
module ArrayZipper = Relude_ArrayZipper;
module HList = Relude_HList;
module HMap = Relude_HMap;
module List = Relude_List;
module ListZipper = Relude_ListZipper;
module Map = Relude_Map;
module Nea = Relude_NonEmpty.Array;
module Nel = Relude_NonEmpty.List;
module NonEmpty = Relude_NonEmpty;
module NonEmptyArray = Relude_NonEmpty.Array;
module NonEmptyList = Relude_NonEmpty.List;
module Sequence = Relude_Sequence;
module SequenceZipper = Relude_SequenceZipper;
module Set = Relude_Set;
module StringMap = Relude_StringMap;
module Tree = Relude_Tree;
module TreeZipper = Relude_TreeZipper;
Containers
module AsyncData = Relude_AsyncData;
module AsyncResult = Relude_AsyncResult;
module Cont = Relude_ContT.Cont;
module ContT = Relude_ContT;
module Free = Relude_Free;
module IO = Relude_IO;
module Ior = Relude_Ior;
module Option = Relude_Option;
module OptionT = Relude_OptionT;
module Reader = Relude_ReaderT.Reader;
module ReaderT = Relude_ReaderT;
module Result = Relude_Result;
module ResultT = Relude_ResultT;
module RIO = Relude_RIO;
module RWST = Relude_RWST;
module State = Relude_StateT.State;
module StateT = Relude_StateT;
module Validation = Relude_Validation;
module Writer = Relude_WriterT.Writer;
module WriterLog = Relude_WriterT.WriterLog;
module WriterT = Relude_WriterT;
Type Class Helpers
module Eq = Relude_Eq;
module Extensions = Relude_Extensions;
module Interface = Relude_Interface;
module Ord = Relude_Ord;
module Ordering = Relude_Ordering;
Utilities and Interop
module Debounce = Relude_Debounce;
module Identity = Relude_Identity;
module Js = Relude_Js;
module Throttle = Relude_Throttle;
module Timer = Relude_Timer;
module Unsafe = Relude_Unsafe;
Special Namespace
module Globals = Relude_Globals;