StdOverloaded¶
This module can be imported directly or as a part of the StdEnv module.
It provides definitions for important classes in CLEAN.
Visit StdOverloaded on Cloogle for source code of this module.
Unit classes¶
zero¶
Declaration
// CLEAN
class zero T
where
    zero :: T
Definition
Defines the additive identity on type T.
one¶
Declaration
// CLEAN
class one T
where
    one :: T
Definition
Defines the multiplicative identity on type T.
Manipulation operation classes¶
Negation¶
Declaration
// CLEAN
class ~ T
where
    ~ :: T -> T
Definition
Defines the negation operation on type T.
Slicing¶
Declaration
// CLEAN
class % T
where
    (%) infixl 9 :: T (Int, Int) -> T
Definition
Defines the slicing operation on type T.
Concatenation¶
Declaration
// CLEAN
class +++ T
where
    (+++) infixl 5 :: T T -> T
Definition
Defines the concatenation operation on type T.
Math operation classes¶
Addition¶
Declaration
// CLEAN
class + T
where
    (+) infixl 6 :: T T -> T
Definition
Defines the addition operation on type T.
Subtraction¶
Declaration
// CLEAN
class + T
where
    (-) infixl 6 :: T T -> T
Definition
Defines the subtraction operation on type T.
Multiplication¶
Declaration
// CLEAN
class * T
where
    (*) infixl 7 :: T T -> T
Definition
Defines the multiplication operation on type T.
Division¶
Declaration
// CLEAN
class / T
where
    (/) infixl 7 :: T T -> T
Definition
Defines the division operation on type T.
Reminder division¶
Declaration
// CLEAN
class rem T
where
    (rem) infixl 7 :: T T -> T
Definition
Defines the reminder division operation on type T.
Modulo¶
Declaration
// CLEAN
class mod T
where
    (mod) infixl 7 :: T T -> T
Definition
Defines the modulo operation on type T.
Exponentiation¶
Declaration
// CLEAN
class ^ T
where
    (^) infixl 7 :: T T -> T
Definition
Defines the exponentiation operation on type T.
Math function classes¶
inc¶
Declaration
// CLEAN
class inc T
where
    inc :: T -> T
Definition
Defines unit increment on type T.
dec¶
Declaration
// CLEAN
class dec T
where
    dec :: T -> T
Definition
Defines unit decrement on type T.
gcd¶
Declaration
// CLEAN
class gcd T
where
    gcd :: T T -> T
Definition
Defines the greatest common divisor operation on type T.
lcm¶
Declaration
// CLEAN
class lcm T
where
    lcm :: T T -> T
Definition
Defines the least common multiple operation on type T.
abs¶
Declaration
// CLEAN
class abs T
where
    abs :: T -> T
Definition
Defines the absolute value function on type T.
sign¶
Declaration
// CLEAN
class sign T
where
    sign :: T -> Int
Definition
Defines the sign function on type T.
ln¶
Declaration
// CLEAN
class ln T
where
    ln :: T -> T
Definition
Defines the natural logarithm function on type T.
exp¶
Declaration
// CLEAN
class exp T
where
    exp :: T -> T
Definition
Defines the exponential function on type T.
sqrt¶
Declaration
// CLEAN
class sqrt T
where
    sqrt :: T -> T
Definition
Defines the square root function on type T.
log10¶
Declaration
// CLEAN
class log10 T
where
    log10 :: T -> T
Definition
Defines the base-ten logarithm function on type T.
Trigonometric function classes¶
sin¶
Declaration
// CLEAN
class sin T
where
    sin :: T -> T
Definition
Defines the sine function on type T.
cos¶
Declaration
// CLEAN
class cos T
where
    cos :: T -> T
Definition
Defines the cosine function on type T.
tan¶
Declaration
// CLEAN
class tan T
where
    tan :: T -> T
Definition
Defines the tangent function on type T.
asin¶
Declaration
// CLEAN
class asin T
where
    asin :: T -> T
Definition
Defines the inverse of sine function on type T.
acos¶
Declaration
// CLEAN
class acos T
where
    acos :: T -> T
Definition
Defines the inverse of cosine function on type T.
atan¶
Declaration
// CLEAN
class atan T
where
    atan :: T -> T
Definition
Defines the inverse of tangent function on type T.
sinh¶
Declaration
// CLEAN
class sinh T
where
    sinh :: T -> T
Definition
Defines the hyperbolic sine function on type T.
cosh¶
Declaration
// CLEAN
class cosh T
where
    cosh :: T -> T
Definition
Defines the hyperbolic cosine function on type T.
tanh¶
Declaration
// CLEAN
class tanh T
where
    tanh :: T -> T
Definition
Defines the hyperbolic tangent function on type T.
asinh¶
Declaration
// CLEAN
class asinh T
where
    asinh :: T -> T
Definition
Defines the inverse of hyperbolic sine function on type T.
acosh¶
Declaration
// CLEAN
class acosh T
where
    acosh :: T -> T
Definition
Defines the inverse of hyperbolic cosine function on type T.
atanh¶
Declaration
// CLEAN
class atanh T
where
    atanh :: T -> T
Definition
Defines the inverse of hyperbolic tangent function on type T.
Validator function classes¶
isEven¶
Declaration
// CLEAN
class isEven T
where
    isEven :: T -> Bool
Definition
Defines the isEven function on type T.
isOdd¶
Declaration
// CLEAN
class isOdd T
where
    isOdd :: T -> Bool
Definition
Defines the isOdd function on type T.
Property function classes¶
length¶
Declaration
// CLEAN
class length T
where
    length :: (T a) -> Int
Definition
Defines the length function on type T.
Type conversion function classes¶
toInt¶
Declaration
// CLEAN
class toInt T
where
    toInt :: T -> Int
Definition
Defines conversion from type T to integer.
toReal¶
Declaration
// CLEAN
class toReal T
where
    toReal :: T -> Real
Definition
Defines conversion from type T to real numbers.
toChar¶
Declaration
// CLEAN
class toChar T
where
    toChar :: T -> Char
Definition
Defines conversion from type T to character.
toBool¶
Declaration
// CLEAN
class toBool T
where
    toBool :: T -> Bool
Definition
Defines conversion from type T to Boolean.
toString¶
Declaration
// CLEAN
class toString T
where
    toString :: T -> String
Definition
Defines conversion from type T to string.
fromInt¶
Declaration
// CLEAN
class fromInt T
where
    fromInt :: Int -> T
Definition
Defines conversion from integer to type T.
fromReal¶
Declaration
// CLEAN
class fromReal T
where
    fromReal :: Real -> T
Definition
Defines conversion from real number to type T.
fromChar¶
Declaration
// CLEAN
class fromChar T
where
    fromChar :: Char -> T
Definition
Defines conversion from character to type T.
fromBool¶
Declaration
// CLEAN
class fromBool T
where
    fromBool :: Bool -> T
Definition
Defines conversion from Boolean to type T.
fromString¶
Declaration
// CLEAN
class fromString T
where
    fromString :: String -> T
Definition
Defines conversion from string to type T.
Relational operation classes¶
Equality¶
Declaration
// CLEAN
class == T
where
    (==) infixl 4 :: T T -> T
Definition
Defines the equality operation on type T.
Less than¶
Declaration
// CLEAN
class < T
where
    (<) infixl 4 :: T T -> T
Definition
Defines the less than operation on type T.