funcons-tools-0.2.0.7: manual/Funcons/Core/Values/Primitive/IntegersBuiltin.hs
{-# LANGUAGE OverloadedStrings #-}
module Funcons.Core.Values.Primitive.IntegersBuiltin where
import Funcons.EDSL hiding (integers_)
import qualified Funcons.Operations as VAL
import Funcons.Core.Values.Primitive.BoolBuiltin
library = libFromList [
("integer-add", fromValOp integer_add_ VAL.integer_add_)
, ("int-add", fromValOp integer_add_ VAL.integer_add_)
, ("int-mul", fromValOp integer_multiply_ VAL.integer_multiply_)
, ("integer-multiply", fromValOp integer_multiply_ VAL.integer_multiply_)
, ("integer-divide", fromValOp integer_divide_ VAL.integer_divide_)
, ("int-div", fromValOp integer_divide_ VAL.integer_divide_)
, ("integer-subtract", fromValOp integer_subtract_ VAL.integer_subtract_)
, ("integer-sub", fromValOp integer_subtract_ VAL.integer_subtract_)
, ("integer-power", fromValOp integer_power_ VAL.integer_power_)
, ("int-pow", fromValOp integer_power_ VAL.integer_power_)
, ("integer-list", fromValOp integer_list_ VAL.integer_list_)
, ("integer-modulo", fromValOp integer_modulo_ VAL.integer_modulo_)
, ("integer-absolute-value", fromValOp integer_absolute_value_ VAL.integer_absolute_value_)
, ("integer-abs", fromValOp integer_absolute_value_ VAL.integer_absolute_value_)
, ("decimal-natural", fromValOp decimal_natural_ VAL.decimal_natural_)
, ("natural-predecessor", fromValOp natural_predecessor_ VAL.natural_predecessor_)
, ("nat-pred", fromValOp natural_predecessor_ VAL.natural_predecessor_)
, ("natural-successor", fromValOp natural_successor_ VAL.natural_successor_)
, ("nat-succ", fromValOp natural_successor_ VAL.natural_successor_)
, ("integer-is-less", fromValOp is_less_ VAL.is_less_)
, ("is-less", fromValOp is_less_ VAL.is_less_)
, ("integer-is-greater", fromValOp is_greater_ VAL.is_greater_)
, ("is-greater", fromValOp is_greater_ VAL.is_greater_)
, ("integer-is-greater-or-equal", fromValOp is_greater_or_equal_ VAL.is_greater_or_equal_)
, ("is-greater-or-equal", fromValOp is_greater_or_equal_ VAL.is_greater_or_equal_)
, ("integer-is-less-or-equal", fromValOp is_less_or_equal_ VAL.is_less_or_equal_)
, ("is-less-or-equal", fromValOp is_less_or_equal_ VAL.is_less_or_equal_)
, ("integers", fromNullaryValOp integers_ VAL.integers_)
, ("ints", fromNullaryValOp integers_ VAL.integers_)
, ("integers-from", fromValOp integers_from_ VAL.integers_from_)
, ("from", fromValOp integers_from_ VAL.integers_from_)
, ("integers-up-to", fromValOp integers_up_to_ VAL.integers_up_to_)
, ("up-to", fromValOp integers_up_to_ VAL.integers_up_to_)
]
ints_ = integers_
integers_ = applyFuncon "integers"
integers_from_ = applyFuncon "integers-from"
from_ = applyFuncon "from"
integers_up_to_ = applyFuncon "integers-up-to"
up_to_ = applyFuncon "integers-up-to"
natural_predecessor_, nat_pred_ :: [Funcons] -> Funcons
natural_predecessor_ = applyFuncon "natural-predecessor"
nat_pred_ = applyFuncon "nat-pred"
natural_successor_, nat_succ_ :: [Funcons] -> Funcons
natural_successor_ = applyFuncon "natural-successor"
nat_succ_ = applyFuncon "nat-succ"
int_add_ = FApp "integer-add"
integer_add_ = FApp "integer-add"
integer_multiply_ = FApp "integer-multiply"
integer_divide_ = FApp "integer-divide"
integer_subtract_ = applyFuncon "integer-subtract"
integer_power_ = applyFuncon "integer-power"
integer_power_op vx = sortErr (applyFuncon "integer-power" (fvalues vx))
"integer-power not applied to two integers"
integer_list_ = applyFuncon "integer-list"
integer_modulo_ = applyFuncon "integer-modulo"
integer_mod_ = applyFuncon "integer-modulo"
integer_absolute_value_ = applyFuncon "integer-absolute-value"
decimal_natural_ = FApp "decimal-natural"
is_less_ = applyFuncon "is-less"
integer_is_less_ = applyFuncon "is-less"
is_less_or_equal_ = FApp "is-less-or-equal"
integer_is_less_or_equal_ = FApp "is-less-or-equal"
is_greater_ = FApp "is-greater"
integer_is_greater_ = FApp "is-greater"
is_greater_or_equal_ = FApp "is-greater-or-equal"
integer_is_greater_or_equal_ = FApp "is-greater-or-equal"