On Fri, Jun 26, 2009 at 05:38:30PM +0200, pugs-comm...@feather.perl6.nl wrote:
> [Spec] treat all authors equally > [Spec] make whitespace unugly > [Spec] rename Date to Created > [Spec] separate header things you edit from Created and one stowaway: > +=head2 Abstract vs Concrete types [Conjectural] > + > +For any named type, certain other types may automatically be derived > +from it by appending an appropriate adverbial to its name: > + > + Int:A Allow either defined or undefined Int values > + Int:U Allow only undefined (abstract) Int values > + Int:D Allow only defined (concrete) Int values > + > +That is, these are equivalent: > + > + Int:A Any where Int > + Int:U Int where !*.defined > + Int:D Int where *.defined > + > +A bare C<Int> may default differently in different circumstances. > +In a variable declaration, C<:A> is assumed, whereas in a formal > +parameter that is not an invocant, C<:D> is assumed. > + Nicholas Clark