# HG changeset patch # User Mike Pavone # Date 1341775944 25200 # Node ID 96e21f525b78ec92fce0a5a694fa3ad2a0f92e70 # Parent 64f1d516fbfd584769e50f8b109542612c1fd487 Forgot to add kernel.tp diff -r 64f1d516fbfd -r 96e21f525b78 src/kernel.tp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/kernel.tp Sun Jul 08 12:32:24 2012 -0700 @@ -0,0 +1,36 @@ +/* +array <- #{ + new <- { + length <- 0 + #{ + each <- :fun { + repeat: length :idx { + fun: idx (get: idx) + } + } + } + } +} +*/ + +true <- #{ + if:else <- :self trueblock :elseblock { + trueblock: + } +} + +false <- #{ + if:else <- :self trueblock :elseblock { + elseblock: + } +} + +filter <- :arr pred { + output <- arr slice: 0 0 + each: arr :idx el { + if: (pred: el) { + output push: el + } else: {} + } + output +}