annotate samples/fib.tp @ 338:1458c069c715

Added "value" method to option value and option none. It behaves similarly to value:none, except the none case just propagates the none value and the value case wraps the result in an option value
author Michael Pavone <pavone@retrodev.com>
date Sat, 04 Apr 2015 11:54:46 -0700
parents 3a169ebb3224
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
10
02b20292f187 Added fib sample
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
1 #{
02b20292f187 Added fib sample
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
2 fib <- :n {
02b20292f187 Added fib sample
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
3 if: n < 2 {
02b20292f187 Added fib sample
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
4 1
02b20292f187 Added fib sample
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
5 } else: {
02b20292f187 Added fib sample
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
6 (fib: n-1) + (fib: n-2)
02b20292f187 Added fib sample
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
7 }
02b20292f187 Added fib sample
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
8 }
02b20292f187 Added fib sample
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
9
02b20292f187 Added fib sample
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
10 main <- {
44
9dd370530f69 Fix escape codes in string literals. Don't print out the return value of main method. Fixup fib example to use print: method. Cleanup error handling in compiler slightly
Mike Pavone <pavone@retrodev.com>
parents: 10
diff changeset
11 print: (string: (fib: 30)) . "\n"
10
02b20292f187 Added fib sample
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
12 }
02b20292f187 Added fib sample
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
13
02b20292f187 Added fib sample
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
14 }