Module Relude_Globals

This module is intended to be used as a global open (e.g. open Relude.Globals;) to bring the most core/common Relude modules, types, and functions into scope for use in your code.

If you are interested in using a global open for Relude, it's recommended that you globally open this module rather than open Relude, because the core Relude module aliases every module from Relude and its purpose is to serve as a root namespace for the library, not as a module to be globally opened.

We are intentionally shadowing various stdlib/Belt module names here (like Array/List/String), because we feel we have provided enough functionality with the corresponding Relude module that we want to explicitly shadow other similarly-named modules.

For some other modules, like Js we are prefixing our version with R because the Relude Js module is not a replacement for the BuckleScript Js module, it is more an extension to it.

NB: When making changes to this module, keep in mind that you will likely be affecting other people who have globally opened this module, so only expose very core/common things, and be careful about accidental shadowing of module names or functions.

Usage

open Relude.Globals;

let x = List.map(a => a + 2, [1, 2, 3]); // Relude.List
let y = IO.pure(42); // Relude.IO
module Array = Relude_Array;
module ArrayZipper = Relude_ArrayZipper;
module AsyncData = Relude_AsyncData;
module AsyncResult = Relude_AsyncResult;
module Bool = Relude_Bool;
module Eq = Relude_Eq;
module Float = Relude_Float;
module Free = Relude_Free;
module HList = Relude_HList;
module HMap = Relude_HMap;
module Int = Relude_Int;
module IO = Relude_IO;
module Ior = Relude_Ior;
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 Option = Relude_Option;
module OptionT = Relude_OptionT;
module Ord = Relude_Ord;
module Ordering = Relude_Ordering;
module RIO = Relude_RIO;
module RJs = Relude_Js;
module ReaderT = Relude_ReaderT;
module Result = Relude_Result;
module ResultT = Relude_ResultT;
module Sequence = Relude_Sequence;
module SequenceZipper = Relude_SequenceZipper;
module Set = Relude_Set;
module StateT = Relude_StateT;
module String = Relude_String;
module StringMap = Relude_StringMap;
module Tree = Relude_Tree;
module TreeZipper = Relude_TreeZipper;
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 Unsafe = Relude_Unsafe;
module Validation = Relude_Validation;
module Void = Relude_Void;
module WriterLog = Relude_WriterT.WriterLog;
module WriterT = Relude_WriterT;
let (>>): ('a => 'b) => ('b => 'c) => 'a => 'c;
let (<<): ('a => 'b) => ('c => 'a) => 'c => 'b;
let id: 'a => 'a;
let const: 'a => 'b => 'a;
let flip: ('a => 'b => 'c) => 'b => 'a => 'c;
let absurd: Void.t => 'a;
let inverse: bool => bool;