As every class is itself an object, a class itself has a class, too. This class is an instance of Metaclass
, which inherits from Behavior
. Thus, you can use #compile:
on a class's class for class methods just like you would on a class for instance methods.
A simple example:
An instance method on Number
:
Number compile:
'succ
^ self + 1
'
A class method on Number class
:
Number class compile:
'one
^ self zero + 1
'