Author: wayland Date: 2009-02-26 13:04:15 +0100 (Thu, 26 Feb 2009) New Revision: 25583
Added: docs/Perl6/Spec/S32-setting-library/Callable.pod Modified: docs/Perl6/Spec/S32-setting-library/Containers.pod docs/Perl6/Spec/S32-setting-library/Exception.pod docs/Perl6/Spec/S32-setting-library/IO.pod docs/Perl6/Spec/S32-setting-library/Scalar.pod Log: Lots more stuff in S32. Documented Callable objects, and extended Containers a fair bit. Added little bits elsewhere in S32. Added: docs/Perl6/Spec/S32-setting-library/Callable.pod =================================================================== --- docs/Perl6/Spec/S32-setting-library/Callable.pod (rev 0) +++ docs/Perl6/Spec/S32-setting-library/Callable.pod 2009-02-26 12:04:15 UTC (rev 25583) @@ -0,0 +1,79 @@ +=encoding utf8 + +=head1 Title + +DRAFT: Synopsis 32: Setting Library - Executeable + +=head1 Version + + Author: Tim Nelson <wayl...@wayland.id.au> + Maintainer: Larry Wall <la...@wall.org> + Contributions: Tim Nelson <wayl...@wayland.id.au> + Date: 26 Feb 2009 + Last Modified: 26 Feb 2009 + Version: 1 + +The document is a draft. + +If you read the HTML version, it is generated from the pod in the pugs +repository under /docs/Perl6/Spec/S32-setting-library/Exception.pod so edit it there in +the SVN repository if you would like to make changes. + +This document documents Code, Block, Signature, Capture, Routine, Sub, Method, Submethod, +and Macro. + +=head1 Roles + +=head2 Callable + +role Callable {...} + +The C<Callable> role implies the ability +to support C<< postcircumfix:<( )> >>. + +=head2 Code + +# Base class for all executable objects +role Code {...} + +=head2 Block + +# Executable objects that have lexical scopes +role Block does Code does Callable {...} + +=head2 Signature + +# Function parameters (left-hand side of a binding) +role Signature {...} + +=head2 Capture + +# Function call arguments (right-hand side of a binding) +role Capture does Positional does Associative {...} + +=head1 Classes + +=head2 Routine + +class Routine does Block {...} + +=head2 Sub + +class Sub isa Routine {...} + +=head2 Method + +class Method isa Routine {...} + +=head2 Submethod + +class Submethod isa Routine {...} # XXX or should this be isa Sub + +=head2 Macro + +class Macro isa Routine {...} + +=head1 Additions + +Please post errors and feedback to perl6-language. If you are making +a general laundry list, please separate messages by topic. Property changes on: docs/Perl6/Spec/S32-setting-library/Callable.pod ___________________________________________________________________ Added: svn:mergeinfo + Modified: docs/Perl6/Spec/S32-setting-library/Containers.pod =================================================================== --- docs/Perl6/Spec/S32-setting-library/Containers.pod 2009-02-26 11:05:45 UTC (rev 25582) +++ docs/Perl6/Spec/S32-setting-library/Containers.pod 2009-02-26 12:04:15 UTC (rev 25583) @@ -26,12 +26,22 @@ =head1 Function Roles -This documents List, Seq, Range, Set, Bag, Junction. +=head2 Positional -XXX So where are Seq, Range, Set, Bag? +role Positional {...} +The C<Positional> role implies the ability to support C<< postcircumfix:<[ ]> >>. + +=head2 Associative + +role Associative {...} + +The C<Associative> role implies the ability to support C<< postcircumfix:<{ }> >>. + =head2 Container +role Container {...} + =over =item cat @@ -102,6 +112,8 @@ All these methods are defined in the C<Array> role/class. +role Array does Positional {...} + =over =item shape @@ -252,6 +264,8 @@ The following are defined in the C<List> role/class: +role List does Positional {...} + =over =item cat @@ -549,6 +563,8 @@ The following are defined in the C<Hash> role. +role Hash does Associative {...} + =over 4 =item :delete @@ -638,6 +654,58 @@ =back +=head2 Tieable + +role Tieable {...} + +=head1 Classes + +This documents Buf, List, Seq, Range, Set, Bag, Junction, Array, Hash, KeyHash, KeySet, +KeyBag, Pair, and Mapping. + +XXX So where are they? Especially Set, Bag, KeyHash, KeySet, KeyBag, Pair, +and Mapping. + +=head2 Array + +class Array does Array {...} + +=head2 Seq + +class Seq does Positional {...} + +=head2 Range + +class Range does Positional {...} + +=head2 Buf + +class Buf does Positional {...} + +=head2 Hash + +class Hash does Hash {...} + +=head2 + +class Pair does Associative {...} + +=head2 + +class Mapping does Associative {...} + +=head2 + +class Set does Associative {...} + +=head2 + +class Bag does Associative {...} + +=head2 + +class KeyHash does Associative {...} + =head2 Junction All method calls on Junctions autohread if there's no such method in the Modified: docs/Perl6/Spec/S32-setting-library/Exception.pod =================================================================== --- docs/Perl6/Spec/S32-setting-library/Exception.pod 2009-02-26 11:05:45 UTC (rev 25582) +++ docs/Perl6/Spec/S32-setting-library/Exception.pod 2009-02-26 12:04:15 UTC (rev 25583) @@ -22,7 +22,7 @@ =head1 Roles -role Exception { +role Exception does Positional { # XXX How do we tell the difference between a warning and a fatal error? } Modified: docs/Perl6/Spec/S32-setting-library/IO.pod =================================================================== --- docs/Perl6/Spec/S32-setting-library/IO.pod 2009-02-26 11:05:45 UTC (rev 25582) +++ docs/Perl6/Spec/S32-setting-library/IO.pod 2009-02-26 12:04:15 UTC (rev 25583) @@ -212,6 +212,8 @@ This role represents objects that depend on some external resource, which means that data might not be available at request. +role IO::Streamable does IO {...} + =over =item new() Modified: docs/Perl6/Spec/S32-setting-library/Scalar.pod =================================================================== --- docs/Perl6/Spec/S32-setting-library/Scalar.pod 2009-02-26 11:05:45 UTC (rev 25582) +++ docs/Perl6/Spec/S32-setting-library/Scalar.pod 2009-02-26 12:04:15 UTC (rev 25583) @@ -3,7 +3,7 @@ =head1 Title -DRAFT: Synopsis 32: Setting Library - Miscellaneous Scalars +DRAFT: Synopsis 32: Setting Library - Scalar =head1 Version