view src/kernel.tp @ 208:a1b4a2bc8d72

Initial work on pattern match macrosfor the new parser
author Mike Pavone <pavone@retrodev.com>
date Fri, 22 Nov 2013 19:37:25 -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
}