declarator augment

Documentation for declarator augment, assembled from the following types:

language documentation Variables

From Variables

(Variables) declarator augment

With augment, you can add attributes and methods to existing classes and grammars, provided you activated the MONKEY-TYPING pragma first.

Since classes are usually our scoped, and thus global, this means modifying global state, which is strongly discouraged. For almost all situations, there are better solutions.

# don't do this 
use MONKEY-TYPING;
augment class Int {
    method is-answer { self == 42 }
}
say 42.is-answer;       # OUTPUT: «True␤» 

(In this case, the better solution would be to use a function).