Time for an 2014 update…

This commit is contained in:
Ingy döt Net 2014-01-17 05:32:22 +00:00
parent 372c577f83
commit 09687c4926
2520 changed files with 34227 additions and 7318 deletions

View file

@ -0,0 +1,18 @@
@Canonical
@TupleConstructor(force = true)
@ToString(includeNames = true)
class Point {
Point(Point p) { x = p.x; y = p.y }
void print() { println toString() }
Number x
Number y
}
@Canonical
@TupleConstructor(force = true)
@ToString(includeNames = true, includeSuper = true)
class Circle extends Point {
Circle(Circle c) { super(c); r = c.r }
void print() { println toString() }
Number r
}

View file

@ -0,0 +1,8 @@
def p = new Point(x: 3, y: 4)
def c = new Circle(x: 4, y: 3, r: 5)
[(p): new Point(p), (c): new Circle(c)].each { v1, v2 ->
print "Verifying $v1 == "
v2.print()
assert v1 == v2
}

View file

@ -0,0 +1,30 @@
import Base.print
type Point
x::Float64
y::Float64
end
print(p::Point) = println("Point($(p.x), $(p.y))")
x(p::Point) = p.x
y(p::Point) = p.y
setx(p::Point, x) = (p.x = x)
sety(p::Point, y) = (p.y = y)
type Circle
x::Float64
y::Float64
r::Float64
end
x(c::Circle) = c.x
y(c::Circle) = c.y
r(c::Circle) = c.r
setx(c::Circle, x) = (c.x = x)
sety(c::Circle, y) = (c.y = y)
setr(c::Circle, r) = (c.r = r)
print(c::Circle) = println("Circle($(c.x), $(c.y), $(c.r))")