On 30/10/02 08:36 +1100, Damian Conway wrote:
> Brian Ingerson wrote:
>
> > Speaking of persistence, I just realized I'll need to start thinking about
> > YAML serializations of superpositions. My first cut at it would be:
> >
> > ---
> > letters: !super [0, 1, 2]
> > digits: !super
> > - 0
> > - 1
> > - 2
> > ...
>
> Not quite. You also need to discriminate the *type* of the superposition:
Oh right. I was thinking that C<any> and friends were operations, not types.
Oops.
YAML type-URIs are made up of a type-family with an optional format:
!domain.com/type#format
and:
!int
is shorthand for:
!yaml.org/int#dec
So I'm wondering if any|all|one|none can be formats of !super? And if so,
should there be a default format?
> letters: !any [0, 1, 2]
> digits: !all
> - 0
> - 1
> - 2
> names: !one ["Brian", "Ingy", "Mr Inline"]
> sane: !none
> - "Larry"
> - "Damian"
> - "Brian"
> ...
Here are some options:
---
# !yaml.org/any
letters: !any [a, b, c]
# !yaml.org/super#all
digits: !super#all
- 0
- 1
- 2
# !perl.yaml.org/one (Perl specific types)
names: !perl/one [Brian, Ingy, Mr
Inline] # (Yes, this dwims :)
# !perl.yaml.org/super-none (longer type name, no format)
sane: !perl/super-none
- Larry
- Damian
- Brian
...
It might be more forward thinking to allow any|all|one|none into the
yaml.org type repository.
!perl/glob is staying right where it is, thank you ;)
Cheers, Brian