changeset 33:96e21f525b78

Forgot to add kernel.tp
author Mike Pavone <pavone@retrodev.com>
date Sun, 08 Jul 2012 12:32:24 -0700
parents 64f1d516fbfd
children a10f1b049193
files src/kernel.tp
diffstat 1 files changed, 36 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /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
+}