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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.