diff samples/fibmacro.tp @ 298:647f7a2d253b

Committing a simple macro example I put together a while ago
author Michael Pavone <pavone@retrodev.com>
date Thu, 24 Jul 2014 23:55:59 -0700
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/samples/fibmacro.tp	Thu Jul 24 23:55:59 2014 -0700
@@ -0,0 +1,21 @@
+#{
+fib <- :n {
+	if: n < 2 {
+		1
+	} else: {
+		(fib: n-1) + (fib: n-2)
+	}
+}
+fibm <- macro: :n {
+	eval: n :n {
+		fib: n
+	} else: {
+		quote: (fib: n)
+	}
+}
+
+main <- {
+	print: (string: (fibm: 20)) . "\n"
+}
+
+}