| Time |
S |
Nick |
Message |
| 00:07 |
|
|
replore joined #perl6 |
| 00:40 |
|
|
carlin joined #perl6 |
| 00:42 |
|
|
sivoais joined #perl6 |
| 00:49 |
|
|
BLZbubba joined #perl6 |
| 00:53 |
|
|
[Coke] joined #perl6 |
| 01:06 |
|
|
drbean joined #perl6 |
| 01:20 |
|
|
wolfman2000 joined #perl6 |
| 01:38 |
|
diakopter |
oh noes, Out of memory trying to build std on cygwin. :/ |
| 01:41 |
|
|
Sarten-X joined #perl6 |
| 02:06 |
|
|
envi joined #perl6 |
| 02:12 |
|
|
replore_ joined #perl6 |
| 02:58 |
|
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» |
| 02:58 |
|
p6eval |
..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» |
| 02:59 |
|
soh_cah_toa |
isn't the . twigil supposed to create a public accessor method? |
| 03:01 |
|
|
cognominal_ joined #perl6 |
| 03:02 |
|
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» |
| 03:02 |
|
p6eval |
..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» |
| 03:02 |
|
colomon |
soh_cah_toa: I believe it's read only by default |
| 03:02 |
|
soh_cah_toa |
oh yeah, i think i remember that know |
| 03:02 |
|
soh_cah_toa |
*now |
| 03:11 |
|
|
drbean joined #perl6 |
| 03:17 |
|
|
odoacre joined #perl6 |
| 03:28 |
|
|
ponbiki joined #perl6 |
| 03:35 |
|
sorear |
good * #perl6 |
| 03:35 |
|
soh_cah_toa |
sorear: howdy |
| 03:38 |
|
sorear |
hello diakopter, soh_cah_toa, jnthn |
| 03:39 |
|
sorear |
I wish I knew what's up with my internet connection now |
| 03:39 |
|
sorear |
host02 is infuriatingly laggy and even ping google.com is coming up 300+ |
| 03:39 |
|
sorear |
used to be <20 |
| 03:39 |
|
soh_cah_toa |
ouch |
| 03:51 |
|
sorear |
been like this for about 3 days |
| 03:52 |
|
sorear |
jnthn: soh_cah_toa: FWIW I'm looking into niecza changes that will allow our Str $x |
| 03:53 |
|
soh_cah_toa |
sorear: does the spec allow that though? |
| 03:53 |
|
soh_cah_toa |
now i understand why it doesn't |
| 03:54 |
|
soh_cah_toa |
s/it/rakudo/ |
| 03:54 |
|
sorear |
soh_cah_toa: the spec is silent on the issue |
| 03:54 |
|
soh_cah_toa |
interesting |
| 03:55 |
|
sorear |
the synopses leave many things implied |
| 03:56 |
|
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 |
|
|
satyavvd joined #perl6 |
| 03:56 |
|
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 #perl6 |
| 04:15 |
|
soh_cah_toa |
does p6 have a 'use lib'-like pragma or do i have to actually modify @*INC? |
| 04:18 |
|
sorear |
please don't modify @*INC. |
| 04:18 |
|
sorear |
use lib! use lib! |
| 04:18 |
|
soh_cah_toa |
i know, i don't want to |
| 04:19 |
|
soh_cah_toa |
i don't think 'use lib' works though :\ |
| 04:19 |
|
* soh_cah_toa |
double checks |
| 04:20 |
|
soh_cah_toa |
yeah, it doesn't work. unless i'm doing something wrong... |
| 04:23 |
|
|
molaf joined #perl6 |
| 04:40 |
|
|
jaldhar_ joined #perl6 |
| 04:47 |
|
|
jaldhar_ joined #perl6 |
| 04:54 |
|
|
envi joined #perl6 |
| 05:00 |
|
|
cognominal joined #perl6 |
| 05:03 |
|
|
SHODAN joined #perl6 |
| 05:04 |
|
|
kaleem joined #perl6 |
| 05:13 |
|
sorear |
masak: ping |
| 05:15 |
|
|
gbacon joined #perl6 |
| 05:16 |
|
|
alvis joined #perl6 |
| 05:19 |
|
sorear |
phenny: tell masak After a careful rereading of http://192.220.96.201/dylan/li[…]ion-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. |
| 05:20 |
|
tadzik |
jnthn: no particular reason :) |
| 05:26 |
|
dalek |
ecosystem: ff8b757 | tadzik++ | META.list: |
| 05:26 |
|
dalek |
ecosystem: Add Pod::To::HTML |
| 05:26 |
|
dalek |
ecosystem: review: https://github.com/perl6/ecosy[…]commit/ff8b757cf5 |
| 06:03 |
|
|
kaleem joined #perl6 |
| 06:04 |
|
|
Trashlord joined #perl6 |
| 06:08 |
|
|
DarthGandalf joined #perl6 |
| 06:11 |
|
|
kaleem joined #perl6 |
| 06:27 |
|
|
koban joined #perl6 |
| 06:27 |
|
|
mattp_ joined #perl6 |
| 06:37 |
|
|
baest joined #perl6 |
| 06:40 |
|
|
_sri joined #perl6 |
| 06:55 |
|
|
GlitchMr joined #perl6 |
| 06:58 |
|
|
Trashlord joined #perl6 |
| 06:59 |
|
moritz |
good morning |
| 07:02 |
|
m6locks |
gm |
| 07:55 |
|
|
baest joined #perl6 |
| 08:00 |
|
|
dju joined #perl6 |
| 08:04 |
|
|
meraxes joined #perl6 |
| 08:05 |
|
|
ab5tract joined #perl6 |
| 08:08 |
|
|
sftp joined #perl6 |
| 08:29 |
|
|
sayu joined #perl6 |
| 08:33 |
|
|
daniel-s joined #perl6 |
| 08:35 |
|
|
cognominal_ joined #perl6 |
| 08:41 |
|
|
SHODAN joined #perl6 |
| 09:04 |
|
|
mj41 joined #perl6 |
| 09:21 |
|
|
drbean joined #perl6 |
| 09:25 |
|
flussence |
alester++ # good blog post |
| 09:25 |
|
|
daniel-s joined #perl6 |
| 09:25 |
|
|
baest joined #perl6 |
| 09:27 |
|
tadzik |
where is it? |
| 09:28 |
|
|
orafu joined #perl6 |
| 09:39 |
|
|
wtw joined #perl6 |
| 09:47 |
|
|
drbean joined #perl6 |
| 09:57 |
|
|
koban joined #perl6 |
| 09:59 |
|
mberends |
http://petdance.com/2011/10/th[…]-your-detractors/ |
| 10:04 |
|
|
ggoebel joined #perl6 |
| 10:08 |
|
tadzik |
makes sense |
| 10:54 |
|
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. |
| 10:55 |
|
tadzik |
oh, hey mls_ |
| 10:56 |
|
mls_ |
finally a day in this week where I have time for some perl6 hacking |
| 10:58 |
|
moritz |
\o/ |
| 10:59 |
|
|
gfldex joined #perl6 |
| 10:59 |
|
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 ;) |
| 11:01 |
|
mls_ |
plan for today: merge my pct changes to parrot, submit exception/leave handler changes |
| 11:01 |
|
mls_ |
to be reviewed by jnthn++ (and maybe pmichaud++) |
| 11:01 |
|
moritz |
mls_: does your exception changes fix the return value of try { } blocks when an exception was thrown? |
| 11:02 |
|
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 |
| 11:02 |
|
mls_ |
I think it currently "returns" the exception |
| 11:03 |
|
moritz |
wunderbar |
| 11:03 |
|
mls_ |
we can easily adapt that to anything TimToady++ comes up with |
| 11:04 |
|
mls_ |
PARROT_INLINE change pushed |
| 11:05 |
|
|
replore_ joined #perl6 |
| 11:06 |
|
moritz |
pushed to where? |
| 11:08 |
|
mls_ |
parrot master |
| 11:08 |
|
|
donri joined #perl6 |
| 11:10 |
|
mls_ |
lunch... |
| 11:18 |
|
|
wamba joined #perl6 |
| 11:26 |
|
|
drbean joined #perl6 |
| 11:36 |
|
|
Psyche^ joined #perl6 |
| 11:40 |
|
|
revdiablo joined #perl6 |
| 11:40 |
|
|
revdiablo joined #perl6 |
| 11:48 |
|
GlitchMr |
niecza: ('aa' ~~ /a++a/).perl |
| 11:48 |
|
p6eval |
niecza v10-39-g64c5778: ( no output ) |
| 11:48 |
|
GlitchMr |
niecza: (/a++a/).perl |
| 11:48 |
|
p6eval |
niecza v10-39-g64c5778: ( no output ) |
| 11:48 |
|
GlitchMr |
rakudo (/a++a/).perl |
| 11:49 |
|
GlitchMr |
rakudo: (/a++a/).perl |
| 11:49 |
|
p6eval |
rakudo 1c2c2d: OUTPUT«===SORRY!===Quantifier quantifies nothing at line 1, near "a/).perl"» |
| 12:02 |
|
|
envi joined #perl6 |
| 12:02 |
|
|
kfo_ joined #perl6 |
| 12:03 |
|
|
donri joined #perl6 |
| 12:07 |
|
moritz |
std: /a++/ |
| 12:07 |
|
p6eval |
std 20ae3bd: OUTPUT«ok 00:01 120m» |
| 12:09 |
|
|
kst joined #perl6 |
| 12:12 |
|
|
gbacon joined #perl6 |
| 12:16 |
|
|
LuRy joined #perl6 |
| 12:24 |
|
|
bluescreen10 joined #perl6 |
| 12:31 |
|
|
jlaire joined #perl6 |
| 12:34 |
|
|
kst joined #perl6 |
| 12:55 |
|
|
moritz_ joined #perl6 |
| 12:55 |
|
|
amkrankruleuen joined #perl6 |
| 12:57 |
|
moritz_ |
/o\ bad net weather |
| 12:59 |
|
flussence |
just wrote this... https://github.com/flussence/T[…]9133/doc/wrap.mkd |
| 13:00 |
|
|
moritz__ joined #perl6 |
| 13:00 |
|
flussence |
I can almost understand how hard it is for the WHATWG people now :) |
| 13:01 |
|
|
Sarten-X joined #perl6 |
| 13:04 |
|
|
Holy_Cow joined #perl6 |
| 13:05 |
|
|
GlitchMr joined #perl6 |
| 13:05 |
|
|
Holy_Cow left #perl6 |
| 13:10 |
|
GlitchMr |
How can I spell /[A-Za-z0-9_-]+/, except in Perl 6? |
| 13:12 |
|
moritz__ |
GlitchMr: read S05 |
| 13:17 |
|
PerlJam |
GlitchMr: replace the - than are meant to be ranges with .. and replace [ with <[ and ] with ]> and you're there :) |
| 13:17 |
|
PerlJam |
GlitchMr: add some whitespace for readability too |
| 13:21 |
|
moritz__ |
PerlJam: you can have him read the docs too, that way he might pick up a bit more Perl 6 :-) |
| 13:23 |
|
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:24 |
|
PerlJam |
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 |
|
|
im2ee joined #perl6 |
| 13:25 |
|
[Coke] |
moritz++ |
| 13:25 |
|
GlitchMr |
Sorry, I was away... |
| 13:25 |
|
GlitchMr |
<[A..Za..z0..9_-]>... ok? |
| 13:25 |
|
im2ee |
Hello! :) |
| 13:26 |
|
PerlJam |
im2ee: greetings |
| 13:26 |
|
GlitchMr |
:) |
| 13:26 |
|
flussence |
std: /<[A..Za..z0..9_-]>... ok?/ |
| 13:26 |
|
p6eval |
std 20ae3bd: OUTPUT«ok 00:01 121m» |
| 13:26 |
|
[Coke] |
that looks suspiciously like a builtin rule, also. |
| 13:26 |
|
GlitchMr |
Thanks for help... I cannot understand those Perl 6 rules... |
| 13:26 |
|
GlitchMr |
But it makes sense... |
| 13:27 |
|
PerlJam |
GlitchMr: what do you have trouble understanding? |
| 13:27 |
|
moritz__ |
well, \w matches all those alphanumeric things, but also non-ASCII alphanumerics |
| 13:27 |
|
GlitchMr |
Well, it's just long article... |
| 13:27 |
|
moritz__ |
so it wouldbe [\w|'-'] |
| 13:27 |
|
moritz__ |
so you need a bit more time |
| 13:28 |
|
GlitchMr |
Well, I haven't really programmed in Perl 5... |
| 13:28 |
|
PerlJam |
GlitchMr: oh, so you lack a regex background in general? |
| 13:28 |
|
GlitchMr |
Well, I used somewhat preg_replace() in PHP... but I guess it's different that this |
| 13:28 |
|
PerlJam |
GlitchMr: i.e., all regex would be unfamiliar to you and difficult to understand at this point? |
| 13:29 |
|
GlitchMr |
Well, not exactly |
| 13:29 |
|
GlitchMr |
I can understand that [] is like (?:)... |
| 13:30 |
|
GlitchMr |
http://en.wikipedia.org/wiki/Perl_6_rules |
| 13:30 |
|
GlitchMr |
It just wasn't on Wikipedia... |
| 13:30 |
|
GlitchMr |
<[]>... |
| 13:30 |
|
GlitchMr |
whatever... |
| 13:30 |
|
PerlJam |
GlitchMr: ah, that's why you should read the synopsis as moritz__ suggested. |
| 13:30 |
|
GlitchMr |
And doing [a|b|c|d|e|f|...] would be really weird |
| 13:31 |
|
PerlJam |
GlitchMr: it's the definitive source for the Perl6 regex syntax |
| 13:31 |
|
GlitchMr |
I was trying [[a-z]]... nope |
| 13:32 |
|
* moritz |
back |
| 13:33 |
|
dalek |
roast: 2278414 | Coke++ | S (2 files): |
| 13:33 |
|
dalek |
roast: niecza (auto)unfudge |
| 13:33 |
|
dalek |
roast: review: https://github.com/perl6/roast/commit/2278414108 |
| 13:33 |
|
moritz |
[Coke]: does that mean you have solved your autounfudge troubles? |
| 13:49 |
|
|
localhost joined #perl6 |
| 13:58 |
|
|
aqz joined #perl6 |
| 13:58 |
|
[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 #perl6 |
| 14:18 |
|
[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:19 |
|
[Coke] |
(might also want perl6-limited, at that point, and then implementaitons can just make sure there have something called ./perl6 that works) |
| 14:22 |
|
moritz |
[Coke]: or just base the invocation form on the implname |
| 14:23 |
|
moritz |
my %invocation = (rakudo => [$^X, "tools/perl6-limited.pl"], niecza = [qw/mono run/Niecza.exe/]); |
| 14:24 |
|
[Coke] |
moritz: mono may not be the right way to run Niecza. |
| 14:24 |
|
[Coke] |
so I'd make that a command line arg, then. |
| 14:24 |
|
moritz |
[Coke]: is there a better, more generic invocation? |
| 14:26 |
|
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:27 |
|
moritz |
flussence: well, the first part kinda contradicts "generic" :-) |
| 14:28 |
|
flussence |
generic on the fudge script's side, at least. I''m not sure how other *nix OSes would work then though. |
| 14:50 |
|
|
drbean joined #perl6 |
| 15:02 |
|
|
koban left #perl6 |
| 15:04 |
|
|
kst joined #perl6 |
| 15:11 |
|
|
kaleem joined #perl6 |
| 15:13 |
|
|
GlitchMr joined #perl6 |
| 15:15 |
|
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:16 |
|
TimToady |
but we were dealing with panic from the beginning: A01 has "Nobody should panic when we..." |
| 15:17 |
|
TimToady |
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 |
|
TimToady |
dunno if that got written down anywhere |
| 15:24 |
|
|
LuRy joined #perl6 |
| 15:28 |
|
|
MayDaniel joined #perl6 |
| 15:34 |
|
* 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:35 |
|
TimToady |
perhaps it should be limited to one level of *shaped* array |
| 15:35 |
|
TimToady |
or maybe it should stay at one dimension even there |
| 15:36 |
|
TimToady |
and something slightly less huffmanly short be used for deeper mappings |
| 15:36 |
|
TimToady |
there's a missing .treemap method currently too |
| 15:37 |
|
TimToady |
so we'd have » means .map, and »» or some such means .treemap |
| 15:37 |
|
TimToady |
and abandon the "foolish consistency" with infix dwimmery |
| 15:39 |
|
TimToady |
this is a direct result of actually trying to translate a program that runs under b to running under niecza and nom :) |
| 15:40 |
|
moritz |
I for one won't miss the tree semantics of ». very much |
| 15:40 |
|
|
alester joined #perl6 |
| 15:40 |
|
TimToady |
I know you were one of the people I argued with :) |
| 15:41 |
|
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. :) |
| 15:41 |
|
TimToady |
dimensional slicing seems a more appropriate use of "vectorizing" than treewalking does |
| 15:44 |
|
|
drbean joined #perl6 |
| 15:45 |
|
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 |
|
TimToady |
so it was a false consistency from the start |
| 15:45 |
|
[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. |
| 15:46 |
|
[Coke] |
(... not that that matters right now.) |
| 15:49 |
|
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 |
|
TimToady |
so xx would become more like && and friends |
| 15:50 |
|
TimToady |
but the thunk is on the left |
| 15:50 |
|
TimToady |
so rand xx 20 would produce 20 different random numbers as people always seem to expect |
| 15:51 |
|
TimToady |
otoh, (rand for ^20) is not so far off from that, huffmanly speaking |
| 15:52 |
|
TimToady |
but my argument is more about what people expect xx to do |
| 15:54 |
|
TimToady |
and that xx already looks a bit thunky |
| 15:55 |
|
TimToady |
and that a good optimizer will notice it doesn't have to re-evaluate things that won't change |
| 16:01 |
|
sorear |
good * #perl6 |
| 16:01 |
|
tadzik |
hello sorear |
| 16:02 |
|
* TimToady |
would like sorear++'s opinion on the two proposed mid-course corrections above |
| 16:02 |
|
TimToady |
and jnthn++'s too |
| 16:03 |
|
sorear |
TimToady: actually, I meant to propose that xx change to you. |
| 16:03 |
|
dalek |
nqp: 52e30a5 | mls++ | tools/build/PARROT_REVISION: |
| 16:03 |
|
dalek |
nqp: bump PARROT_REVISON |
| 16:03 |
|
dalek |
nqp: review: https://github.com/perl6/nqp/commit/52e30a5cc0 |
| 16:03 |
|
sorear |
mberends++ was complaining about how [ 0 xx matrixColumns ] xx matrixRows didn't DWIM the other day |
| 16:03 |
|
TimToady |
the tradeoff with that one is that we force someone to use a temporary to suppress it |
| 16:04 |
|
TimToady |
but yes, [] xx * is one of the use cases for chaning it |
| 16:04 |
|
TimToady |
*ng |
| 16:05 |
|
sorear |
as for », I can't say I have much of an opinion, I don't use hyperops much |
| 16:14 |
|
|
baest joined #perl6 |
| 16:25 |
|
PerlJam |
TimToady: what was the use case for » being treemap in the first place? |
| 16:33 |
|
sorear |
PerlJam: I thought it was @array3d»++ |
| 16:35 |
|
|
kaleem joined #perl6 |
| 16:37 |
|
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) |
| 16:38 |
|
PerlJam |
TimToady: you didn't ask my opinion, but +1 to both. :) |
| 16:40 |
|
moritz |
*supposed to |
| 16:42 |
|
|
Chillance joined #perl6 |
| 16:43 |
|
dalek |
specs: fe06ca8 | larry++ | S0 (2 files): |
| 16:43 |
|
dalek |
specs: more priming cleanup, spec .assuming * or Nil |
| 16:43 |
|
dalek |
specs: review: https://github.com/perl6/specs/commit/fe06ca8fe8 |
| 16:54 |
|
[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. |
| 16:57 |
|
dalek |
specs: 95d8b72 | larry++ | S03-operators.pod: |
| 16:57 |
|
dalek |
specs: make xx thunky like a real loop |
| 16:57 |
|
dalek |
specs: review: https://github.com/perl6/specs/commit/95d8b726d8 |
| 16:57 |
|
moritz |
can we plz have a general thingy for marking operands as thunky? kthxbye |
| 16:58 |
|
moritz |
proto infix:<xx>(& is thunky, $) { * } |
| 16:59 |
|
TimToady |
I believe it's called a macro :) |
| 17:00 |
|
moritz |
I believe something easier to used and better fleshed out than macros could be very useful here |
| 17:00 |
|
TimToady |
s/useful/abuseful/ |
| 17:00 |
|
moritz |
and macros don't fall into the "abuseful" category? :-) |
| 17:01 |
|
TimToady |
"hard things should be possible" |
| 17:01 |
|
* moritz |
thought more of the "simple things should be easy" part |
| 17:02 |
|
TimToady |
mebbe, mebbe not |
| 17:02 |
|
TimToady |
just write a macro macro that rewrites macro signatures :P |
| 17:03 |
|
|
aindilis joined #perl6 |
| 17:03 |
|
TimToady |
but it's possible that it would be good documentation to mark the parameter |
| 17:03 |
|
TimToady |
and we do, after all, use 'is' to mark other forms of parameter passing |
| 17:04 |
|
* 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 |
| 17:05 |
|
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:06 |
|
TimToady |
so maybe we shouldn't have a 'macro' declarator, but have an 'is ast' trait |
| 17:08 |
|
TimToady |
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 |
| 17:09 |
|
[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. |
| 17:09 |
|
moritz |
nom: say rand xx 5 |
| 17:09 |
|
p6eval |
nom 1c2c2d: OUTPUT«0.91615747039123 0.91615747039123 0.91615747039123 0.91615747039123 0.91615747039123» |
| 17:11 |
|
moritz |
[Coke]: yes, can be closed (with tests) |
| 17:12 |
|
[Coke] |
phenny: tell pmichaud never mind |
| 17:12 |
|
phenny |
[Coke]: I'll pass that on when pmichaud is around. |
| 17:13 |
|
[Coke] |
moritz: updated. |
| 17:15 |
|
[Coke] |
who had the macro grant? |
| 17:15 |
|
moritz |
[Coke]: masak |
| 17:15 |
|
moritz |
(but not approved yet) |
| 17:15 |
|
PerlJam |
[Coke]: did it get accepted? |
| 17:16 |
|
PerlJam |
[Coke]: if not, do you know when TPF will make a decision? |
| 17:18 |
|
[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» |
| 17:18 |
|
dalek |
roast: b47bf2d | moritz++ | S05-capture/subrule.t: |
| 17:18 |
|
dalek |
roast: RT #96424, capture from unsuccessful match |
| 17:18 |
|
dalek |
roast: review: https://github.com/perl6/roast/commit/b47bf2d857 |
| 17:18 |
|
[Coke] |
PerlJam: it's not a normal grant, so grant committee members such as my self have zero insight into the process. |
| 17:19 |
|
PerlJam |
[Coke]: bummer. |
| 17:19 |
|
moritz |
who decides on Hague grants? |
| 17:19 |
|
[Coke] |
that our sub line there : is that correct? (since bar is inside the scope of foo?) |
| 17:19 |
|
[Coke] |
moritz: karen, maybe? |
| 17:20 |
|
moritz |
std: sub foo { my $y; our sub bar { say $y } }; bar |
| 17:20 |
|
p6eval |
std 20ae3bd: OUTPUT«ok 00:01 121m» |
| 17:20 |
|
moritz |
[Coke]: std says bar() is not an error |
| 17:20 |
|
moritz |
so rakudo is likely wrong here |
| 17:20 |
|
[Coke] |
Do you trust std? ;) |
| 17:21 |
|
moritz |
a bit :-) |
| 17:21 |
|
diakopter |
what does niecza do |
| 17:21 |
|
moritz |
niecza: sub foo { my $y; our sub bar { say $y } }; bar |
| 17:21 |
|
p6eval |
niecza v10-39-g64c5778: OUTPUT«===[0mSORRY!===[0m��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: … |
| 17:22 |
|
[Coke] |
I see nothing in the space that deals with the visibility of "our sub" canonically. |
| 17:22 |
|
|
mj41 joined #perl6 |
| 17:22 |
|
[Coke] |
s/space/spec/ |
| 17:23 |
|
[Coke] |
and "our" is somewhat harder to search for. |
| 17:24 |
|
moritz |
std: { our sub a() { } }; a |
| 17:24 |
|
p6eval |
std 20ae3bd: OUTPUT«ok 00:01 121m» |
| 17:24 |
|
moritz |
std: { my sub a() { } }; a |
| 17:24 |
|
p6eval |
std 20ae3bd: OUTPUT«===[0mSORRY!===[0m�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�» |
| 17:24 |
|
moritz |
std: { state sub a() { } }; a |
| 17:24 |
|
p6eval |
std 20ae3bd: OUTPUT«===[0mSORRY!===[0m�Undeclared routine:� 'a' used at line 1�Check failed�FAILED 00:01 121m�» |
| 17:28 |
|
|
drbean joined #perl6 |
| 17:31 |
|
jnthn |
std: sub foo { my $y; our sub bar { say $y } }; bar |
| 17:31 |
|
p6eval |
std 20ae3bd: OUTPUT«ok 00:01 121m» |
| 17:31 |
|
jnthn |
nom: sub foo { my $y; our sub bar { say $y } }; bar |
| 17:31 |
|
p6eval |
nom 1c2c2d: OUTPUT«Could not find sub &bar in block <anon> at /tmp/1U9ajfWIWV:1 in <anon> at /tmp/1U9ajfWIWV:1» |
| 17:31 |
|
jnthn |
I think nom is correct here. |
| 17:31 |
|
jnthn |
We only search lexically for routines. |
| 17:32 |
|
jnthn |
Otherwise we couldn't really do undeclared routine detection at CHECK time. |
| 17:32 |
|
jnthn |
nom: sub foo { my $y; our sub bar { say $y } }; our &bar; bar |
| 17:32 |
|
p6eval |
nom 1c2c2d: OUTPUT«Any()» |
| 17:32 |
|
jnthn |
You need to do that to get a lexical alias to bar in scope that can be called. |
| 17:33 |
|
mls_ |
Hi jnthn! |
| 17:33 |
|
jnthn |
o/ mls_ |
| 17:33 |
|
TimToady |
or declare a CANDO in the lexical scope that allows fallback to a package |
| 17:34 |
|
jnthn |
Yeah, but I didn't implement that in nom yet, so it's no CANDO :P |
| 17:34 |
|
|
PacoLinux_ joined #perl6 |
| 17:34 |
|
* jnthn |
needs to re-read the CANDO spec at some point. |
| 17:34 |
|
mls_ |
jnthn: I'm putting my exception/enter/leave work into https://github.com/mlschroe/rakudo so you can review the individual commits |
| 17:35 |
|
[Coke] |
jnthn: does the optimization branch help: https://rt.perl.org/rt3/Ticket[…]lay.html?id=76416\ |
| 17:35 |
|
TimToady |
the main thing is that leave should happen at unwinding time, not at throw time |
| 17:35 |
|
mls_ |
yes. |
| 17:36 |
|
TimToady |
sorry if I'm being redundant on that subject |
| 17:36 |
|
[Coke] |
nom: say 1000/170000 # megs per iteration |
| 17:36 |
|
p6eval |
nom 1c2c2d: OUTPUT«0.00588235294117647» |
| 17:36 |
|
TimToady |
but it's something worth saying too many times rather than too few :) |
| 17:36 |
|
[Coke] |
nom: say 1000/170000*1024*1024 # bytes (or so) per iteration |
| 17:36 |
|
p6eval |
nom 1c2c2d: OUTPUT«6168.09411764706» |
| 17:36 |
|
jnthn |
[Coke]: Not likely, that looks like a memory leak somewhere |
| 17:36 |
|
mls_ |
No prob. I hope the implementation matchers the spec. |
| 17:37 |
|
jnthn |
mls_: OK, great, thanks. I'll try and look at it soon, but I'm snowed under with $dayjob. |
| 17:37 |
|
jnthn |
So it may take me a little bit to get to giving it a proper review. |
| 17:38 |
|
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) |
| 17:38 |
|
jnthn |
TimToady: No, not yet. |
| 17:39 |
|
TimToady |
thinking of reverting » back to flat rather than tree-ish, since it seems more useful in practice |
| 17:39 |
|
jnthn |
Ah, OK |
| 17:39 |
|
TimToady |
and the dwim analogy with infix was flawed anyway |
| 17:39 |
|
* jnthn |
has too much of a headache to really think about anything much properly right now :/ |
| 17:39 |
|
diakopter |
:( |
| 17:39 |
|
TimToady |
well, it's basically back to b semantics, though we might have a »» variant that preserves the deep version |
| 17:40 |
|
jnthn |
TimToady: Both do seem to have use cases. |
| 17:40 |
|
|
GlitchMr joined #perl6 |
| 17:40 |
|
TimToady |
I just found myself wanting to write ».[0] over and over |
| 17:40 |
|
jnthn |
TimToady: Are we just talking about the ». case here? |
| 17:40 |
|
TimToady |
or ».<foo> |
| 17:40 |
|
TimToady |
both unary cases |
| 17:40 |
|
TimToady |
not infix |
| 17:40 |
|
jnthn |
OK, but that's really the same case after desugaring. |
| 17:41 |
|
TimToady |
yes |
| 17:41 |
|
jnthn |
>>+<< would still recurse? |
| 17:41 |
|
jnthn |
as in, go deep... |
| 17:41 |
|
TimToady |
so » would turn into ordinary map, while »» (or whatever) would be .leafmap or some such |
| 17:41 |
|
TimToady |
yes, infixes would remain unchanged |
| 17:41 |
|
jnthn |
It's totally possible I'm missing something, but that inconsistency seems...oddish. |
| 17:42 |
|
moritz |
jnthn: thing is that you usually want to apply infix operators to scalars, but method calls not so often |
| 17:43 |
|
TimToady |
and we've got Z+ for the flat semantics as well |
| 17:43 |
|
jnthn |
ah, true |
| 17:44 |
|
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 |
|
jnthn |
I can see the argument that they want different defaults though. |
| 17:44 |
|
jnthn |
Well, to the blury extent I can see anything right now. :) |
| 17:45 |
|
jnthn |
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 |
| 17:45 |
|
jnthn |
Not sure the name is spot on |
| 17:45 |
|
TimToady |
we probably need to think about tree visitation patterns a bit more |
| 17:45 |
|
jnthn |
Hm, but that feels like overloading a simple distinction with multiple meanings. |
| 17:45 |
|
[Coke] |
nom: $a='aaa'; $a ~~ s/a$/b/; say $a; |
| 17:45 |
|
p6eval |
nom 1c2c2d: OUTPUT«===SORRY!===Symbol '$a' not predeclared in <anonymous> (/tmp/pg6wp7_ZKC:1)» |
| 17:45 |
|
[Coke] |
nom: my $a='aaa'; $a ~~ s/a$/b/; say $a; |
| 17:45 |
|
p6eval |
nom 1c2c2d: OUTPUT«aab» |
| 17:46 |
|
[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. |
| 17:46 |
|
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 |
| 17:46 |
|
jnthn |
Thanks. :) |
| 17:46 |
|
moritz |
[Coke]: S05 |
| 17:47 |
|
TimToady |
errands & |
| 17:49 |
|
[Coke] |
moritz: ... where is the /code/ |
| 17:49 |
|
moritz |
[Coke]: sorry... quote:sym<s> in src/Perl6/Actions.pm |
| 17:50 |
|
[Coke] |
sym! that's why I couldn't ack it. thank you. |
| 17:51 |
|
|
Holy_Cow joined #perl6 |
| 17:58 |
|
|
kst joined #perl6 |
| 18:02 |
|
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» |
| 18:04 |
|
mls_ |
afk -> weekend |
| 18:07 |
|
|
cosimo joined #perl6 |
| 18:16 |
|
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. |
| 18:16 |
|
sorear |
nqp: pir::load_bytecode("perl6.pbc") |
| 18:16 |
|
p6eval |
nqp: OUTPUT«"load_bytecode" couldn't find file 'perl6.pbc'current instr.: '_block1000' pc 24 ((file unknown):34) (/tmp/9cIl5dGI3Y:1)» |
| 18:17 |
|
sorear |
[Coke]: STD looks in the current package for subs which is... generally considered wrong at this point. |
| 18:18 |
|
sorear |
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 #perl6 |
| 18:21 |
|
[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)» |
| 18:21 |
|
[Coke] |
nqp: pir::load_language("rakudo") |
| 18:21 |
|
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)» |
| 18:21 |
|
[Coke] |
oh. nqp isn't going to find perl6. |
| 18:22 |
|
[Coke] |
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)» |
| 18:23 |
|
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:24 |
|
[Coke] |
hokay. |
| 18:24 |
|
sorear |
it used to fail very easily |
| 18:24 |
|
|
kst joined #perl6 |
| 18:25 |
|
[Coke] |
I just don't know what code you were trying to run. |
| 18:26 |
|
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. |
| 18:26 |
|
[Coke] |
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:28 |
|
[Coke] |
rakudo: subset Person of Hash where { .keys.sort ~~ <firstname lastname> }; my Person $p = { :firstname<Kyle>, :lastname<Ha> } |
| 18:29 |
|
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 |
| 18:29 |
|
p6eval |
rakudo 1c2c2d: OUTPUT«{"firstname" => "Kyle", "lastname" => "Ha"}» |
| 18:29 |
|
|
envi joined #perl6 |
| 18:29 |
|
[Coke] |
> <masak> rakudo: subset Austria of Array; my Austria $p = [] |
| 18:29 |
|
[Coke] |
rakudo: subset Austria of Array; my Austria $p = [] |
| 18:29 |
|
p6eval |
rakudo 1c2c2d: ( no output ) |
| 18:32 |
|
[Coke] |
rakudo: say "foo".substr(4).WHAT |
| 18:32 |
|
p6eval |
rakudo 1c2c2d: OUTPUT«Failure()» |
| 18:35 |
|
[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:51 |
|
|
kst joined #perl6 |
| 18:54 |
|
|
donri joined #perl6 |
| 18:59 |
|
[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 |
| 19:00 |
|
p6eval |
rakudo 1c2c2d: OUTPUT«Warning» |
| 19:01 |
|
[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» |
| 19:01 |
|
[Coke] |
rakudo: my $a; $a .= () |
| 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/tKfQigPDKj:1 in <anon> at /tmp/tKfQigPDKj:1» |
| 19:01 |
|
[Coke] |
rakudo: Any .= () |
| 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/YVP9C3AczC:1 in <anon> at /tmp/YVP9C3AczC:1» |
| 19:06 |
|
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 #perl6 |
| 19:27 |
|
|
benabik joined #perl6 |
| 19:28 |
|
|
colomon joined #perl6 |
| 20:17 |
|
|
alvis joined #perl6 |
| 20:22 |
|
|
kst joined #perl6 |
| 20:31 |
|
|
dorlamm joined #perl6 |
| 20:33 |
|
|
huf joined #perl6 |
| 20:46 |
|
|
Trashlord joined #perl6 |
| 20:56 |
|
|
abercrombie joined #perl6 |
| 21:27 |
|
|
drbean joined #perl6 |
| 21:49 |
|
|
kst joined #perl6 |
| 21:53 |
|
im2ee |
So... Good night #perl6 ! o/ |
| 21:53 |
|
im2ee |
:) |
| 21:54 |
|
|
pyrimidine left #perl6 |
| 22:32 |
|
|
S11001001 joined #perl6 |
| 22:56 |
|
|
packetknife joined #perl6 |