changeset 46:55572bb15623

Added iterative fib example
author Mike Pavone <pavone@retrodev.com>
date Fri, 13 Jul 2012 00:25:07 -0700
parents 2a9c6eed0c70
children cd41f7c22fcd
files samples/iterfib.tp
diffstat 1 files changed, 31 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/samples/iterfib.tp	Fri Jul 13 00:25:07 2012 -0700
@@ -0,0 +1,31 @@
+#{
+true <- #{
+  if:else <- :self trueblock :elseblock {
+    trueblock:
+  }
+}
+
+false <- #{
+  if:else <- :self trueblock :elseblock {
+    elseblock:
+  }
+}
+
+fib <- :n {
+  last <- 0
+  cur <- 1
+  counter <- 0
+  while: { counter < n } do: {
+  	counter <- counter + 1
+  	tmp <- last
+  	last <- cur
+  	cur <- last + tmp
+  }
+  cur
+}
+
+main <- {
+  print: (string: (fib: 30)) . "\n"
+}
+
+}