Skip to content

Instantly share code, notes, and snippets.

@sjoness
Created August 11, 2013 13:09
Show Gist options
  • Save sjoness/6204825 to your computer and use it in GitHub Desktop.
Save sjoness/6204825 to your computer and use it in GitHub Desktop.
-- Filename : middleNumber.hs
-- Version : 1.0
-- Created on : 10/02/2013
-- Last update : 10/02/2013
-- Author : Sam Jones
-- Description : Chapter 6, designing programs in Haskell.
-- re-using the previosuly written maxThree
-- function to figure out and design a way to
-- find the middle value when given 3 integers.
--
-- Load using these commands:
-- $ ghci
-- $ :load maxFour.hs
--
maxThree :: Integer -> Integer -> Integer -> Integer
maxThree x y z = (x `max` y) `max` z
maxFour :: Integer -> Integer -> Integer -> Integer -> Integer
maxFour a b c d = maxThree a b c `max ` d
middleNumber :: Integer -> Integer -> Integer -> Integer
middleNumber x y z
| between y x z = x
| between x y z = y
| otherwise = z
between :: Integer -> Integer -> Integer -> Bool
between m n p = n < p && n > m
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment