Previous Up

Appendix B  The Moby Basis

B.1  Pervasives

The pervasive definitions are those modules, types, and values that are available to an Moby program without explicit importing.

B.1.1  Pervasive types

B.1.2  Overloaded operators

B.1.3  Pervasive functions


val ignore : [t] t -> ()

val ! : Bool -> Bool
val == : (Bool, Bool) -> Bool   // overloaded
val != : (Bool, Bool) -> Bool   // overloaded
val < : (Bool, Bool) -> Bool    // overloaded
val <= : (Bool, Bool) -> Bool   // overloaded
val > : (Bool, Bool) -> Bool    // overloaded
val >= : (Bool, Bool) -> Bool   // overloaded

val str : Char -> String
val ord : Char -> Int
val chr : Int -> Char
val succ : Char -> Char          // overloaded
val pred : Char -> Char          // overloaded
val == : (Char, Char) -> Bool   // overloaded
val != : (Char, Char) -> Bool   // overloaded
val < : (Char, Char) -> Bool    // overloaded
val <= : (Char, Char) -> Bool   // overloaded
val > : (Char, Char) -> Bool    // overloaded
val >= : (Char, Char) -> Bool   // overloaded

val + : (String, String) -> String  // overloaded
val concat : List(String) -> String
val length : String -> Int           // overloaded
val == : (String, String) -> Bool   // overloaded
val != : (String, String) -> Bool   // overloaded
val < : (String, String) -> Bool    // overloaded
val <= : (String, String) -> Bool   // overloaded
val > : (String, String) -> Bool    // overloaded
val >= : (String, String) -> Bool   // overloaded

val require : [t] Option(t) -> t
val optional : [t] (Option(t), t) -> t

Figure B.1: Pervasive functions



val << : (Int, Int) -> Int      // overloaded
val >> : (Int, Int) -> Int      // overloaded
val >>> : (Int, Int) -> Int     // overloaded
val | : (Int, Int) -> Int       // overloaded
val & : (Int, Int) -> Int       // overloaded
val + : (Int, Int) -> Int       // overloaded
val - : (Int, Int) -> Int       // overloaded
val * : (Int, Int) -> Int       // overloaded
val / : (Int, Int) -> Int       // overloaded
val % : (Int, Int) -> Int       // overloaded
val - : Int -> Int             // overloaded
val ~ : Int -> Int             // overloaded
val == : (Int, Int) -> Bool    // overloaded
val != : (Int, Int) -> Bool    // overloaded
val < : (Int, Int) -> Bool     // overloaded
val <= : (Int, Int) -> Bool    // overloaded
val > : (Int, Int) -> Bool     // overloaded
val >= : (Int, Int) -> Bool    // overloaded
val abs : Int -> Int           // overloaded
val min : (Int, Int) -> Int     // overloaded
val max : (Int, Int) -> Int     // overloaded
val isNeg : Int -> Bool       // overloaded
val sign : Int -> Int          // overloaded

Figure B.2: Pervasive integer operations



val + : (Flt, Flt) -> Flt      // overloaded
val - : (Flt, Flt) -> Flt      // overloaded
val * : (Flt, Flt) -> Flt      // overloaded
val / : (Flt, Flt) -> Flt      // overloaded
val % : (Flt, Flt) -> Flt      // overloaded
val - : Flt -> Flt             // overloaded
val ~ : Flt -> Flt             // overloaded
val == : (Flt, Flt) -> Bool   // overloaded
val != : (Flt, Flt) -> Bool   // overloaded
val < : (Flt, Flt) -> Bool    // overloaded
val <= : (Flt, Flt) -> Bool   // overloaded
val > : (Flt, Flt) -> Bool    // overloaded
val >= : (Flt, Flt) -> Bool   // overloaded
val abs : Flt -> Flt           // overloaded
val min : (Flt, Flt) -> Flt    // overloaded
val max : (Flt, Flt) -> Flt    // overloaded
val isNeg : Flt -> Bool       // overloaded
val sign : Flt -> Int          // overloaded
val isNAN : Flt -> Bool
val isInf : Flt -> Bool
val ordered : (Flt, Flt) -> Bool
val copySign : (Flt, Flt) -> Flt
val scalb : (Flt, Int) -> Flt
val logb : Flt -> Int
val nextAfter : (Flt, Flt) -> Flt

Figure B.3: Pervasive floating-point operations


B.2  Standard modules


Previous Up