»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend! | Rakudo Star Released!
Set by diakopter on 6 September 2010.
00:16 ash_ joined 00:17 ash_ left 00:18 pmichaud joined, ash_ joined 00:20 ash_ left 00:21 ash_ joined 00:25 Schwern left 00:28 ruoso left
dalek ok: 0d35866 | jest++ | README:
Added info about required texlive-font-util Ubuntu package.
00:33
00:33 dalek left, dalek joined, ChanServ sets mode: +v dalek 00:43 Psyche^ joined, Psyche^ is now known as Patterner 00:52 Patterner left, ruoso joined 00:53 cspencer left 00:55 flussence left, flussence joined 01:07 Italian_Plumber joined 01:10 nymacro joined, meppl left 01:12 meppl joined
sorear diakopter: Why kill dalek@feather? 01:16
Juerd++ #feathe1
01:17 araujo left 01:20 florz left 01:23 araujo joined, araujo left, araujo joined
Juerd Oh, forgot to explicitly mention 01:24
feather1 is back
With half the RAM it had, but we'll see how that works out 01:25
Might not be an issue, given the memory usage drop since svn[web]? was disabled 01:26
colomon Ack, Null PMC access error, but it's in the ABC project, and seems to have something to do with using a pm file.
Juerd++
01:27 florz joined
Juerd Downtime was 30 hours 01:28
sorear Juerd: well, it does mean nobody will be able to build Rakudo on feather anymore
*ducks*
Juerd sorear: How come? Isn't 1200 MB enough?
01:30 Italian_Plumber left
colomon perlcabal is back! \o/ 01:31
01:45 Util left 01:48 Util joined
colomon ooo, think I've got the error golfed. never imagined that would be reasonably possible. 01:49
ooo, ack, just me being stupid. colomon--
01:54 molaf__ joined 02:04 mavrc left
ash_ wooo perl cabal! 02:06
does that mean try.rakudo.org is online?
Util ash_: looks like, no :( 02:12
rakudo: enum eAB <A B>; enum eXY <X Y>; say eAB.enums.perl, eXY.enums.perl;
p6eval rakudo 8827d0: OUTPUT«{"X" => 0, "Y" => 1}{"X" => 0, "Y" => 1}␤»
Util ???
ash_ sad day, i am sure it will get fixed soon
Util Well, that looks like a bug.
sorear ash_: aren't you supposed to fix it? 02:14
seen jnthn 02:19
aloha jnthn was last seen in #perl6 3 hours 33 mins ago saying "So for arrays and hashes it's the type of the value. my Foo &x menas that you want a sub that declares itself as returning foo, because you get a value out of a sub by calling it.".
sorear jnthn: what do you think about S12:936 02:20
ash_ well, the server is not responding to ssh
so... if i can't ssh, i can't get to the box, plus its hosted in the netherlands, it would be fun to visit, but i live in the us 02:21
sorear TimToady: re. S12:1028, do sub foo($x where { $_ %% 2 }) and sub foo($x where { $_ %%2}) have the same long name? 02:22
s:g/sub/multi sub/ 02:23
02:31 synth joined 02:34 meppl left, jaldhar joined 02:42 colomon joined 02:45 fod joined 02:47 fod left 02:50 flatwhatson_ joined
sorear FOSSIL ALERT: S12:1365 03:05
03:08 mtve joined 03:11 envi joined
sorear colomon: I don't really understand how you're seeing durations as roles 03:13
hudnix rakudo: class A is rw {has A $.next}; my A $x .=new; my A $y .= new; $x.next = $y; $y.next=$x; $x.perl.say 03:16
p6eval rakudo 8827d0: OUTPUT«maximum recursion depth exceeded␤ in 'Mu::item' at line 1191:CORE.setting␤ in 'Mu::item' at line 1191:CORE.setting␤ in '&infix:<=>' at line 1␤ in 'Cool::substr' at line 2253:CORE.setting␤ in <anon> at line 1214:CORE.setting␤ in 'Any::join' at line 1␤ in 'Mu::attribs' at 03:17
..line…
hudnix ".perl" doesn't like recursive data structures very much.
nymacro rakudo: class A { has $.b is rw; }; my $c = A.new(); $c.b := $c; say $c.perl; 03:19
p6eval rakudo 8827d0: OUTPUT«maximum recursion depth exceeded␤ in 'Mu::item' at line 1191:CORE.setting␤ in 'Mu::item' at line 1191:CORE.setting␤ in '&infix:<=>' at line 1␤ in 'Cool::substr' at line 2253:CORE.setting␤ in <anon> at line 1214:CORE.setting␤ in 'Any::join' at line 1␤ in 'Mu::attribs' at
..line…
nymacro rakudo: my $c := $c; 03:20
p6eval rakudo 8827d0: ( no output )
nymacro > my $c := $c; Segmentation fault
std: my $c := $c; 03:22
p6eval std 237d266: OUTPUT«ok 00:01 118m␤»
sorear niecza: my $c := $c; $c = 2; say $c; 03:25
p6eval niecza 4f60774: OUTPUT«2␤»
nymacro hmm, mine just segfaults on $c := $c; 03:26
hudnix mine too.
nymacro backtrace has Parrot_ObjectRef_type () recursing ad infinitum 03:27
sorear yeah 03:28
I wouldn't bother reporting a bug, it's not really fixable
an unavoidable limitation of the current implementation 03:29
basically, := in rakudo replaces the LHS with a reference to the the RHS
nymacro yup
sorear what it should do is replace *the specific reference to the LHS* with a reference to the RHS
rakudo: my $a = 1; my $b = 2; my $c = 3; $a := $b; $b := $c; say $a; 03:30
p6eval rakudo 8827d0: OUTPUT«3␤»
sorear niecza: my $a = 1; my $b = 2; my $c = 3; $a := $b; $b := $c; say $a;
p6eval niecza 4f60774: OUTPUT«2␤»
sorear that should make it pretty obvious what's going on
nymacro sorear, yeah. I know what it does; I was just trying to break things :)
sorear my $c := $c creates an infinite recursion as soon as you try to access the variable
03:33 au|irc left 03:47 alester joined 03:56 nymacro left 04:07 buu joined 04:11 agentzh joined 04:53 jferrero left 05:28 araujo left, alester left 05:42 agentzh left 05:44 masonkramer left, masonkramer joined 05:58 Guest23195 joined 06:07 Psyche^ joined, Psyche^ is now known as Patterner 06:53 Ross joined, Ross left, Ross joined
sorear phenny, tell TimToady re. S12:1028, "multi subs with the same long name shadow", do 'multi sub foo($x where { $_ %% 2 })' and 'multi sub foo($x where { $_ % 2 == 0 })' have the same long name? 06:54
phenny sorear: I'll pass that on when TimToady is around.
sorear phenny: tell jnthn I'd like to hear your opinion on S12:936.
phenny sorear: I'll pass that on when jnthn is around.
06:54 Patterner left
sorear phenny: tell moritz_ Now that Substitution is gone, I think S12:1365 is a fossil. 06:55
phenny sorear: I'll pass that on when moritz_ is around.
06:57 Psyche^ joined, Psyche^ is now known as Patterner 07:01 guidjos joined, guidjos left
dalek ecza/master: 747ffe7 | sorear++ | / (2 files):
Use a portable API for low-level list ops
07:06
ecza/master: 2be14a1 | sorear++ | / (8 files):
First real implementation of private methods

They are now stored disjointly from regular methods, and are never inherited or overriden. The $foo!Foo::bar syntax is available for calling private methods from other classes; trusts is not implemented.
07:27 synth left 07:28 kst joined 07:29 synth joined 07:38 kjeldahl joined 08:14 plobsing joined 08:18 flatwhatson_ left 08:25 redicaps joined
sjohnson yo dudes 08:30
+ dudettes
sorear hell 08:33
08:33 ingy left
sjohnson o 08:36
08:36 ingy joined 08:37 ash_ left
sjohnson i wonder how hard it would be to write a cute cipher like blowfish in perl 08:38
08:42 ash_ joined
moritz_ good morning 08:46
phenny moritz_: 06:55Z <sorear> tell moritz_ Now that Substitution is gone, I think S12:1365 is a fossil.
moritz_ sorear: why do you think it's a fossile? it's just a smart-match 08:48
sorear Because s/// generates an immediate call now, and there's no topicalization 08:51
moritz_ when topicalizes
erm, there's no when 08:52
then it probably needs curlies
handles { s/foo/bar/ }
08:56 am0c left 09:01 frodwith joined
moritz_ which-dwarf-are-you.blogspot.com/20...l6_30.html 09:10
09:15 frodwith left 09:16 frodwith joined 09:19 meppl joined 09:26 araujo joined 09:33 icwiener joined
x3nU ok, i've created r* 2010.09 windows installer ;d 09:34
09:36 kiffin joined, tadzik joined, kiffin left 09:37 Italian_Plumber joined 09:40 Helios left
sorear nice 09:49
10:01 redicaps left
x3nU there it is: ftp://x3n.info/pub/apps/win32/x86/rakudo-star/ 10:06
sorear win32/x86 eh 10:09
does nt/mips really count as win32?
x3nU yes
last version of windows for mips was nt4 10:10
which certainly is win32
(nt 3.51, 3.5, 3.1 were 32 too) 10:11
10:20 tadzik left
sorear yeah 10:21
dalek kudo: d2e8634 | ronaldxs++ | build/Makefile.in:
Don't require backticks for smolder submissions

Contains code from flussence++
Signed-off-by: Moritz Lenz [email@hidden.address]
10:23
10:31 PhatEddy joined 10:33 PhatEddy left 10:37 mavrc joined, PhatEddy joined
PhatEddy moritz_: what happened to the part of the patch for win32/backticks for Configure.pl ? Thx. 10:38
moritz_ PhatEddy: oh, I missed that 10:39
PhatEddy If you have any questions please let me know ... 10:40
10:43 envi_ joined
dalek kudo: 7c74c0c | ronaldxs++ | Configure.pl:
Fix git:// URLs on win32; escape %

Signed-off-by: Moritz Lenz [email@hidden.address]
10:45
10:47 envi left, Juerd left 10:48 Juerd joined 10:49 PhatEddy left 11:03 MayDaniel joined 11:33 icwiener_ joined 11:35 icwiener left 11:38 Helios joined 11:39 ash_ left 11:44 xabbu42 joined 11:54 Italian_Plumber left 12:10 mavrc left 12:16 mavrc joined 12:35 risou joined 12:44 zulon joined 12:52 drbean joined 12:57 mberends joined
dalek odel: f3bd7b1 | mberends++ | java/ (5 files):
[java/compiler] generating anonymous funcs to compile the Setting
13:06
13:08 drbean left 13:13 nymacro joined 13:18 Patterner left
moritz_ wow, pugs has a startup time of 0.178s 13:25
au|irc++
13:26 drbean joined 13:29 Psyche^ joined, Psyche^ is now known as Patterner 13:30 leprevost joined 13:44 molaf__ left 13:50 larsen joined 13:51 drbean left
moritz_ just made good use of the if $thing -> $var { } construct 13:53
13:56 larsen left 14:05 drake1 joined, larsen joined
drake1 hello, I bet you were planning perl6 to Squeek! in websites etc. how's the status? 14:05
I would love to add a perl6 object with some animated character 14:07
moritz_ has no idea, what Squeek! is 14:08
drake1 you know like the sound made by a parrot shot by a santa rocket
flussence moritz_: I think he means making it fast 14:09
...enough for direct FCGI, anyway
drake1 easy to distribute VM code objects
ie. cross browser compatible 14:10
and fast 14:11
moritz_
.oO( patches welcome :-)
14:12
drake1 maybe some kind of subclass for the video output task 14:17
better call it studio or stdio 14:18
since the sound and other inputs should be synchronized
14:18 drbean joined 14:19 envi_ left
moritz_ just added SVG output to his Sudoku class 14:21
nymacro just got his blackjack to 406 chars 14:22
14:23 envi joined 14:25 drbean left 14:37 drbean joined
drake1 might be far away 14:41
there's no such thing as a character class for creatures in perl6? 14:42
moritz_ we have character classes... in regexes 14:43
drake1 good point
thank you
perl6 might not be able to do the scene without a world translator 14:44
more than fine 14:46
moritz_ wonders whos fault it is that he doesn't understand most of what drake1 writes
x3nU i've created perl6 syntax definition file for textpad 14:47
drake1 all I thought perl6 would be able to represent a parrot in a native object
x3nU github.com/xenu/perl6-textpad-syntax/ 14:48
moritz_ x3nU++
x3nU it's pretty simple
and probably i forgot to put something in it
moritz_ x3nU: perl6.org/whatever/ has a section on editor support... want to add the link there? 14:49
x3nU why not
moritz_ you have commit access to the perl6.org repo
14:52 leprevost left 14:54 nymacro left
x3nU done 14:55
dalek href="https://perl6.org:">perl6.org: c88e13a | xenu++ | source/whatever/index.html:
added perl6-textpad-syntax
14:57
drake1 leaves with his Grep Awk Sed. Why even make it faster. 14:58
14:58 drake1 left
frettled GAS? 15:00
mberends frettled: perl is also known as awk++ ;) 15:04
15:04 masonkramer left
dalek href="https://perl6.org:">perl6.org: 9b9eef8 | moritz++ | / (2 files):
update README with more guidelines

Also remove unused jquery file
15:07
href="https://perl6.org:">perl6.org: 1cfd841 | moritz++ | page.js:
remove another stale file
frettled mberends: GAPS! 15:08
mberends frettled: GASP! 15:10
moritz_ GRAPES 15:11
frettled moritz_: what's the 'E'?
moritz_ frettled: it's Extensible, of course 15:12
frettled Grep Ruby Awk Sed Extensible Perl?
mberends Escape Meta Alt Control Shift
moritz_ frettled: the R stands for rm, an invaluable tool for software development 15:17
frettled Of course!
How could I mistake it for 'Ruby'! 15:18
15:21 risou left
mberends rm: the Swiss Army annihilator 15:22
jnthn
.oO( Why annihalate the Swiss Army? )
15:23
phenny jnthn: 06:54Z <sorear> tell jnthn I'd like to hear your opinion on S12:936.
15:25 tadzik joined
tadzik 'afternoon 15:26
mberends \o 15:27
15:28 zulon left 15:34 risou joined 15:35 M_o_C joined
moritz_ decides to upgrade his laptop to Debian Squeeze 15:38
15:38 tadzik left
moritz_ "what could possibly go wrong" :-) 15:38
15:39 tadzik joined 15:45 ash_ joined 16:06 zulon joined 16:07 am0c^ left 16:14 cognominal joined 16:17 thowe joined 16:22 justatheory joined 16:28 Grimnir_ joined
dalek p-rx/nom: 77c63c7 | jnthn++ | / (3 files):
Start to build the HOW bits as part of building NQP. Means that one can now write knowhows with attributes in NQP without having to declare an attribute meta-object up front, plus the fledgeling ClassHOW is also getting built.
16:36
p-rx/nom: e33ff5d | jnthn++ | .gitignore:
Update .gitignore to keep status clean.
p-rx/nom: 61e4a50 | jnthn++ | t/nqp/53-knowhow.t:
Some basic tests for knowhow.
16:53 rindolf joined
rindolf Hi all. 16:53
Today I built a new Parrot and Rakudo for Mandriva Cooker. It went relatively painlessly so thanks. 16:54
17:03 risou left 17:04 risou joined 17:08 risou left 17:23 simcop2387 joined
diakopter hi 17:28
tadzik hi
rindolf Hi diakopter , tadzik 17:30
17:33 zulon left
x3nU gorzow.gazeta.pl/gorzow/1,35211,845...lowym.html 17:34
ooops
not that window
17:34 Schwern joined
dalek href="https://perl6.org:">perl6.org: 48dad52 | diakopter++ | source/compilers/index.html:
compilers/index.html updates emailed from putter++ (Mitchell N. Charity)
17:37
17:37 tadzik left 17:41 kjeldahl left
moritz_ diakopter: do you know if mncharity has a github account? if yes, we can just give him write access 17:42
17:43 kjeldahl joined
diakopter yeah he does 17:45
17:46 Raynes joined
diakopter I mean, I assume he's mncharity 17:46
dalek href="https://perl6.org:">perl6.org: aa89ccd | diakopter++ | source/compilers/index.html:
mention viv on /compilers/index.html edit STD's entry a bit
17:47
sorear good * #perl6 17:48
moritz_: the docs for the bind_llsig op are a bit outdated 17:49
17:53 envi left 17:55 mavrc left
moritz_ sorear: I know nothing about that op 18:00
mncharity now has commit access to perl6.org
18:02 bluescreen joined 18:03 mavrc joined 18:08 alester joined 18:09 Trashlord joined
dalek p-rx/nom: 5ece5ae | jnthn++ | src/NQP/Actions.pm:
.WHAT and .HOW become macro-ish.
18:11
p-rx/nom: c3553ca | jnthn++ | src/metamodel/reprs/P6opaque.c:
Forgot to allocate some memory zeroed, which caused all manner of fun.
p-rx/nom: df779fc | jnthn++ | src/metamodel/how/NQPClassHOW.pm:
Get NQPClassHOW up to the point where methods can be added and dispatched within a given class.
p-rx/nom: bab7ae7 | jnthn++ | src/ (8 files):
Implement REPR instance marking/freeing, so that slot mapping tables won't go missing and anonymous types won't leak memory.
18:16 dukel3to joined
dalek p-rx/nom: 5328d08 | jnthn++ | src/metamodel/reprs/P6opaque.c:
The precedence game. Some days you lose it.
18:16
p-rx/nom: 2914f84 | jnthn++ | / (2 files):
Add NQPAttribute attribute meta-object. Very basic for now - just holds a name.
p-rx/nom: 5295760 | jnthn++ | src/metamodel/how/NQPClassHOW.pm:
Fix a language-o, which results in ClassHOW's attribute support now working.
18:17 wamba joined
moritz_ jnthn++ # very productive 18:20
18:22 xabbu42 left 18:28 alester left 18:29 alester joined 18:44 tadzik joined
sorear rakudo: (-> $x [$y] { })(class { method Capture { [] } }) 18:44
p6eval rakudo 7c74c0: OUTPUT«Internal Error: Rakudo_binding_bind_llsig passed invalid Capture␤ in <anon> at line 2:/tmp/t_1TUlJ8Jb␤ in main program body at line 22:/tmp/t_1TUlJ8Jb␤»
jnthn If you play with capture coercion, you'll get burnt. :-)
sorear jnthn: my tell stands. 18:45
jnthn Suggestions of what error it should give welcome. :-) 18:46
Though the one there is pretty much spot on.
sorear No, not that.
I want you to comment on S12:936
jnthn Oh!!
Sorry.
sorear It doesn't make any sense to me
jnthn Got distracted when I saw it and then just forgot...
jnthn looks
sorear unrelatedly, I see that Rakudo's binder does exactly the one thing I was trying to avoid by generating inline code for signatures 18:47
so maybe it isn't so unacceptable after all :-)
jnthn Which is?
Inferior runloop probby?
sorear Yes
jnthn Yeah. Ugly.
My hope is Lorito will save us some day... 18:48
But given that I'm not sure we've got a single RT ticket related to this case of the inferior runloop, my conclusion is that it's rare enough not to worry over too much for now. 18:49
sorear If Lorito lives up to the plans I'm ditching .NET.
I wonder if we should spec a list of contexts where &take calls are legal 18:50
since almost every implementation has ad-hoc restrictions 18:51
but there is a common notion of "normality"
moritz_ it's OK for implementaitons to have limitations
18:52 wamba left
sorear jnthn: so. lastcall; nextsame. Does it make any sense? 18:52
jnthn gah, my local copy of the spec is still the svn one. 18:53
sorear: It doesn't look insane to me. 18:57
sorear: I think lastcall isn't excetion-throwy like last
But rather mark-y
That's the way I have it in Rakudo now
It just says "oh, throw away the rest of the candidate list you have" but returns control after it's notified the dispatcher to throw stuff away
Oh but hmm 18:58
How does nextsame know to skip up a level when it'd not do so normally...
Oh, the spec talks about a dispatcher stack.
sorear: Anyway, I think if that's going to work lastcall returns after doing something. 19:00
sorear: But I agree it could be rather messy to implement.
19:03 alester left 19:09 alester joined
sorear jnthn: if lastcall; returns, how does lastcall; nextsame; work? 19:14
jnthn sorear: I can think of ways it could work, but none of them seem appealing or likely off hand. 19:16
sorear: Thing is, this bit of the spec is new since I implemented lastcall/nextsame etc
sorear: I think this may be a good one to punt to TimToady++. 19:17
bbl, noms 19:23
19:23 mssm joined 19:33 alester left 19:34 Mowah joined 19:41 jaldhar left 19:48 alester joined 19:49 Ross left 19:58 lue joined 20:03 literal joined 20:04 tylercurtis joined 20:12 alester left 20:18 jaldhar joined 20:27 kjeldahl left 20:28 kjeldahl joined 20:29 M_o_C left 20:31 jferrero joined 20:33 ash_ left 20:37 Schwern left 20:54 lucs joined 21:11 tadzik left 21:12 lamstyle joined 21:15 jferrero left 21:37 araujo left
dalek odel: 2947a00 | jnthn++ | dotnet/runtime/Metamodel/Representations/P6opaque.cs:
[dotnet] Fix a silly bug in P6opaque's slot computation logic.
21:38
p-rx/nom: 9a575ba | jnthn++ | src/metamodel/reprs/P6opaque.c:
Fix a silly bug in P6opaque's slot computation.
21:41
p-rx/nom: 301e63e | jnthn++ | src/metamodel/how/NQPClassHOW.pm:
Get class inheritance working.
21:48 araujo joined
dalek p-rx/nom: ded349e | jnthn++ | src/NQP/Compiler.pir:
Ensure init of the meta-model is the first thing that happens, even before we load the HOWs. First step on the way to enabling us to switch class keyword to ClassHOW.
21:57
21:59 bluescreen left
sorear jnthn, the great motivator 22:00
jnthn Motivator? 22:01
If my commits cause motivation, I should get my $dayjob ones reported here too. :-) 22:03
plobsing can one get a job as a "motivational commiter"? 22:04
22:04 kjeldahl left
moritz_ plobsing: sure... just give me your github ID, and you'll get access to most Perl 6 repos :-) 22:05
22:05 nexusone joined
jnthn mmmm...Krusovice \o/ 22:08
moritz_ shouldn't promise commit bits when his computer is stuck in an unfinished upgrade, and he doesn't know if he even has a working graphical browser 22:10
22:10 bluescreen joined
sorear elinks++ # was my favorite browser once 22:13
22:19 Guest23195 left
dalek odel: 1c5881f | mberends++ | java/runtime/Rakudo/Metamodel/Representations/P6opaque.java:
[java] sync the latest P6opaque slot allocation change from dotnet
22:26
sorear There is something off about signatures 22:27
plobsing moritz_: I adhere to the traditional definition of job. (ie: that which gets you paid)
sorear Sometimes they need to be cloned, sometimes they need to existstatically
22:29 mssm left 22:35 zb joined 22:38 Mowah left
araujo wonders if it is useful enough to create the concept of numeric range "1 .. 9" in a language 22:43
dalek p-rx/nom: 3c25cb5 | jnthn++ | src/NQP/Actions.pm:
Get 'is Parent' to actually call .^add_parent.
22:45
p-rx/nom: 3514c77 | jnthn++ | src/NQP/Actions.pm:
Get package decls with :: in the name working for new-style packages.
22:48 icwiener_ left 22:49 icwiener_ joined
jnthn phenny: tell pmichaud I've got to the point where my next blocker is PCT::HLLCompiler needing to be moved into the nqp-rx repo and (at lesat somewhat) nqp-ized. 22:50
phenny jnthn: I'll pass that on when pmichaud is around.
22:50 icwiener joined 22:55 icwiener_ left 23:01 icwiener left 23:11 nexusone left 23:12 MayDaniel left 23:15 Juerd left 23:18 nexusone joined 23:19 nexusone left 23:22 Searle joined 23:23 Searle left 23:24 zb left 23:25 zb joined 23:28 jlaire joined
jnthn sorear: (siggies) Yeah...parametric roles are the most obvious place where we probably need to be doing cloning of them, if we want to really get stuff right. 23:31
(to reify the nominal type constraints when they're type parameters) 23:32
23:36 dukel3to left 23:40 rindolf left
sorear jnthn: the problem with cloning sigs is that it makes &foo.signature not work at all 23:48
or rather, &foo.signature needs to return some kind of StaticSignature 23:49
which can be introspected, but doesn't have ACCEPTS 23:50
jnthn Is there a situation where you get an un-reified sig? 23:52
In role Foo[::T] { our sub foo(T $x) { } } you'd probably have to provide a T to get at that. 23:53
I guess I see role declarations as really being factories that build a parametrized version of all the stuff in them.
e.g. roles are "uninstantiable" to the degree that you can't do anything with one until you give some parameters (which may be the empty set of parameters). 23:55
Including looking at stuff inside of it.
Foo.^methods where Foo is a role almost certainly means Foo[].^methods