Because of this, methods that should be accessible from everywhere, like
are defined in
Moreover, unless there is an ambiguity with
self, the receiver of a call to these methods is implicitly
Basically it means that the two following instructions are equivalent.
print "Hello World" sys.print "Hello World"
Sys is the class where are defined top-level methods,
i.e. those defined outside of any class like in a procedural language.
Basically it means that
redef class Sys fun foo do print "hello" end
is equivalent with
fun foo print "hello"
As a corollary, in a top-level method,
self (the current receiver) is always