annotate samples/range.tp @ 358:27477c8c2823

Add support for simple type annotations in parser and update llhello sample with a possible new low-level dialect syntax leveraging those annotations
author Michael Pavone <pavone@retrodev.com>
date Fri, 17 Apr 2015 17:50:47 -0700
parents 21e20c9bb2ba
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
343
21e20c9bb2ba Added range module and sample
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
1 #{
21e20c9bb2ba Added range module and sample
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
2 main <- {
21e20c9bb2ba Added range module and sample
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
3 foreach: (range from: 10 to: 20) :idx el {
21e20c9bb2ba Added range module and sample
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
4 print: (string: idx) . ": " . el . "\n"
21e20c9bb2ba Added range module and sample
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
5 }
21e20c9bb2ba Added range module and sample
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
6 sum <- (range from: 0 to: 100 by: 3) fold: 0 with: :acc el {
21e20c9bb2ba Added range module and sample
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
7 acc + el
21e20c9bb2ba Added range module and sample
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
8 }
21e20c9bb2ba Added range module and sample
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
9 print: "Sum of range from: 0 to: 100 by: 3 is " . sum . "\n"
21e20c9bb2ba Added range module and sample
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
10 }
21e20c9bb2ba Added range module and sample
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
11 }