view src/kernel.tp @ 212:32080f96c3a0

Implement matchOne matching macro. Support more AST node types in zeroPlus matching macro.
author Mike Pavone <pavone@retrodev.com>
date Sat, 30 Nov 2013 15:05:24 -0800
parents 96e21f525b78
children
line wrap: on
line source

/*
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
}