Skip to content

Instantly share code, notes, and snippets.

@ardcore
Last active March 4, 2016 23:59
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ardcore/a787c036c3ac39e64d5e to your computer and use it in GitHub Desktop.
Save ardcore/a787c036c3ac39e64d5e to your computer and use it in GitHub Desktop.
'use strict';
let assert = (condition) => {
if (!condition) throw new Error('assertion error')
}
let sum = (_,a,b) => a+b
let mul = (_,a,b) => a*b
let sub = (_,a,b) => a-b
let div = (_,a,b) => a/b
let rem = (_,a,b) => a%b
assert( sum`${1} ${2}` == 3 )
assert( mul`${3} ${4}` == 12 )
assert( sub`${6.5} ${3}` == 3.5 )
assert( div`${15} ${3}` == 5 )
assert( rem`${12} ${5}` == 2 )
let result = div`${
sub`${
mul`${
sum`${1} ${2}
`} ${2}
`} ${1}`
} ${2}`
assert( result == (((1+2)*2)-1)/2 )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment