-- | This module provides type info for use by the Programatica front-end. -- The functions are defined in the OH run-time system and the OH compiler has -- builtin strictness information to be able to generate efficient code.
module Builtin where foreign import chr :: Int -> Char foreign import ord :: Char -> Int foreign import eqInt :: Int -> Int -> Bool foreign import lteInt :: Int -> Int -> Bool foreign import eqChar :: Char -> Char -> Bool foreign import lteChar :: Char -> Char -> Bool foreign import (+) :: Int -> Int -> Int foreign import (-) :: Int -> Int -> Int foreign import (*) :: Int -> Int -> Int foreign import rem :: Int -> Int -> Int foreign import quot :: Int -> Int -> Int foreign import negate :: Int -> Int foreign import signumInt :: Int -> Int foreign import orInt :: Int -> Int -> Int foreign import andInt :: Int -> Int -> Int foreign import xorInt :: Int -> Int -> Int foreign import shiftLInt :: Int -> Int -> Int foreign import shiftRInt :: Int -> Int -> Int -- arithmetic shift right foreign import shiftRWord :: Int -> Int -> Int -- logical shift right foreign import minInt :: Int foreign import maxInt :: Int foreign import maxWord32 :: Int foreign import bitSizeInt :: Int foreign import eqFloat :: Double -> Double -> Bool foreign import lteFloat :: Double -> Double -> Bool foreign import plusFloat :: Double -> Double -> Double foreign import minusFloat :: Double -> Double -> Double foreign import mulFloat :: Double -> Double -> Double foreign import divFloat :: Double -> Double -> Double foreign import signumFloat :: Double -> Double foreign import negateFloat :: Double -> Double foreign import truncFloat :: Double -> Double foreign import roundFloat :: Double -> Double foreign import floorFloat :: Double -> Double foreign import ceilFloat :: Double -> Double foreign import expFloat :: Double -> Double foreign import exp2Float :: Double -> Double foreign import logFloat :: Double -> Double foreign import log2Float :: Double -> Double foreign import sinFloat :: Double -> Double foreign import cosFloat :: Double -> Double foreign import tanFloat :: Double -> Double foreign import intToFloat :: Int -> Double foreign import floatToInt :: Double -> Int foreign import showFloat :: Double -> String foreign import bitSizeFloat :: Int foreign import error :: String -> a foreign import ohc "(E->C->E)" seq :: a -> b -> b