aboutsummaryrefslogtreecommitdiff
path: root/spec/inputs/teal-lang.mp
diff options
context:
space:
mode:
Diffstat (limited to 'spec/inputs/teal-lang.mp')
-rw-r--r--spec/inputs/teal-lang.mp32
1 files changed, 32 insertions, 0 deletions
diff --git a/spec/inputs/teal-lang.mp b/spec/inputs/teal-lang.mp
new file mode 100644
index 0000000..3c9c79b
--- /dev/null
+++ b/spec/inputs/teal-lang.mp
@@ -0,0 +1,32 @@
1$ ->
2 package.moonpath = "?.mp;./spec/inputs/?.mp"
3
4import "macro-teal" as {$}
5
6$var a, "{string:number}", {value:123}
7$var b, "number", a.value
8
9$def add, "(a:number,b:number):number", (a, b)-> a + b
10
11s = add(a.value, b)
12print(s)
13
14$record Point, [[
15 x: number
16 y: number
17]]
18
19$field Point, '.', new, "(x: number, y: number):Point", (x, y)->
20 $var point, "Point", setmetatable {}, __index: Point
21 point.x = x or 0
22 point.y = y or 0
23 point
24
25$field Point, ":", move, "(dx: number, dy: number)", (dx, dy)=>
26 @x += dx
27 @y += dy
28
29$var p, "Point", Point.new 100, 100
30
31p\move 50, 50
32