Created

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist
View a_plus_abs_b.hs
1 2 3 4 5 6 7 8 9 10
add :: Integer -> Integer -> Integer
add (a, b) = a + b;
 
-- Haskell allows me to call the function two ways
 
-- prefix notation
add (1,2) -- 3
 
-- infix notation
1 `add` 2 -- 3
View a_plus_abs_b.hs
1 2 3 4 5 6 7 8 9
function a_plus_abs_b(a, b) {
 
return (b > 0 ? plus : subtract)(a, b);
 
// can't return +; #sadpanda
function plus(a, b) { return a + b; };
// can't return -; #sadpanda
function subtract(a, b) { return a - b; };
}
View a_plus_abs_b.hs
1 2
(define (a-plus-abs-b a b)
((if (> b 0) + -) a b))
View a_plus_abs_b.hs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
(define (a-plus-abs-b a b)
((if (> b 0) + -) a b))
 
(a-plus-abs-b 4 -5) ; returns 9
 
(+ 4 -5) ; returns -1
(- 4 -5) ; returns 9
 
(=
(a-plus-abs-b 4 -5)
(+ 4 -5)) ; False
 
(=
(a-plus-abs-b 4 -5)
(- 4 -5)) ; True
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.