annotate samples/oper_impl.tp @ 245:3590ecca6bc9

Fix handling of unescaped tabs in string literals in new parser
author Mike Pavone <pavone@retrodev.com>
date Mon, 06 Jan 2014 01:03:18 -0800
parents 9820ecd4eed4
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
122
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
1 #{
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
2 pair <- :a b {
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
3 #{
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
4 first <- a
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
5 second <- b
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
6 + <- :other {
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
7 pair: first + (other first) second + (other second)
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
8 }
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
9 }
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
10 }
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
11
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
12 main <- {
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
13 foo <- pair: 5 7
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
14 bar <- pair: 9 23
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
15 baz <- foo + bar
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
16 print: ((baz first) string) . "\n"
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
17 print: ((baz second) string) . "\n"
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
18 0
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
19 }
9820ecd4eed4 Add support for implementing operators on user defined objects
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
20 }