From ca2464c9e6efdda864ab20dd4b818c57d0f799d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Payrard?= Date: Tue, 2 Sep 2014 16:37:37 +0200 Subject: [PATCH] S99: more entries --- S99-glossary.pod | 75 ++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 69 insertions(+), 6 deletions(-) diff --git a/S99-glossary.pod b/S99-glossary.pod index bfda8d02e..55bc62b66 100644 --- a/S99-glossary.pod +++ b/S99-glossary.pod @@ -183,12 +183,12 @@ L of type L. Apart the class itself, can be either or that forces an L to give a L value. -The L L C, C and their +The L Ls C, C and their repective higher L C and C forms force a boolean context with and C doing a negation. The L part of a L L forces a boolean context. A class can define a C method to handle the boolean context. -For Ls, within L, it is handled by L member +For Ls, within L, it is handled by C member of the L structure. =head2 bootstrap @@ -236,7 +236,7 @@ Perl 5, Perl 6 and NQP. =head2 capture -A regex can record text that are matched by a certain part of the regex. That +A regex can record substrings of the Led string that are matched capturing parts of the regex. That part (and the matched text) is a capture. For example @@ -246,6 +246,8 @@ For example say $0; # ^^ capture variable } + +C<(I<...>)> is the capture syntax while its non capturing counterpard is the grouping syntax : C<[I<...>]>. =head2 CAS @@ -254,7 +256,14 @@ access. =head2 Category -See L. +In Ls, regex of a L form a category that are distinguished +by their L. That includes the L but also the value +of the L<:sym> adverb. An L is constituted of tokens that belongs +either in the category L or one of the Ls categories. + +A regex definition for one of the term kinds : + + token term:sym { ... } =head2 CFG @@ -347,6 +356,11 @@ See L. =head2 context +A context specifies the kind of value expected from an L. +A context may be L, L, L, +L. +Some L Ls are used to force the context; + =head2 control flow Without control flow statements, a program execution would be purely sequential. @@ -486,6 +500,10 @@ by L. L include a tested subset of the ecosystem. Something that intends to please everyone by catering for everybody's taste, yet in the end pleasing nobody, because nobody is catered for enough. +=head2 empty list + +A list which contains no value. Noted C<()>. + =head2 EPIC FAIL =head2 EVAL @@ -747,6 +765,11 @@ In rakudo the Single Static Assignment form is inferred from the bytecode. =head2 invocant +As a L, +As a L, +In the L C<42.say>, C<42> is the invocant. +When missing, like in C<.say>, the invocant is C<$_>. + =head2 invokedynamic A L that makes possible the support of Cs in L. @@ -867,12 +890,42 @@ See L that has a behavior of its own and that is denoted by +a sigiless name with a non alphanumeric character. +Unlike Perl 5 that has a profusion of magic variables, Perl 6 includes only the +magic variables L, L and L<$!>. They are L Ld and implicitely +defined at the beginning of each block. + +=head2 Match + +L resulting from a L. +In L, gives the positional Ls list. +In L, gives the named L hash. +In L, gives the matched string length. +In L, gives L like any non class object. + =head2 match +A match is an operation that tests a L against a L or a L. +and returns an L of L type in case of success, otherwise a L + +Matching against a C is a special case of L. + +See also L. + =head2 metamodel +The metamodel describe some L behaviors, like where to find a L. +This permits to implement differnent OO behaviors in the same L. +The Perl 6 implementation of the metamodel is called L. +The metamodel should not be confused with the L. + =head2 method +methods are Ls that are called with an L. + =head2 MI Multiple inheritance @@ -966,6 +1019,10 @@ Documentation for this can hypothetically be found in L. An implementation of Perl 6 targeting the .NET platform. +=head2 Nil + +Means there is no value there which is different from C<()>, the L. + =head2 NST No Such Thing. @@ -1404,8 +1461,6 @@ or even C L starting with such a variable. =head2 Single Static Assignment - - =head2 sink context L of an expression which value is ignored. @@ -1423,6 +1478,8 @@ Defining a slang has a cost because it usually involves generating new Cs the space taken by the said tables, it is compilation time cost. Slang is a principled way to create Domain Specific Languages (DSLs). +=head2 smart match + =head2 slurpy =head2 slushy @@ -1765,6 +1822,12 @@ Everybody wants the colon. =head2 ? +=head2 ( + +=head3 () + +L + =head2 * =head2 @_