Re: Example outline for Section 1
[email protected] (Michael Lazzaro)
| Newsgroups | perl.perl6.documentation |
|---|---|
| Message-ID | <[email protected]> |
On Monday, November 11, 2002, at 12:13 PM, Angel Faus wrote:
> In my opinion, this outline puts too much weight on the first section.
> I would prefer it to be made of just the basic concepts and have
> forward references to the apropiate sections.
Agreed. I was just listing all the *possible* cruft that had to go in
somewhere... if you look at /val.html, you'll see it doesn't even have
half of it.
> A final question: I am afraid I don't know what "implementing type"
> and "overloading implementing type" are about. Could you explain
> them? Thanks.
Assume you have:
my str $a;
my str @b;
my str %c;
this can also (tentatively) be represented as:
my $a;
my @b is Array of str;
my %c is Hash of str;
or, extrapolating:
my $a is Scalar of str;
my @b is Array of str;
my %c is Hash of str;
In other words, each variable has at least two types: the type the
variable "stores" (str) and the type the variable "is" (Scalar, Array,
Hash). It's the latter type that is the "implementing" type.
This is only important because it's presumably possible to declare
Scalars, Arrays, and Hashes that are based on other classes:
class OrderedHash is Hash { ... }
my %c is OrderedHash of str;
.... which gets you functionality very similar to a 'tie', but more
consistent and easier to use.
There's a ton of tricky questions in this that we need to figure out,
(as soon as we get through the first
how-the-heck-will-we-document-things decisions.)
MikeL