by Carl Mäsak
The care and feeding of S29
As I've said before, S29 needs a lot of attention. It's a good resource for the things it covers, but it's also sadly lacking in many places.
Last night I found the time to skim through the synopses in one sitting, looking for functions and methods covered in other synopses but not in S29. My findings divide into "questions" and "omissions".
Questions
- I see the sub version of
defineddeclared in S29. Is the method version (used in S02:519) also in S29? I can't see it, but I might be missing something about how method signatures work. - Should the methods
.newand.clonebe covered by S29? They're slightly different beasts thanabsorpush, but they're still in a sense "builtin functions in Perl 6". - Same question for
BUILDandCREATE. - What about metaclass methods, like
.HOW.methods? Should they be covered in S29? - Should there be a way to extract information about a
Rat's numerator/denominator? What methods does aRathave? - if
:existsand:deleteget honourable mentions as methods, maybe we should have:p,:kv,:kand:vtoo - what's the name of the class that method descriptor objects belong to?
- ditto attribute descriptor objects.
Omissions
Things that no longer are omissions are marked in parentheses with a date and the wonderful person who added it.
isa,does,can(moritz++ 2009-01-05).perl(moritz++ 2009-01-05).succ,.pred(fixed on 2009-01-08)any,all,one,none. these are also methods, onHashfor example. (fixed on 2009-01-08)warn(fixed on 2009-01-08)- The
slicecontextualizer. (S03:1945) (fixed on 2009-01-08) - The
hashcontextualizer. (fixed on 2009-01-08) - The filetest operators. These are covered in S16, so maybe just mention them.
true(),not(), also methodsRangeobjects have.from,.to,.min,.maxand.minmaxmethods (wayland++ 2009-02-27)- .
containsonHashandArray[update: not anymore] Codehas a.sig[update: now unambiguously .signature].ACCEPTSand.REJECTSon most everything -- provided by the Pattern role. Likely a mistake to put one under each section, though. Perhaps put one under Object and put a reference to S03.- The
catcontextualizer (wayland++ 2009-02-27). Objecthas.printand.say.Blocktypes have.next,.last,.redoand.leaveon them. These are also functions, and need to be specced as such. (wayland++ 2009-02-27)Blockalso has a.labelsmethod. (wayland++ 2009-02-27)failand.handled(the former is in S29, but has no signature/summary). (wayland++ 2009-02-27).match,.substand.transfrom S05. (wayland++ 2009-02-27)Matchobjects:.from,.to,.chars,.origand.text. (wayland++ 2009-02-27)- Match state objects:
.pos. (wayland++ 2009-02-27) context()(wayland++ 2009-02-27)..wrap,.unwrapand.assuming(wayland++ 2009-02-27).callsame,callwith,nextsame,nextwith,lastcall.VAR(), though a macro, could possibly get honourable mention. (wayland++ 2009-02-27)- Method descriptor objects:
.name,.signature,.as,.multi,.do. - Attribute descriptor objects: .
name, .type, .scope, .rw, .private, .accessor, .build, .readonly.
I'll see if I can add these during the coming month. A helping tuit or two would be greatly appreciated.