annotate samples/iterfib.tp @ 68:3a169ebb3224

Change strategy for handling true and false to avoid some initialization order problems and improve performance. Add support for negative integer literals. Update samples to reflect true/false change.
author Mike Pavone <pavone@retrodev.com>
date Sat, 14 Jul 2012 16:14:01 -0700
parents 55572bb15623
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
46
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
1 #{
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
2
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
3 fib <- :n {
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
4 last <- 0
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
5 cur <- 1
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
6 counter <- 0
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
7 while: { counter < n } do: {
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
8 counter <- counter + 1
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
9 tmp <- last
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
10 last <- cur
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
11 cur <- last + tmp
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
12 }
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
13 cur
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
14 }
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
15
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
16 main <- {
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
17 print: (string: (fib: 30)) . "\n"
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
18 }
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
19
55572bb15623 Added iterative fib example
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
20 }