-------------------------------------------------------------------------
-- 
--
--        FirstScript.hs
--        Simon Thompson, August 2010.
--
-------------------------------------------------------------------------


module FirstScript where

--      The value size is an integer (Integer), defined to be 
--      the sum of twelve and thirteen.

size :: Integer
size :: Integer
size = Integer
12Integer -> Integer -> Integer
forall a. Num a => a -> a -> a
+Integer
13

--      The function to square an integer.

square :: Integer -> Integer
square :: Integer -> Integer
square Integer
n = Integer
nInteger -> Integer -> Integer
forall a. Num a => a -> a -> a
*Integer
n

--      The function to double an integer.
        
double :: Integer -> Integer
double :: Integer -> Integer
double Integer
n = Integer
2Integer -> Integer -> Integer
forall a. Num a => a -> a -> a
*Integer
n

--      An example using double, square and size.
         
example :: Integer
example :: Integer
example = Integer -> Integer
double (Integer
size Integer -> Integer -> Integer
forall a. Num a => a -> a -> a
- Integer -> Integer
square (Integer
2Integer -> Integer -> Integer
forall a. Num a => a -> a -> a
+Integer
2))