I was proposing a little "object creation dialect" which let you make objects easily, such as by naming a few fields:
obj: { type name value }
So that would make:
&[object! [
type: ~null~
name: ~null~
value: ~null~
]]
But then scaling up to more features, like being able to inject initializations for things you wanted with GROUP! (without forcing you to use a SET-WORD!), or using a SET-WORD! and then having things after it... or using QUASI-WORD! to say you wanted to initialize the field to trash instead of null:
{
type ('document) ; initialization: no SET-WORD!, just GROUP!
name
public
system
form
~head~ ; alternative way to ask for trash initialization vs. null
body: copy [] ; initialization: no group necessary, just SET-WORD!
parent: ~
first
last
warnings
}
This made me think back to your question:
And wondering how--with the benefit of hindsight--you would answer the "how is it done" question?