»ö« 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 1Potential difficulties: &foo is declared but not used at /tmp/YqfkFTQNHl line 1:------> sub foo ⏏{ my $y; our sub bar { say $y } }; barUnhandled 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 1Potential difficulties: &a is declared but not used at /tmp/_68WqjWwb_ line 1:------> { my sub a⏏() { } }; aCheck failedFAILED 00:01 121m» | ||
moritz | std: { state sub a() { } }; a | ||
p6eval | std 20ae3bd: OUTPUT«===SORRY!===Undeclared routine: 'a' used at line 1Check failedFAILED 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«WarningNo 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
|