»ö« 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!
Set by sorear on 4 February 2011.
00:07 replore joined 00:16 cooper left 00:40 carlin joined 00:42 sivoais joined 00:49 BLZbubba left, BLZbubba joined 00:51 [Coke] left 00:53 [Coke] joined 01:06 drbean joined 01:20 wolfman2000 joined 01:35 Sarten-X left
diakopter oh noes, Out of memory trying to build std on cygwin. :/ 01:38
01:41 Sarten-X joined 01:50 kst` is now known as kst 02:03 Trashlord left 02:06 envi joined 02:12 replore_ joined 02:13 replore left 02:20 envi left 02:33 ggoebel left
soh_cah_toa perl6: class Foo { has $.attr; method foo() { $.attr = 42; say 'ATTR IS $.attr' } }; my $foo = Foo.new; $foo.attr = 123; say $foo.attr 02:58
p6eval pugs, niecza v10-39-g64c5778: OUTPUT«123␤»
..rakudo 1c2c2d: OUTPUT«Cannot assign to a readonly variable or a value␤ in block <anon> at /tmp/HKbwjiqAd6:1␤ in <anon> at /tmp/HKbwjiqAd6:1␤»
soh_cah_toa isn't the . twigil supposed to create a public accessor method? 02:59
03:01 cognominal_ joined
soh_cah_toa perl6: class Foo { has $.attr }; my $foo = Foo.new; $foo.attr = 123; say $foo.attr 03:02
p6eval pugs, niecza v10-39-g64c5778: OUTPUT«123␤»
..rakudo 1c2c2d: OUTPUT«Cannot assign to a readonly variable or a value␤ in block <anon> at /tmp/YWP5HYnfBw:1␤ in <anon> at /tmp/YWP5HYnfBw:1␤»
colomon soh_cah_toa: I believe it's read only by default
soh_cah_toa oh yeah, i think i remember that know
*now
03:04 cognominal___ left 03:06 drbean left, wolfman2000 left 03:11 drbean joined 03:17 odoacre joined 03:28 ponbiki joined
sorear good * #perl6 03:35
soh_cah_toa sorear: howdy
sorear hello diakopter, soh_cah_toa, jnthn 03:38
I wish I knew what's up with my internet connection now 03:39
host02 is infuriatingly laggy and even ping google.com is coming up 300+
used to be <20
soh_cah_toa ouch
sorear been like this for about 3 days 03:51
jnthn: soh_cah_toa: FWIW I'm looking into niecza changes that will allow our Str $x 03:52
soh_cah_toa sorear: does the spec allow that though? 03:53
now i understand why it doesn't
s/it/rakudo/ 03:54
sorear soh_cah_toa: the spec is silent on the issue
soh_cah_toa interesting
sorear the synopses leave many things implied 03:55
soh_cah_toa that seems like something that should. it could cause a lot of potential confusion and destroy cross compatibility of certain modules 03:56
03:56 satyavvd joined
sorear I remain convinced that once we finish airtightening the specs they'll be longer than C++1x 03:56
soh_cah_toa oh i'm sure it will :)
04:06 daniel-s joined
soh_cah_toa does p6 have a 'use lib'-like pragma or do i have to actually modify @*INC? 04:15
sorear please don't modify @*INC. 04:18
use lib! use lib!
soh_cah_toa i know, i don't want to
i don't think 'use lib' works though :\ 04:19
soh_cah_toa double checks
yeah, it doesn't work. unless i'm doing something wrong... 04:20
04:23 molaf joined 04:25 soh_cah_toa left 04:30 mattp_ left 04:40 jaldhar_ joined 04:41 _jaldhar left 04:42 molaf left 04:47 jaldhar_ left, jaldhar_ joined 04:54 envi joined 04:58 cognominal_ left 05:00 cognominal joined 05:01 alvis left 05:03 SHODAN joined 05:04 kaleem joined 05:05 SHODAN left
sorear masak: ping 05:13
05:15 gbacon joined 05:16 alvis joined
sorear phenny: tell masak After a careful rereading of 192.220.96.201/dylan/linearization-oopsla96.html , I beleive niecza is doing it right and Rakudo is only C2. I would like to discuss how you think Niecza is getting it wrong, and add tests. 05:19
phenny sorear: I'll pass that on when masak is around.
tadzik jnthn: no particular reason :) 05:20
05:23 DarthGandalf left
dalek osystem: ff8b757 | tadzik++ | META.list:
Add Pod::To::HTML
05:26
05:41 gbacon left 05:55 kaleem left 06:03 kaleem joined 06:04 Trashlord joined 06:06 kaleem left 06:08 DarthGandalf joined 06:11 kaleem joined 06:21 _sri left 06:27 koban joined, mattp_ joined 06:37 baest joined 06:40 _sri joined 06:55 Trashlord left, GlitchMr joined 06:59 Trashlord joined
moritz good morning 06:59
m6locks gm 07:02
07:47 dual left 07:55 baest left, baest joined 07:56 koban left 08:00 dju joined 08:04 meraxes left, meraxes joined 08:05 ab5tract joined, sftp left 08:08 sftp joined 08:29 sayu joined 08:31 daniel-s left 08:33 daniel-s joined 08:35 cognominal_ joined 08:38 cognominal left 08:41 SHODAN joined 09:04 mj41 joined 09:13 replore_ left 09:16 drbean left, baest left 09:21 drbean joined, sayu left
flussence alester++ # good blog post 09:25
09:25 daniel-s left, daniel-s joined, baest joined
tadzik where is it? 09:27
09:27 orafu left 09:28 orafu joined 09:39 wtw joined 09:42 drbean left 09:47 drbean joined 09:57 koban joined
mberends petdance.com/2011/10/theres-only-on...etractors/ 09:59
10:04 ggoebel joined
tadzik makes sense 10:08
mls_ morning perl6! 10:54
phenny mls_: 01 Oct 16:12Z <jnthn> tell mls_ the use of the "inline" keyword in src/runcore/subprof.c (I think this is your thingy, sorry if not) makes me compiler cry very loudly and refuse to build Parrot. Just removing it fixed things, but probably there's a better way.
tadzik oh, hey mls_ 10:55
mls_ finally a day in this week where I have time for some perl6 hacking 10:56
10:57 gfldex left
moritz \o/ 10:58
10:59 gfldex joined
moritz you might be able to PARROT_INLINE instead of 'inline', I think it is automatically replaced by 'inline' or the empty string, depending on what Configure.pl detected 10:59
mls_ That's exactly what I'm changing right now ;)
plan for today: merge my pct changes to parrot, submit exception/leave handler changes 11:01
to be reviewed by jnthn++ (and maybe pmichaud++)
moritz mls_: does your exception changes fix the return value of try { } blocks when an exception was thrown?
mls_ yes (except that I don't know what the return value should be) 11:02
moritz either the exception (so same as $! on the outside), or a Failure that wraps the exception
mls_ I think it currently "returns" the exception
moritz wunderbar 11:03
mls_ we can easily adapt that to anything TimToady++ comes up with
PARROT_INLINE change pushed 11:04
11:05 replore_ joined
moritz pushed to where? 11:06
mls_ parrot master 11:08
11:08 donri joined
mls_ lunch... 11:10
11:18 wamba joined 11:20 drbean left 11:26 drbean joined 11:36 Psyche^ joined 11:39 revdiablo left 11:40 revdiablo joined, revdiablo left, revdiablo joined, Patterner left, Psyche^ is now known as Patterner 11:44 satyavvd left
GlitchMr niecza: ('aa' ~~ /a++a/).perl 11:48
p6eval niecza v10-39-g64c5778: ( no output )
GlitchMr niecza: (/a++a/).perl
p6eval niecza v10-39-g64c5778: ( no output )
GlitchMr rakudo (/a++a/).perl
rakudo: (/a++a/).perl 11:49
p6eval rakudo 1c2c2d: OUTPUT«===SORRY!===␤Quantifier quantifies nothing at line 1, near "a/).perl"␤»
11:54 GlitchMr left 12:01 envi left 12:02 envi joined, kfo_ joined 12:03 donri left, donri joined 12:05 kfo left
moritz std: /a++/ 12:07
p6eval std 20ae3bd: OUTPUT«ok 00:01 120m␤»
12:08 kst left 12:09 kst joined 12:12 gbacon joined 12:16 LuRy joined 12:24 bluescreen10 joined 12:25 jaldhar_ left, jlaire left 12:31 jlaire joined 12:32 odoacre left 12:34 kst left, kst joined 12:40 colomon left 12:43 kaleem left 12:51 Sarten-X left 12:55 moritz_ joined, amkrankruleuen joined
moritz_ /o\ bad net weather 12:57
flussence just wrote this... github.com/flussence/Text-Tabs-Wra...c/wrap.mkd 12:59
13:00 moritz__ joined
flussence I can almost understand how hard it is for the WHATWG people now :) 13:00
13:01 Sarten-X joined 13:02 moritz_ left 13:04 Holy_Cow joined 13:05 GlitchMr joined, Holy_Cow left
GlitchMr How can I spell /[A-Za-z0-9_-]+/, except in Perl 6? 13:10
moritz__ GlitchMr: read S05 13:12
PerlJam GlitchMr: replace the - than are meant to be ranges with .. and replace [ with <[ and ] with ]> and you're there :) 13:17
GlitchMr: add some whitespace for readability too
moritz__ PerlJam: you can have him read the docs too, that way he might pick up a bit more Perl 6 :-) 13:21
PerlJam Sure, but I'm not going to fall into the #perl trap of "RTFM" at every turn (even when it's the right technical thing) because that's a part of the #perl-culture that isn't very friendly. 13:23
I'm perfectly happy giving out intellectual fish while encouraging someone to learn how to catch fish for themselves. (which you've already done, so I didn't need to fill that niche :) 13:24
13:24 im2ee joined
[Coke] moritz++ 13:25
GlitchMr Sorry, I was away...
<[A..Za..z0..9_-]>... ok?
im2ee Hello! :)
PerlJam im2ee: greetings 13:26
GlitchMr :)
flussence std: /<[A..Za..z0..9_-]>... ok?/
p6eval std 20ae3bd: OUTPUT«ok 00:01 121m␤»
[Coke] that looks suspiciously like a builtin rule, also.
GlitchMr Thanks for help... I cannot understand those Perl 6 rules...
But it makes sense...
PerlJam GlitchMr: what do you have trouble understanding? 13:27
moritz__ well, \w matches all those alphanumeric things, but also non-ASCII alphanumerics
GlitchMr Well, it's just long article...
moritz__ so it wouldbe [\w|'-']
so you need a bit more time
GlitchMr Well, I haven't really programmed in Perl 5... 13:28
PerlJam GlitchMr: oh, so you lack a regex background in general?
GlitchMr Well, I used somewhat preg_replace() in PHP... but I guess it's different that this
PerlJam GlitchMr: i.e., all regex would be unfamiliar to you and difficult to understand at this point?
GlitchMr Well, not exactly 13:29
I can understand that [] is like (?:)...
en.wikipedia.org/wiki/Perl_6_rules 13:30
It just wasn't on Wikipedia...
<[]>...
whatever...
PerlJam GlitchMr: ah, that's why you should read the synopsis as moritz__ suggested.
GlitchMr And doing [a|b|c|d|e|f|...] would be really weird
PerlJam GlitchMr: it's the definitive source for the Perl6 regex syntax 13:31
GlitchMr I was trying [[a-z]]... nope
13:31 moritz__ left
moritz back 13:32
dalek ast: 2278414 | Coke++ | S (2 files):
niecza (auto)unfudge
13:33
moritz [Coke]: does that mean you have solved your autounfudge troubles?
13:40 SHODAN left 13:47 localhost left 13:49 localhost joined 13:54 drbean left 13:57 y3llow is now known as help, help is now known as y3llow 13:58 aqz joined
[Coke] moritz: lost in the backscroll, but the /first/ file had the wrong exit code. each subsequent file seemed fine. 13:58
[Coke] will figure out that one file's issues later.
14:01 drbean joined 14:07 risou_awy is now known as risou 14:08 risou is now known as risou_awy 14:09 GlitchMr left
[Coke] moritz: autounfudge could be moved to roast without any modifications, I think. (except perhaps removing a default value for implementation and making it a required argument) 14:18
(might also want perl6-limited, at that point, and then implementaitons can just make sure there have something called ./perl6 that works) 14:19
moritz [Coke]: or just base the invocation form on the implname 14:22
14:22 risou_awy is now known as risou
moritz my %invocation = (rakudo => [$^X, "tools/perl6-limited.pl"], niecza = [qw/mono run/Niecza.exe/]); 14:23
[Coke] moritz: mono may not be the right way to run Niecza. 14:24
so I'd make that a command line arg, then.
moritz [Coke]: is there a better, more generic invocation?
flussence the only more generic way I can think of would be to use binfmt_misc in the kernel and invoke the .exe directly... 14:26
moritz flussence: well, the first part kinda contradicts "generic" :-) 14:27
flussence generic on the fudge script's side, at least. I''m not sure how other *nix OSes would work then though. 14:28
14:33 wtw left 14:43 mj41 left 14:45 drbean left 14:50 drbean joined 15:02 koban left 15:04 kst left, kst joined 15:11 kaleem joined 15:13 GlitchMr joined, baest left
TimToady masak: regarding "allowed to panic, once", it's something I said verbally several times over the years, mostly in unrecorded Q&A sessions. Eventually I decided it needed to be written down, and S01 seemed like the right place to do it. 15:15
but we were dealing with panic from the beginning: A01 has "Nobody should panic when we..." 15:16
and somewhere near the beginning I had the thought that it's fine if we all panic, as long as we don't all do it at the same time. 15:17
dunno if that got written down anywhere
15:19 LuRy left 15:24 daniel-s left, LuRy joined 15:25 LuRy left 15:28 MayDaniel joined
TimToady is starting to think that making ».foo recurse by analogy to dwimmy «+» is probably a mistake, having wanted ».[0] to work more often than wanting a tree walk 15:34
perhaps it should be limited to one level of *shaped* array 15:35
15:35 meraxes left
TimToady or maybe it should stay at one dimension even there 15:35
and something slightly less huffmanly short be used for deeper mappings 15:36
there's a missing .treemap method currently too
so we'd have » means .map, and »» or some such means .treemap 15:37
and abandon the "foolish consistency" with infix dwimmery
15:39 drbean left
TimToady this is a direct result of actually trying to translate a program that runs under b to running under niecza and nom :) 15:39
moritz I for one won't miss the tree semantics of ». very much 15:40
15:40 alester joined
TimToady I know you were one of the people I argued with :) 15:40
moritz (that wasn't intended to be a "told you so" or anything) 15:41
TimToady but I'm thinking about humbly invoking Rule 2. :)
dimensional slicing seems a more appropriate use of "vectorizing" than treewalking does
15:44 drbean joined
TimToady and the unary tree walking is not at all the same dwimmery that is used in infix hypers, where it means replicate to match teh other side 15:45
so it was a false consistency from the start
[Coke] moritz: (generic niecza invocation) nope. that's the best one. but I wouldn't hard code it because it won't work on windows, e.g.
(... not that that matters right now.) 15:46
TimToady another thing I'm wondering; if we get constant folding right, then there's little harm in saying that "foo" xx $count is really a thunky operator that evaluates its left side every time (it *is* doubled, after all) 15:49
so xx would become more like && and friends
but the thunk is on the left 15:50
so rand xx 20 would produce 20 different random numbers as people always seem to expect
otoh, (rand for ^20) is not so far off from that, huffmanly speaking 15:51
but my argument is more about what people expect xx to do 15:52
and that xx already looks a bit thunky 15:54
and that a good optimizer will notice it doesn't have to re-evaluate things that won't change 15:55
sorear good * #perl6 16:01
tadzik hello sorear
TimToady would like sorear++'s opinion on the two proposed mid-course corrections above 16:02
and jnthn++'s too
sorear TimToady: actually, I meant to propose that xx change to you. 16:03
dalek p: 52e30a5 | mls++ | tools/build/PARROT_REVISION:
bump PARROT_REVISON
sorear mberends++ was complaining about how [ 0 xx matrixColumns ] xx matrixRows didn't DWIM the other day
TimToady the tradeoff with that one is that we force someone to use a temporary to suppress it
but yes, [] xx * is one of the use cases for chaning it 16:04
*ng
sorear as for », I can't say I have much of an opinion, I don't use hyperops much 16:05
16:14 baest joined
PerlJam TimToady: what was the use case for » being treemap in the first place? 16:25
16:25 GlitchMr left 16:31 kaleem left, baest left
sorear PerlJam: I thought it was @array3d»++ 16:33
16:35 kaleem joined
moritz TimToady: is Parcel.tree supposed modify in-place? 16:38
PerlJam sorear: that's fine for unary ops I guess, but for N-ary ops it seems you need structural correspondence. Seems like there are some thorns upon which to prick yourself. (I guess I'm just completely uncomfortable with treemap)
TimToady: you didn't ask my opinion, but +1 to both. :)
moritz *supposed to 16:40
16:41 huf left 16:42 Chillance joined
dalek ecs: fe06ca8 | larry++ | S0 (2 files):
more priming cleanup, spec .assuming * or Nil
16:43
16:44 ab5tract left
[Coke] phenny: ask sorear to please provide a failing program for RT #73944, pir or otherwise. 16:54
phenny [Coke]: I'll pass that on when sorear is around.
dalek ecs: 95d8b72 | larry++ | S03-operators.pod:
make xx thunky like a real loop
16:57
moritz can we plz have a general thingy for marking operands as thunky? kthxbye
proto infix:<xx>(& is thunky, $) { * } 16:58
TimToady I believe it's called a macro :) 16:59
moritz I believe something easier to used and better fleshed out than macros could be very useful here 17:00
TimToady s/useful/abuseful/
moritz and macros don't fall into the "abuseful" category? :-)
TimToady "hard things should be possible" 17:01
moritz thought more of the "simple things should be easy" part
TimToady mebbe, mebbe not 17:02
just write a macro macro that rewrites macro signatures :P
17:03 aindilis joined
TimToady but it's possible that it would be good documentation to mark the parameter 17:03
and we do, after all, use 'is' to mark other forms of parameter passing
moritz collects macro use cases for masak++ 17:04
TimToady so maybe that's the right way to go; me is just being a knee-jerk conservative, after thinking two impossible things before breakfast already
PerlJam TimToady: if *I* were the language designer, that's what I'd do .... but usually that means it shouldn't be generally done :) 17:05
TimToady so maybe we shouldn't have a 'macro' declarator, but have an 'is ast' trait 17:06
though note that macros *must* be predeclared, so maybe it's good to force recognition of 'is ast' and 'is thunk' by requiring 'macro' up front 17:08
moritz sounds sane
[Coke] phenny: ask pmichaud if we can close 96424 now that nom is "master". 17:09
phenny [Coke]: I'll pass that on when pmichaud is around.
moritz nom: say rand xx 5
p6eval nom 1c2c2d: OUTPUT«0.91615747039123 0.91615747039123 0.91615747039123 0.91615747039123 0.91615747039123␤»
moritz [Coke]: yes, can be closed (with tests) 17:11
[Coke] phenny: tell pmichaud never mind 17:12
phenny [Coke]: I'll pass that on when pmichaud is around.
[Coke] moritz: updated. 17:13
who had the macro grant? 17:15
moritz [Coke]: masak
(but not approved yet)
PerlJam [Coke]: did it get accepted?
[Coke]: if not, do you know when TPF will make a decision? 17:16
[Coke] rakudo: sub foo { my $y; our sub bar { say $y } }; bar 17:18
p6eval rakudo 1c2c2d: OUTPUT«Could not find sub &bar␤ in block <anon> at /tmp/SRJiCVZA9p:1␤ in <anon> at /tmp/SRJiCVZA9p:1␤»
dalek ast: b47bf2d | moritz++ | S05-capture/subrule.t:
RT #96424, capture from unsuccessful match
[Coke] PerlJam: it's not a normal grant, so grant committee members such as my self have zero insight into the process.
PerlJam [Coke]: bummer. 17:19
moritz who decides on Hague grants?
[Coke] that our sub line there : is that correct? (since bar is inside the scope of foo?)
moritz: karen, maybe?
moritz std: sub foo { my $y; our sub bar { say $y } }; bar 17:20
p6eval std 20ae3bd: OUTPUT«ok 00:01 121m␤»
moritz [Coke]: std says bar() is not an error
so rakudo is likely wrong here
[Coke] Do you trust std? ;)
moritz a bit :-) 17:21
diakopter what does niecza do
moritz niecza: sub foo { my $y; our sub bar { say $y } }; bar
p6eval niecza v10-39-g64c5778: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'bar' used at line 1␤␤Potential difficulties:␤ &foo is declared but not used at /tmp/YqfkFTQNHl line 1:␤------> sub foo ⏏{ my $y; our sub bar { say $y } }; bar␤␤␤Unhandled Exception: …
[Coke] I see nothing in the space that deals with the visibility of "our sub" canonically. 17:22
17:22 mj41 joined
[Coke] s/space/spec/ 17:22
17:22 drbean left
[Coke] and "our" is somewhat harder to search for. 17:23
moritz std: { our sub a() { } }; a 17:24
p6eval std 20ae3bd: OUTPUT«ok 00:01 121m␤»
moritz std: { my sub a() { } }; a
p6eval std 20ae3bd: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'a' used at line 1␤Potential difficulties:␤ &a is declared but not used at /tmp/_68WqjWwb_ line 1:␤------> { my sub a⏏() { } }; a␤Check failed␤FAILED 00:01 121m␤»
moritz std: { state sub a() { } }; a
p6eval std 20ae3bd: OUTPUT«===SORRY!===␤Undeclared routine:␤ 'a' used at line 1␤Check failed␤FAILED 00:01 121m␤»
17:28 drbean joined
jnthn std: sub foo { my $y; our sub bar { say $y } }; bar 17:31
p6eval std 20ae3bd: OUTPUT«ok 00:01 121m␤»
jnthn nom: sub foo { my $y; our sub bar { say $y } }; bar
p6eval nom 1c2c2d: OUTPUT«Could not find sub &bar␤ in block <anon> at /tmp/1U9ajfWIWV:1␤ in <anon> at /tmp/1U9ajfWIWV:1␤»
jnthn I think nom is correct here.
We only search lexically for routines.
Otherwise we couldn't really do undeclared routine detection at CHECK time. 17:32
nom: sub foo { my $y; our sub bar { say $y } }; our &bar; bar
p6eval nom 1c2c2d: OUTPUT«Any()␤»
jnthn You need to do that to get a lexical alias to bar in scope that can be called.
17:33 PacoLinux_ left
mls_ Hi jnthn! 17:33
jnthn o/ mls_
TimToady or declare a CANDO in the lexical scope that allows fallback to a package
jnthn Yeah, but I didn't implement that in nom yet, so it's no CANDO :P 17:34
17:34 PacoLinux_ joined
jnthn needs to re-read the CANDO spec at some point. 17:34
mls_ jnthn: I'm putting my exception/enter/leave work into github.com/mlschroe/rakudo so you can review the individual commits
[Coke] jnthn: does the optimization branch help: rt.perl.org/rt3/Ticket/Display.html?id=76416\ 17:35
TimToady the main thing is that leave should happen at unwinding time, not at throw time
mls_ yes.
TimToady sorry if I'm being redundant on that subject 17:36
[Coke] nom: say 1000/170000 # megs per iteration
p6eval nom 1c2c2d: OUTPUT«0.00588235294117647␤»
TimToady but it's something worth saying too many times rather than too few :)
[Coke] nom: say 1000/170000*1024*1024 # bytes (or so) per iteration
p6eval nom 1c2c2d: OUTPUT«6168.09411764706␤»
jnthn [Coke]: Not likely, that looks like a memory leak somewhere
mls_ No prob. I hope the implementation matchers the spec.
jnthn mls_: OK, great, thanks. I'll try and look at it soon, but I'm snowed under with $dayjob. 17:37
So it may take me a little bit to get to giving it a proper review.
mls_ jnthn: Don't worry. I also ran out of time today, so I'll commit the leave implementation on monday 17:38
TimToady jnthn: did you see my proposed » and xx revisions above? (already respecced the xx)
jnthn TimToady: No, not yet.
TimToady thinking of reverting » back to flat rather than tree-ish, since it seems more useful in practice 17:39
jnthn Ah, OK
TimToady and the dwim analogy with infix was flawed anyway
jnthn has too much of a headache to really think about anything much properly right now :/
diakopter :(
TimToady well, it's basically back to b semantics, though we might have a »» variant that preserves the deep version
jnthn TimToady: Both do seem to have use cases. 17:40
17:40 GlitchMr joined
TimToady I just found myself wanting to write ».[0] over and over 17:40
jnthn TimToady: Are we just talking about the ». case here?
TimToady or ».<foo>
both unary cases
not infix
jnthn OK, but that's really the same case after desugaring.
TimToady yes 17:41
jnthn >>+<< would still recurse?
as in, go deep...
TimToady so » would turn into ordinary map, while »» (or whatever) would be .leafmap or some such
yes, infixes would remain unchanged
jnthn It's totally possible I'm missing something, but that inconsistency seems...oddish.
moritz jnthn: thing is that you usually want to apply infix operators to scalars, but method calls not so often 17:42
TimToady and we've got Z+ for the flat semantics as well 17:43
jnthn ah, true
17:43 mj41 left
jnthn It just feels like it may be one of those inconsistencies that ends up nagging at us with time, until eventually having to be fixed. 17:44
I can see the argument that they want different defaults though.
Well, to the blury extent I can see anything right now. :)
Having a .leafmap that it can desugar to also makes some sense. 17:45
TimToady we could possible force »+« flat, and require «+» for any non-flat but symmetrical depth
jnthn Not sure the name is spot on
TimToady we probably need to think about tree visitation patterns a bit more
jnthn Hm, but that feels like overloading a simple distinction with multiple meanings.
[Coke] nom: $a='aaa'; $a ~~ s/a$/b/; say $a;
p6eval nom 1c2c2d: OUTPUT«===SORRY!===␤Symbol '$a' not predeclared in <anonymous> (/tmp/pg6wp7_ZKC:1)␤»
[Coke] nom: my $a='aaa'; $a ~~ s/a$/b/; say $a;
p6eval nom 1c2c2d: OUTPUT«aab␤»
[Coke] where is s// defined? 17:46
jnthn TimToady: (tree visitation) yeah, but we have multi dispatch for really fancy trees, so we probably don't need to go to town too much on it.
TimToady doubtless there some adt-ness that needs to be considered from the FP realm too, but I don't want to make your headache worse
jnthn Thanks. :)
moritz [Coke]: S05
TimToady errands & 17:47
[Coke] moritz: ... where is the /code/ 17:49
moritz [Coke]: sorry... quote:sym<s> in src/Perl6/Actions.pm
[Coke] sym! that's why I couldn't ack it. thank you. 17:50
17:51 Holy_Cow joined 17:52 kaleem left 17:56 Trashlord left 17:58 kst left, kst joined 17:59 donri left
moritz nom: !!!(21) 18:02
p6eval nom 1c2c2d: OUTPUT«Stub code executed␤ in block <anon> at /tmp/bIbQ6gda7W:1␤ in <anon> at /tmp/bIbQ6gda7W:1␤»
mls_ afk -> weekend 18:04
18:06 cosimo left 18:07 cosimo_ left, cosimo joined 18:14 drbean left
sorear TimToady: I think macro means something more like "is returns-ast" 18:16
phenny sorear: 16:54Z <[Coke]> ask sorear to please provide a failing program for RT #73944, pir or otherwise.
sorear nqp: pir::load_bytecode("perl6.pbc")
p6eval nqp: OUTPUT«"load_bytecode" couldn't find file 'perl6.pbc'␤current instr.: '_block1000' pc 24 ((file unknown):34) (/tmp/9cIl5dGI3Y:1)␤»
sorear [Coke]: STD looks in the current package for subs which is... generally considered wrong at this point. 18:17
nqp: pir::load_bytecode("perl6") 18:18
p6eval nqp: OUTPUT«"load_bytecode" couldn't find file 'perl6'␤current instr.: '_block1000' pc 24 ((file unknown):34) (/tmp/99bBcvzXXX:1)␤»
18:21 drbean joined
[Coke] nqp: pir::load_language("perl6") 18:21
p6eval nqp: OUTPUT«"load_language" couldn't find a compiler module for the language 'perl6'␤current instr.: '_block1000' pc 24 ((file unknown):34) (/tmp/RvDiQr12Ha:1)␤»
[Coke] nqp: pir::load_language("rakudo")
p6eval nqp: OUTPUT«"load_language" couldn't find a compiler module for the language 'rakudo'␤current instr.: '_block1000' pc 24 ((file unknown):34) (/tmp/JX_RdUmDhx:1)␤»
[Coke] oh. nqp isn't going to find perl6.
nqp: pir::load_language("nqp") 18:22
p6eval nqp: OUTPUT«"load_language" couldn't find a compiler module for the language 'nqp'␤current instr.: '_block1000' pc 24 ((file unknown):34) (/tmp/hXcjMjOtuj:1)␤»
sorear [Coke]: I don't have a current Parrot/Rakudo install, and I won't until jnthn++ gets the memory requirement back under half a gig or so 18:23
18:23 kst left
[Coke] hokay. 18:24
sorear it used to fail very easily
18:24 kst joined
[Coke] I just don't know what code you were trying to run. 18:25
moritz [Coke]: just reject the ticket, and have sorear++ file a new one, including code, when the issue arises again 18:26
[Coke] no worries, plenty of other tickets fo rnow.
moritz: I've stalled it, which is close enough. when we get to the point where we are looking at stalled tickets, we can reject it then.
18:27 wamba left
[Coke] rakudo: subset Person of Hash where { .keys.sort ~~ <firstname lastname> }; my Person $p = { :firstname<Kyle>, :lastname<Ha> } 18:28
p6eval rakudo 1c2c2d: ( no output ) 18:29
[Coke] rakudo: subset Person of Hash where { .keys.sort ~~ <firstname lastname> }; my Person $p = { :firstname<Kyle>, :lastname<Ha> }; say $p.perl
p6eval rakudo 1c2c2d: OUTPUT«{"firstname" => "Kyle", "lastname" => "Ha"}␤»
18:29 envi left, envi joined
[Coke] > <masak> rakudo: subset Austria of Array; my Austria $p = [] 18:29
rakudo: subset Austria of Array; my Austria $p = []
p6eval rakudo 1c2c2d: ( no output )
[Coke] rakudo: say "foo".substr(4).WHAT 18:32
p6eval rakudo 1c2c2d: OUTPUT«Failure()␤»
[Coke] rakudo: my $a = [ "this", "is", "so", "gross" ]; my $b = [ "that", "is", "so", "funny" ]; my $c = $b[2..3]; $a[3] = $c ; say $a[3].WHAT 18:35
p6eval rakudo 1c2c2d: OUTPUT«Parcel()␤»
18:50 kst left 18:51 kst joined 18:54 donri joined
[Coke] rakudo: 0 but last 18:59
p6eval rakudo 1c2c2d: OUTPUT«Warning␤No applicable candidates found to dispatch to for 'infix:<but>'. Available candidates are:␤:(Mu $obj, Positional @roles)␤:(Mu $obj, Mu $role)␤␤ in sub infix:<but> at src/gen/CORE.setting:7369␤ in block <anon> at /tmp/6ZlkkOzdRB:1␤ in <anon> at /tmp/6Zlkk… 19:00
[Coke] rakudo: last
p6eval rakudo 1c2c2d: OUTPUT«Warning␤»
[Coke] rakudo: $_ .= () 19:01
p6eval rakudo 1c2c2d: OUTPUT«Method '' not found for invocant of class 'Any'␤ in method dispatch:<.=> at src/gen/CORE.setting:714␤ in block <anon> at /tmp/2A2dETX4uf:1␤ in <anon> at /tmp/2A2dETX4uf:1␤»
[Coke] rakudo: my $a; $a .= ()
p6eval rakudo 1c2c2d: OUTPUT«Method '' not found for invocant of class 'Any'␤ in method dispatch:<.=> at src/gen/CORE.setting:714␤ in block <anon> at /tmp/tKfQigPDKj:1␤ in <anon> at /tmp/tKfQigPDKj:1␤»
[Coke] rakudo: Any .= ()
p6eval rakudo 1c2c2d: OUTPUT«Method '' not found for invocant of class 'Any'␤ in method dispatch:<.=> at src/gen/CORE.setting:714␤ in block <anon> at /tmp/YVP9C3AczC:1␤ in <anon> at /tmp/YVP9C3AczC:1␤»
19:03 plobsing_ left
moritz rakudo: Any .= [] 19:06
p6eval rakudo 1c2c2d: OUTPUT«Cannot assign to a non-container␤ in method dispatch:<.=> at src/gen/CORE.setting:714␤ in block <anon> at /tmp/1Cnc51jbSH:1␤ in <anon> at /tmp/1Cnc51jbSH:1␤»
19:21 wamba joined 19:27 benabik joined 19:28 colomon joined 19:29 gbacon left 19:35 donri left 19:43 envi left, GlitchMr left 20:04 alvis left 20:10 alester left 20:17 alvis joined 20:21 kst left 20:22 kst joined 20:28 wamba left 20:31 dorlamm joined 20:33 huf joined 20:46 Trashlord joined 20:56 abercrombie joined 21:16 dorlamm left 21:20 drbean left 21:27 drbean joined 21:49 kst left, kst joined 21:52 Holy_Cow left, bluescreen10 left
im2ee So... Good night #perl6 ! o/ 21:53
:)
21:54 pyrimidine left 22:09 im2ee left 22:32 S11001001 joined 22:49 jferrero left 22:56 packetknife joined 23:30 MayDaniel left