14.11.2012 Views

Curry: An Integrated Functional Logic Language

Curry: An Integrated Functional Logic Language

Curry: An Integrated Functional Logic Language

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!