summaryrefslogtreecommitdiff
path: root/spec/inputs/teal-lang.mp
blob: 3c9c79b6b23149a98911b556563c10de1e1a6b28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
$ ->
	package.moonpath = "?.mp;./spec/inputs/?.mp"

import "macro-teal" as {$}

$var a, "{string:number}", {value:123}
$var b, "number", a.value

$def add, "(a:number,b:number):number", (a, b)-> a + b

s = add(a.value, b)
print(s)

$record Point, [[
	x: number
	y: number
]]

$field Point, '.', new, "(x: number, y: number):Point", (x, y)->
	$var point, "Point", setmetatable {}, __index: Point
	point.x = x or 0
	point.y = y or 0
	point

$field Point, ":", move, "(dx: number, dy: number)", (dx, dy)=>
	@x += dx
	@y += dy

$var p, "Point", Point.new 100, 100

p\move 50, 50