»ö« 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.
ash_ rakudo: say 1 02:52
i think it died... 02:53
p6eval rakudo e9e7fc: OUTPUT«1␤» 02:55
ash_ no... just slow?
plobsing slow startup? or slow box? 02:59
rakudo: for 1..3 { say now }
ash_ plobsing: do you know much about the packfileannotation and packfileconstanttable? 02:59
my gsoc_nci branch is passing all tests except tests for those 03:00
plobsing I know a lot about the constant table. Not much about the annotations.
I'll take a look
ash_ they both claim: "too few positional arguments: 2 passed, 3 (or more) expected" to functions that are clearly defined to take 2 params, which is odd but consistent 03:01
plobsing maybe invocant is being counted? 03:02
2 args + invocant = 3
p6eval rakudo e9e7fc: OUTPUT«Instant:2010-10-07T02:40:9.695935Z␤Instant:2010-10-07T02:40:10.188288Z␤Instant:2010-10-07T02:40:10.416203Z␤» 03:03
ash_ why would it only be for 2 random packfile methods that i never touched though and nothing else? 03:04
plobsing answer - glacial startup, runtime a little slow
ash_ as far as i can all other PMC multi's and vtable methods are still fine in my branch, just these two that were effected :-\
plobsing because those are probably multis. multis still use NCI pmc's under the hood for implementation. normal (non-multi) native pmc methods use NativePCCMethod. 03:05
plobsing vtables also don't use NCI pmc's for implementation (for obvious circular-logic reasons) 03:05
ash_ one's a multi, the others set_name i don't think it was a multi, i think it was just a method 03:06
and rakudo builds fine, even passes its tests
all other tests pass
ash_ correction, all tests i have tried except those 2 pass 03:07
ash_ trac.parrot.org/parrot/browser/bran...n.pmc#L125 and trac.parrot.org/parrot/browser/bran...e.pmc#L313 are the 2 functions that say "too few positional arguments: 2 passed, 3 (or more) expected" 03:10
plobsing Parrot_pcc_fill_params_from_c_args (interp=0x60a080, call_object=0x6f5498, signature=0x6e9e20 "PSS") 03:16
generated PCC signature is incorrect
that is called from ffi_call_unix64
ffi framebuilder takes nci:"IJPN" and makes pcc:"PSS" 03:18
s/IJPN/IJPS/ 03:19
sorry 03:20
ash_ hmm, i'll look into that, and maybe add some tests to nci.t 03:28
plobsing gdb - is there anything it can't do? 03:29
(answer: sadly, ... yes)
mberends coffee++ 05:26
moritz_ good morning 05:27
mberends today I'll take masak++ and jnthn++ to www.escherinhetpaleis.nl/index.php?...anguage=en :-) 05:28
hi moritz_ :)
dream hello ..am trying to run my first CGI program ..am able to run on command line but not on browser ..can anyone pls help ..am following this link :www.perltutorial.org/perl-cgi-helloworld.aspx 05:32
diakopter dream: I suggest #perl instead of #perl6 for that question 05:36
mberends dream: this is a developer channel for new perl implementations. Try #friendly-coders or www.perl101.org 05:37
dream thanks 1 05:39
moritz_ or perlmomks.org 05:41
mberends s/perlmomks/perlmonks/ # unless you're a mom 05:46
diakopter .. in kansas 05:49
moritz_ in sovjet kansas, moms program YOU! 05:51
sorear good * #perl6 06:25
sorear How many times is the body of a parameterize role called? 06:30
TimToady probably just once, if it follows S10:88 06:34
sjohnson HI 06:39
diakopter LO 06:41
sjohnson
.oO(hilo reminds me of ohgr)
06:42
sorear TimToady: but what about the parameters> 06:56
phenny: msg jnthn Read this. www.research.ibm.com/people/d/dgrov...psla01.pdf # Efficient compilation of roles in a gradually typed environment
phenny: tell jnthn Read this. www.research.ibm.com/people/d/dgrov...psla01.pdf # Efficient compilation of roles in a gradually typed environment 06:57
phenny sorear: I'll pass that on when jnthn is around.
takadonet morning all 12:36
masak \o/ 15:09
flussence hai!
am0c^ \o/
flussence
.oO( quiet day, here... )
masak we've been to the Escher museum, and only now are coming back to the online world. 15:12
moritz_ springs into life
colomon Escher! museum? 15:16
masak aye.
(they had normal stairs, and I was disappointed over that. the rest was very nice, though)
PerlJam heh, I was just about to ask how you escaped the endless staircase 15:17
masak that's easy. there are points where you get on and off.
we had a fruitful discussion about the probably speed of the water in the infinite waterfall, too. 15:18
jnthn o/ 15:20
phenny jnthn: 06:57Z <sorear> tell jnthn Read this. www.research.ibm.com/people/d/dgrov...psla01.pdf # Efficient compilation of roles in a gradually typed environment
jnthn sorear: Thanks, will look at that one. 15:21
sorear, TimToady: A parametric role's body runs once per parameterization (e.g. per equivalent capture). 15:23
If S10 says otherwise it's fossil - S14 may be more clear.
masak yay! twitter.com/worr/status/26573940235 16:03
boo! twitter.com/gotofritz/status/26571272694 16:04
std: 4 =~ 5 16:05
p6eval std 237d266: OUTPUT«===SORRY!===␤Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~ at /tmp/DocAM0wdAo line 1:␤------> 4 =~⏏ 5␤Parse failed␤FAILED 00:01 115m␤»
moritz_ rakudo: 4 =~ 5 16:06
p6eval rakudo e9e7fc: OUTPUT«===SORRY!===␤Unsupported use of =~ to do pattern matching; in Perl 6 please use ~~ at line 22, near " 5"␤»
tadzik oh hello 16:15
jnthn o/
masak replied to @gotofritz: twitter.com/carlmasak/status/26662069116 16:16
tadzik what's the original tweet 16:17
perigrin 7:04 < masak> boo! twitter.com/gotofritz/status/26571272694
tadzik oh, I ate a '?'
thanks perigrin
perigrin np 16:17
PerlJam I wonder what the 15 years actually refers to? 16:18
tadzik maybe it's his age
PerlJam was it a typo? An attempt to reference the birth of perl 5? what?
perigrin reletavistic effects
PerlJam or, as masak seems to think, an attempt at exaggeration
perigrin he's just slow. 16:19
masak :)
I think it's just a 3d6 number.
moritz_ perigrin: wrong sign for relativistic effects :-)
masak moritz_++ # lol
moritz_
.oO( hooray for physics -- it makes me a better troll! )
16:22
perigrin :)
masak his reply: twitter.com/gotofritz/status/26662475472 -- my reply: twitter.com/carlmasak/status/26663200733
moritz_ :-) 16:23
takadonet masak: you are having too much fun with this 16:24
masak takadonet: guilty. :) 16:25
sjohnson morning friends of perl 16:25
masak sjohnson: heartfelt salutations.
PerlJam masak: beware the chasm at the end of sarcasm. (it's a mild poison that eats away at the community over time) 16:26
(not that I'm not guilty of it myself; I just think we all need to be reminded every once in a while :)
masak PerlJam: you're right, as usual. I don't want to become a full-time sarcast. 16:27
(unless the rate's good, that is)
dukeleto applies for a troll internship
PerlJam Who needs the Lacuna Expanse, when you have #perl6? ;) 16:28
masak PerlJam: I'm wondering if there are different types of sarcasm, some more hurtful than others.
PerlJam could be. 16:29
masak not that I'm trying to justify what I wrote in retrospect or anything.
moritz_ surely not.
SCNR
masak :)
dukeleto masak: there is functional trolling and then there is just vindictive trolling
masak it's just that I've found that I'm getting through better to some twitterers by applying humour. 16:30
PerlJam www.thefuntheory.com/ 16:30
Although slightly different, the memes are closely related 16:31
masak dukeleto++'s reply to @gotofritz: twitter.com/dukeleto/status/26664282479 16:37
dukeleto masak: i think we, as a community, have gotten better at taking negative external FUD and turning it into motivation to hack. That is what I tried to convey. 16:39
masak dukeleto: I think you're right.
PerlJam dukeleto++ indeed.
masak not least because we're in a position that gives us much more reason to be proud than we were only a few years ago. still some ways to go, but we're not at "barely started" anymore. 16:40
dukeleto masak: yes, i think the negative feedback we get these days is very valuable. We know we have something good, so it just propells us further. 16:43
moritz_ just noticed some fun irony about the "modern perl" thing
I thought Perl was a post modern language
so going from "post modern" to "modern" is a step backwards, linguistically
masak moritz_: yes, but this is the Modern Post Modern.
I think Twitter is a fine tool for putting us in touch with 'outgroup' thoughts. it's a hole in the wall of the echo chamber. 16:44
PerlJam It's perl 5 that's "modern perl". We've got Perl 6 :)
moritz_ post modern Perl 6? :-)
masak Perl 6 is a post-modern Perl 5. :)
sjn always thought "modern" meant "what's cool today", leading to "post-modern" meaning "what's up and coming" 16:45
with "cool" meaning "current" or "state-of-the-art" or something like that 16:46
sjn "Perl 6, the language of the future" :-P 16:46
ash_ masak: your issue with sub's in for loops, i know of a kind of work around if your interested 16:47
masak ash_: put the sub outside the for loop? :) 16:48
ash_ rakudo: for 1..4 { my &foo = -> { 1 }; say $_, foo; }; say 'alive'
p6eval rakudo e9e7fc: OUTPUT«11␤21␤31␤41␤alive␤»
masak ash_: ooh. nice.
ash_ odd to me that -> blocks don't have the same problem as sub { } blocks
masak we discovered that it was the 'sub' that caused it.
even anon subs.
ash_ ew 16:49
doing the for loop like that reminds me of javascript :P
(with my pointy block)
moritz_ wonders if 'sub' somehow turns an intermediate block into something else 16:50
ash_ var foo = function () { return 1; }; foo(); is a lot like my &foo = sub { 1 }; foo;
masak moritz_: what's an intermediate block?
ash_ alpha: say $a; my $a; 16:55
p6eval alpha 30e0ed: OUTPUT«Null PMC access in type()␤in Main (file <unknown>, line <unknown>)␤»
ash_ masak: does alpha support IO::Socket::INET? 16:56
masak ash_: think so. try it and see?
ash_ i don't have alpha installed, i'll downloaded it though 16:57
or do you mean using p6eval?
alpha: say IO::Socket::INET
p6eval alpha 30e0ed: OUTPUT«Null PMC access in type()␤in Main (file <unknown>, line <unknown>)␤»
masak that's the old error message for "module not found".
ash_ i like "module not found" better
masak you could look in the .tar.gz file whether there's an IO::Socet::INET module in src/ 16:58
if it has one, it probably supports it.
ash_ rakudo: say IO::Socket::INET
p6eval rakudo e9e7fc: ( no output )
masak ISTR mberends and I wrote one in April 2009.
ash_ rakudo: say IO::Socket::INET, 1;
p6eval rakudo e9e7fc: ( no output ) 16:59
masak which means it's in alpha.
ash_ i thought it worked at some point, it would be kinda nice to try playing with some of those kinds of features, sockets, tcp sockets, etc. i could always look at what needs to be done to get it working in rakudo...
or i could fix the last bug in my gsoc project and get it merged into parrot... 17:00
x3nU why there's no config::ini in r* 2009.09? i thought it was fixed 17:07
moritz_ seems nobody put it back 17:08
into the R* makefile
tadzik Duh, I thought I did 17:10
but isn't there neutro in 2010.09?
moritz_ star: use Config::INI 17:11
p6eval star 2010.09: OUTPUT«===SORRY!===␤Unable to find module 'Config::INI' in the @*INC directories.␤(@*INC contains:␤ /home/p6eval/.perl6/lib␤ /home/p6eval/rakudo-star-2010.09/install/lib/parrot/2.8.0/languages/perl6/lib␤ .)␤»
x3nU also i (and probably other windows users) will appreciate if someone would put rakudo-star win32 installer on rakudo-star github download section 17:12
dukeleto ash_: yes, please get gsoc_nci merged, please :) 17:13
moritz_ tadzik: you added Fiel::Tools, Module::Tools and neutro, but not Config::INI
ash_ plobsing++ basically found what was wrong, i am trying to remedy it now
tadzik moritz_: I remember reverting the commit in which I removed it 17:13
commit 37f97c5db373373a10f1a11289b8e4d4da7a90a3
moritz_ tadzik: it's in skel/build/Makefile.in but not in Makefile 17:14
tadzik bah, it doesn't add enough
dukeleto ash_: awesome. PL/Parrot+PL/Perl6 really will benefit from your nci branch.
ash_ it will make linking to stuff a lot easier, when its 100% done 17:15
moritz_ this manual synchronizing really needs to go away
dalek ar: 3218b55 | tadzik++ | Makefile:
Re-added Config::INI, as it got lost somehow
17:16
sjn wonders where that rakudo benchmark page was
moritz_ gil.di.uminho.pt/users/smash/rakudo-bench.html 17:17
sjn moritz_: thanks! ^^
dukeleto ash_: your NCI branch will allow PL/Parrot+PL/Perl6 to call postgres C library functions, which is needed to implement SPI (Server Programming Interface), which allows stored procedures to run SQL queries
sjn oh, it's not updated for 2010.09
whois smash
moritz_ the quesiton is "whereis smash" :-) 17:18
sjn finds his / key
!seen smash
seen smash
aloha smash was last seen in #parrot 6 days 23 hours ago saying "github.com/mirrors/perl/tree/perl-1-maint".
tadzik Heh, Perl Kit 17:19
sjn btw, what's with the test graph on rakudo.de? anything big going on?</ignorant> 17:20
ash_ dukeleto: how would i go about setting up PL/parrot?
that sounds like a great use case to test the nci stuff
dukeleto ash_: pl.parrot.org/docs.html 17:21
ash_: the top presentation on that page has some install instructions, there are also some README files 17:22
dukeleto ash_: you will need to have a postgres user that is a "superuser" to install C extensions, which you can do with "createuser". I need to add that to the docs 17:23
ash_: this branch github.com/leto/plparrot/tree/spi (by cxreg++) it what requires the NCI branch to move forward 17:25
dukeleto is working on a blog post to show how to use Perl 6 grammars inside PostgreSQL
ash_ installing postgresql now 17:26
ash_ dukeleto: what kind of signatures do the SPI functions have? 17:28
dukeleto ash_: some of them have signatures that current parrot doesn't support. cxreg++ would know best which ones he needs to finish the branch 17:31
cxreg: ping?
ash_ the current nci system can generate new signatures you can load at runtime, they just aren't dynamic, but if it uses some odd things like structs (not a pointer to a struct) as a param, then the old one won't support that, but the new one should 17:32
dukeleto ash_: cool. I am pretty sure the function signatures are pretty diverse, so that sounds good. 17:34
ash_: if you have rakudo installed into your path, and PL/Parrot can find the parrot_config associated with it, you will get PL/Parrot + PL/Perl 6 17:35
dukeleto ash_: if it only finds Parrot's parrot_config, only PL/Parrot will be available from Postgres 17:38
ash_ i'll probably set it up to run both
dukeleto ash_: yes, that is more fun :) Please let me know if you hit some snags! You are on the bleeding edge. What version of postgres are you using? you probably need >= 8.3 17:43
ash_ macports just made me a fresh copy of 8.4.4
cxreg wakes up 17:44
dukeleto ash_: should should be feasible
cxreg: which function signatures do you need to merge the spi branch of PL/Parrot?
cxreg: ash_ is getting close to getting it merged
cxreg i had a list of static ones i was using during testing 17:45
but aiui the new system doesn't require that?
ash_ if you have libffi, it won't require any static building of sigs, they are built at runtime 17:46
cxreg honestly it's been a couple months since i played with it so i don't recall exactly what was needed to continue 17:47
i think structs were part of it though
plparrot has an advantage though 17:48
since it's already being compiled, we can add our own wrappers with better signatures
dalek rixel: 33ac3c0 | diakopter++ | sprixel/ (3 files):
breaking the build; interim checkin.
17:50
Kodi rakudo: my @a = 1, 2; @a >>=<< 4, 5; say @a.perl 17:56
p6eval rakudo e9e7fc: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in <anon> at line 205:CORE.setting␤ in 'hyper' at line 1␤ in main program body at line 1␤»
ash_ rakudo: my @a = 1, 2; say @a >>+<< 4, 5 18:04
p6eval rakudo e9e7fc: OUTPUT«Sorry, sides are of uneven length and not dwimmy.␤ in 'hyper' at line 180:CORE.setting␤ in 'hyper' at line 212:CORE.setting␤ in main program body at line 1␤» 18:05
diakopter note for the curious: the terms Modernism and Modernity (and Post-) once denoted chronologically relative to the time of usage, but today do not; see more at en.wikipedia.org/wiki/Modernity and the linked articles. <sorry_if_you_already_knew_this/> 18:10
colomon rakudo: my @a = 1, 2; say @a >>+<< (4, 5)
p6eval rakudo e9e7fc: OUTPUT«57␤»
masak excellent nom & 18:11
masak ...and we're back. 19:42
ash_ waves 19:43
colomon \o 19:46
sjohnson hi 19:47
masak , jnthn and mberends laughing heartily at words in folk.uio.no/alied/TMoL.html 19:51
dalek kudo: 377615e | KodiB++ | src/Perl6/Actions.pm:
[Actions] Permit »+=», «*=», etc.
20:06
kudo: 99c80ec | KodiB++ | src/core/metaops.pm:
Permit hyperoperators to modify their arguments.
masak rakudo: subset Greeting of Str where { /:i ^oh \s+ \w+ '!'?$/ }; subset LolGreeting of Str where { .words[1].lc eq 'hai' }; multi detect(Str) { "not a greeting" }; multi detect(Greeting) { "regular greeting" }; multi detect(LolGreeting) { "lol-greeting" }; say detect "OH HAI" 20:07
p6eval rakudo e9e7fc: OUTPUT«Null PMC access in isa_pmc()␤ in '&infix:<=>' at line 1␤ in 'Regex::Bool' at line 5970:CORE.setting␤ in 'detect' at line 22:/tmp/p52bvhygzd␤ in 'detect' at line 22:/tmp/p52bvhygzd␤ in main program body at line 22:/tmp/p52bvhygzd␤»
masak submits rakudobug
ash_ rakudo: say 'foo' ~~ /:i foo/; 20:11
p6eval rakudo e9e7fc: OUTPUT«foo␤»
masak ash_: it's to do with multies, and subtypes. 20:12
ash_ rakudo: say 'FOO' ~~ /:i foo/;
p6eval rakudo e9e7fc: OUTPUT«FOO␤» 20:12
dalek ast: f471cc0 | KodiB++ | S03-metaops/hyper.t:
[hyper.t] Tests for RT #77876.
ash_ got ya
masak rakudo: subset G of Str where { /O/ }; sub detect(G) {}; detect "O" 20:15
p6eval rakudo e9e7fc: OUTPUT«Method 'match' not found for invocant of class ''␤ in 'Regex::Bool' at line 5971:CORE.setting␤ in 'detect' at line 22:/tmp/YSAVVICxBE␤ in 'detect' at line 22:/tmp/YSAVVICxBE␤ in main program body at line 22:/tmp/YSAVVICxBE␤»
masak rakudo: subset G of Str where { /O/ }; multi detect(G) {}; detect "O" 20:16
p6eval rakudo e9e7fc: OUTPUT«Null PMC access in isa_pmc()␤ in '&infix:<=>' at line 1␤ in 'Regex::Bool' at line 5970:CORE.setting␤ in 'detect' at line 22:/tmp/5IduFyExov␤ in 'detect' at line 22:/tmp/5IduFyExov␤ in main program body at line 22:/tmp/5IduFyExov␤»
masak clues about this would be helpful.
masak rakudo: multi detect(Str where { /O/ }) {}; detect "O" 20:18
p6eval rakudo e9e7fc: OUTPUT«===SORRY!===␤Can not do non-typename cases of type_constraint yet at line 22, near ") {}; dete"␤»
masak "non-typename cases of type_constraint"?
masak rakudo: subset G of Str where { .chars > 0 }; multi detect(G) {}; detect "O" 20:21
p6eval rakudo e9e7fc: ( no output )
masak rakudo: subset G of Str where { .chars > 0 }; multi detect(G) {}; detect "O"; say "alive"
p6eval rakudo e9e7fc: OUTPUT«alive␤»
tylercurtis rakudo: multi detect(Str $foo where { /O/ }) {}; detect "O" 21:02
p6eval rakudo 377615: OUTPUT«Null PMC access in isa_pmc()␤ in '&infix:<=>' at line 1␤ in 'Regex::Bool' at line 5976:CORE.setting␤ in 'detect' at line 1:/tmp/I_HYrv1mPf␤ in 'detect' at line 1:/tmp/I_HYrv1mPf␤ in main program body at line 22:/tmp/I_HYrv1mPf␤»
tylercurtis rakudo: multi detect(Str $foo where /O/) {}; detect "O" 21:03
p6eval rakudo 377615: ( no output )
tylercurtis rakudo: multi detect(Str $foo where /O/) {say 'hi'}; detect "O"
p6eval rakudo 377615: OUTPUT«hi␤»
masak adds this to the ticket 21:04
tylercurtis++
rakudo: subset G of Str where /O/; multi detect(G) {}; detect "O"
p6eval rakudo 377615: ( no output )
masak rakudo: subset G of Str where /O/; multi detect(G) {}; detect "O"; say "alive" 21:05
p6eval rakudo 377615: OUTPUT«alive␤»
tylercurtis rakudo: for 'O' { say m/O/; } 21:06
p6eval rakudo 377615: OUTPUT«O␤»
tylercurtis rakudo: for 'O' { /O/; say $/ }
p6eval rakudo 377615: OUTPUT«Any()␤»
masak rakudo: "O" ~~ { /O/ }
p6eval rakudo 377615: ( no output )
masak rakudo: "O" ~~ { /O/ }; say "alive"
p6eval rakudo 377615: OUTPUT«alive␤» 21:07
tylercurtis rakudo: multi detect(Str $foo where { m/O/ } ) {say 'hi'}; detect "O"
p6eval rakudo 377615: OUTPUT«hi␤»
masak another clue. nice!
jnthn_ Curioser and curioser. 21:08
/nick jnthn 21:09
jnthn d'oh :-) 21:09
tylercurtis If you return a /foo/ regex from a function that is called in value context, should the $_ of the scope from which the regex was returned or the $_ of the contextualizing scope be matched? 21:16
masak functions aren't really called in any particular context in Perl 6. 21:17
the return value can be used in different ways, however.
to answer your question, I think it's always the $_ in the function itself. 21:19
often an outer value is sent in to a $_ parameter, however. 21:21
tylercurtis I'm not sure I agree. I think that { /O/ } should produce a nullary block that always returns a Regex object. 21:24
masak I'm not too sure either way. 21:25
tylercurtis Actually, maybe { /O/ } should be -> $_? { /O/ } 21:26
masak it is.
rakudo: my $b = { /O/ }; say $b.signature.count; say $b.signature.arity 21:27
p6eval rakudo 377615: OUTPUT«1␤0␤»
jnthn I'ts more like -> $_ = $OUTER::_ I guess
masak fair enuf.
tylercurtis Well, yes, that.
masak OUTER, and not CALLER?
jnthn rakudo: multi detect(Str $foo where { .say; /O/ }) {}; detect "O" 21:28
p6eval rakudo 377615: OUTPUT«O␤Null PMC access in isa_pmc()␤ in '&infix:<=>' at line 1␤ in 'Regex::Bool' at line 5976:CORE.setting␤ in 'detect' at line 1:/tmp/hplW6YEKFI␤ in 'detect' at line 1:/tmp/hplW6YEKFI␤ in main program body at line 22:/tmp/hplW6YEKFI␤»
tylercurtis rakudo: say 'O' ~~ where { .say; /O/ } 21:29
p6eval rakudo 377615: OUTPUT«Could not find sub &where␤ in main program body at line 22:/tmp/0p747KLAE2␤»
masak rakudo: my $b; { $_ = 5; $b = { .say } }; $_ = 42; $b()
p6eval rakudo 377615: OUTPUT«42␤»
tylercurtis rakudo: say 'O' ~~ { .say; /O/ }
p6eval rakudo 377615: OUTPUT«O␤_block141␤»
masak seems to be $_ defaults to $CALLER::_
s/be/me/
masak submits rakudobug 21:33
tylercurtis How does that distinguish between $OUTER::_ and $CALLER::_? The calling scope is the same as the outer scope, no? 21:34
masak no, the outer scope has $_ = 5, but the calling scope has $_ = 42 21:35
tylercurtis rakudo: my $b; { $_ = 5; $b = { .say } }; .say; 21:36
p6eval rakudo 377615: OUTPUT«5␤»
tylercurtis rakudo: my $b; -> $_ is rw = $OUTER::$_ { $_ = 5; $b = {.say}}(); .say; $_ = 42; $b(); 21:37
p6eval rakudo 377615: OUTPUT«===SORRY!===␤Missing block at line 22, near "-> $_ is r"␤»
tylercurtis rakudo: my $b; -> $_ is rw = $OUTER::_ { $_ = 5; $b = {.say}}(); .say; $_ = 42; $b(); 21:38
p6eval rakudo 377615: OUTPUT«Null PMC access in getprop()␤ in '&infix:<=>' at line 1␤ in <anon> at line 22:/tmp/qIgFQN0qMm␤ in main program body at line 22:/tmp/qIgFQN0qMm␤»
tylercurtis I think that could be explained by the implicit $_ parameter being rw. 21:39
jnthn rakudo: my $b; { my $_ = 5; $b = { .say } }; $_ = 42; $b() 21:39
p6eval rakudo 377615: OUTPUT«5␤»
masak submits rakudobug for tylercurtis Null PMC access
masak rakudo: my $b; -> $_ is rw = $OUTER::_ { $_ = 5; $b = {.say}}() 21:41
p6eval rakudo 377615: OUTPUT«Null PMC access in getprop()␤ in '&infix:<=>' at line 1␤ in <anon> at line 22:/tmp/29sGwzgyL0␤ in main program body at line 22:/tmp/29sGwzgyL0␤»
masak rakudo: my $b; -> $_ is rw = $OUTER::_ { $b = {.say}}()
p6eval rakudo 377615: ( no output )
masak rakudo: my $b; -> $_ is rw = $OUTER::_ { $_ = 5 }() 21:42
p6eval rakudo 377615: OUTPUT«Null PMC access in getprop()␤ in '&infix:<=>' at line 1␤ in <anon> at line 22:/tmp/S9AHBqQhmJ␤ in main program body at line 22:/tmp/S9AHBqQhmJ␤»
masak rakudo: -> $_ is rw = $OUTER::_ { $_ = 5 }() 21:42
p6eval rakudo 377615: OUTPUT«Null PMC access in getprop()␤ in '&infix:<=>' at line 1␤ in <anon> at line 22:/tmp/Da9xPtq55b␤ in main program body at line 22:/tmp/Da9xPtq55b␤»
masak rakudo: -> $_ is rw = $FOO::_ { $_ = 5 }() 21:43
p6eval rakudo 377615: OUTPUT«Null PMC access in getprop()␤ in '&infix:<=>' at line 1␤ in <anon> at line 22:/tmp/0GtE_VXval␤ in main program body at line 22:/tmp/0GtE_VXval␤» 21:43
masak rakudo: -> $_ is rw = $a { $_ = 5 }()
p6eval rakudo 377615: OUTPUT«===SORRY!===␤too few positional arguments: 2 passed, 3 (or more) expected␤»
masak rakudo: -> $_ is rw = $FOO::a { $_ = 5 }() 21:44
p6eval rakudo 377615: OUTPUT«Null PMC access in getprop()␤ in '&infix:<=>' at line 1␤ in <anon> at line 22:/tmp/L0n2265ZPQ␤ in main program body at line 22:/tmp/L0n2265ZPQ␤»
masak hihihi
rakudo: -> $_ = $FOO::a { $_ = 5 }() 21:45
p6eval rakudo 377615: OUTPUT«Cannot modify readonly value␤ in '&infix:<=>' at line 1␤ in <anon> at line 22:/tmp/f5KasVE7e1␤ in main program body at line 22:/tmp/f5KasVE7e1␤»
jnthn rakudo: $FOO::a = 42 21:46
p6eval rakudo 377615: OUTPUT«Null PMC access in getprop()␤ in '&infix:<=>' at line 1␤ in main program body at line 22:/tmp/2jMwQmnTc9␤»
masak changes the ticket
dalek kudo: 9702438 | masak++ | src/core/Temporal.pm:
[Temporal] made Dateish into a role

If nothing else, we get rid of one level of inheritance this way. jnthn and I discussed it a bit, and it feels wrong-ish in Perl 6 to use a base class as a collector of convenience methods.
22:16
masak 'night, #perl6. 22:18