Message

← Reference
Io
A Message object encapsulates the action of a message send. Blocks are composed of a Message and its children.

Terminology

Example:
Io> msg := message(A B(C D); E F)
==> A B(C D); E F

In the above example:
msg name            =>  A
msg next            =>  B(C D); E F
msg next arguments  =>  list(C D)
msg next next name  =>  ;
msg next next next  =>  E F
Important: Modifying the message tree of a block currently in use may cause a crash if a garbage collection cycle occurs. If the implementation were changed to retain every called message, this could be avoided. But the cost to performance seems to outweigh the need to cover this case for now.