Bayle Shanks
9 years ago
Hi, I'm reading thru section "Moves and ducts" of the whitepaper,
http://urbit.org/docs/theory/whitepaper#-moves-and-ducts
I think I understand most everything in that section except the following
paragraph, which I don't understand:
"One card structure that Arvo detects and automatically unwraps is [%meta
vase] - where the vase is the vase of a card. %meta can be stacked up
indefinitely. The result is that vanes themselves can operate internally at
the vase level - dynamically executing code just as Arvo itself does."
Would anyone be interested in explaining that paragraph to me? I think i
just need a wholesale re-explanation of the entire paragraph, but if you
want specific questions: (a) so the construct under discussion means that,
in some place where a card is expected and you have a card, instead of
providing that card, you provide "[%meta [span card]]", where 'span' is the
'span' of card, right? (b) what is the semantics of this, that is, what
does Arvo do differently when it sees [%meta vase] where it expected a
card? (c) perhaps the semantics is to 'quote' the vase of card? i don't see
why you'd need to do that, though (d) so is it correct for me to think of
this as a 'wrapper', in the same sense that Haskell's 'Maybe' "wraps" a
value with either "Just" or "Nothing"? (e) at what point does Arvo
'automatically unwrap' the %meta wrapper, and why is this important (and
why don't the vanes unwrap it themselves)? (f) what does it mean for a vane
to operate "at the vase level"; a vase is just a noun tagged with its span,
right? (g) how does adding this assist vanes to dynamically execute code?
(h) in the absence of %meta, wouldn't vanes already be able to dynamically
execute code just by using Nock instruction 2?
thanks,
bayle
http://urbit.org/docs/theory/whitepaper#-moves-and-ducts
I think I understand most everything in that section except the following
paragraph, which I don't understand:
"One card structure that Arvo detects and automatically unwraps is [%meta
vase] - where the vase is the vase of a card. %meta can be stacked up
indefinitely. The result is that vanes themselves can operate internally at
the vase level - dynamically executing code just as Arvo itself does."
Would anyone be interested in explaining that paragraph to me? I think i
just need a wholesale re-explanation of the entire paragraph, but if you
want specific questions: (a) so the construct under discussion means that,
in some place where a card is expected and you have a card, instead of
providing that card, you provide "[%meta [span card]]", where 'span' is the
'span' of card, right? (b) what is the semantics of this, that is, what
does Arvo do differently when it sees [%meta vase] where it expected a
card? (c) perhaps the semantics is to 'quote' the vase of card? i don't see
why you'd need to do that, though (d) so is it correct for me to think of
this as a 'wrapper', in the same sense that Haskell's 'Maybe' "wraps" a
value with either "Just" or "Nothing"? (e) at what point does Arvo
'automatically unwrap' the %meta wrapper, and why is this important (and
why don't the vanes unwrap it themselves)? (f) what does it mean for a vane
to operate "at the vase level"; a vase is just a noun tagged with its span,
right? (g) how does adding this assist vanes to dynamically execute code?
(h) in the absence of %meta, wouldn't vanes already be able to dynamically
execute code just by using Nock instruction 2?
thanks,
bayle
--
You received this message because you are subscribed to the Google Groups "urbit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to urbit-dev+***@googlegroups.com.
To post to this group, send email to urbit-***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
You received this message because you are subscribed to the Google Groups "urbit" group.
To unsubscribe from this group and stop receiving emails from it, send an email to urbit-dev+***@googlegroups.com.
To post to this group, send email to urbit-***@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.