Couple minor m0 thoughts

Aaron Faanes dafrito at
Fri Aug 5 11:36:32 UTC 2011

I was reading the m0 spec and had a couple thoughts/questions as I read:

* The term "x" is used to indicate an argument's value is ignored. In
a few other languages, a single underscore is commonly used for this
purpose. It's a little unusual to see, but I think the underscore
indicates "ignore me" better than x.

* I also noticed that labels cannot begin with underscores (at least,
according to the provided regex). Is this intentional? I know in some
dark corners of the world, prefixing a label/function with underscores
indicates that it's more magical than usual.

* Can copy_mem copy to/from GC memory to sys-allocated memory? I'd
assume so, but I feel that this capability should be made explicit.

* The discussion about registers and the discussion of spilling should
probably be closer together, in a lexical sense, since they seem

* Regarding registers, is it acceptable/possible for a M0 VM to
contain more than 256 registers, to prevent spilling?

Aaron Faanes <dafrito at>

More information about the parrot-dev mailing list