2013-10-27 22:24:23 +00:00
|
|
|
compose = ( f, g ) -> ( x ) -> f g x
|
|
|
|
|
|
|
|
|
|
# Example
|
|
|
|
|
add2 = ( x ) -> x + 2
|
|
|
|
|
mul2 = ( x ) -> x * 2
|
|
|
|
|
|
|
|
|
|
mulFirst = compose add2, mul2
|
|
|
|
|
addFirst = compose mul2, add2
|
2015-02-20 00:35:01 -05:00
|
|
|
multiple = compose mul2, compose add2, mul2
|
2013-10-27 22:24:23 +00:00
|
|
|
|
|
|
|
|
console.log "add2 2 #=> #{ add2 2 }"
|
|
|
|
|
console.log "mul2 2 #=> #{ mul2 2 }"
|
|
|
|
|
console.log "mulFirst 2 #=> #{ mulFirst 2 }"
|
|
|
|
|
console.log "addFirst 2 #=> #{ addFirst 2 }"
|
2015-02-20 00:35:01 -05:00
|
|
|
console.log "multiple 2 #=> #{ multiple 2 }"
|