Curry: An Integrated Functional Logic Language
Curry: An Integrated Functional Logic Language
Curry: An Integrated Functional Logic Language
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
enumFromThen n1 n2 = iterate ((n2-n1)+) n1<br />
enumFromTo :: Int -> Int -> [Int] -- [n..m]<br />
enumFromTo n m = if n>m then [] else n : enumFromTo (n+1) m<br />
enumFromThenTo :: Int -> Int -> Int -> [Int] -- [n1,n2..m]<br />
enumFromThenTo n1 n2 m = takeWhile p (enumFromThen n1 n2)<br />
where p x | n2 >= n1 = (x = m)<br />
-- Conversion functions between characters and their ASCII values<br />
ord :: Char -> Int<br />
chr :: Int -> Char<br />
-- Convert a term into a printable representation<br />
show :: a -> String<br />
-- Types of primitive arithmetic functions and predicates<br />
(+) :: Int -> Int -> Int<br />
(-) :: Int -> Int -> Int<br />
(*) :: Int -> Int -> Int<br />
div :: Int -> Int -> Int<br />
mod :: Int -> Int -> Int<br />
( Int -> Bool<br />
(>) :: Int -> Int -> Bool<br />
( Int -> Bool<br />
(>=) :: Int -> Int -> Bool<br />
-- Constraints<br />
-- Equational constraint<br />
(=:=) :: a -> a -> Success<br />
-- Always solvable constraint<br />
success :: Success<br />
-- Concurrent conjunction of constraints<br />
(&) :: Success -> Success -> Success<br />
54