Import functions is done the same way:
func foo(a: Int): Int
import func foo(Int): Int
May be the doc is outdated.The multiple declaration is consistent with assignment:
var w, h = 640, 480
w, h = 640, 680
w, h = getBoundingBox(obj)
The syntax var a = Int: 32
is unusual compared to many other languages because it just use a simple syntax: var id = expr
The type is prefixed only to resolve literals: var a = Int32: 42
var b = Uint8: 42
It can be useful in generic functions: println("The answer is \a", Float32: 42)
But to create uninitialized variables I had to keep the syntax: var id: TypeAgreed on the rest, though I don't understand what the problem would be with recursion. Is it using reference passing also for primitives like integers?
That's what I assumed, but honestly I might have misunderstood the docs. This passage is not very clear:
> Copper manipulates only references to objects. Simple data types such as integers must be seen as references to stateless objects (i.e. objects that have no state in memory).