Time |
Nick |
Message |
00:00 |
timotimo |
bugadmin? can't you just write that in there? |
00:00 |
timotimo |
i can then close it |
00:02 |
psch |
replied |
00:02 |
psch |
mostly a clog dump, as i said... :) |
00:03 |
|
lizmat joined #perl6 |
00:04 |
timotimo |
i rejected the ticket |
00:04 |
timotimo |
you are my hero :) |
00:05 |
psch |
yay, achieved something today \o/ |
00:05 |
timotimo |
http://www.washingtonpost.com/blogs/wonkblog/wp/2015/04/23/this-terrifying-microsoft-ad-suggests-youre-not-working-hard-enough-in-the-bathroom/?hpid=z6 did i get this link from in here? |
00:08 |
psch |
that's the most public this troublesome trend of "work is life" has ever appeared to me |
00:08 |
timotimo |
i just have some kind of feeling that perl6 people would have a good life-work-balance |
00:09 |
psch |
well, the notion of "different kinds of work" can't be ignored |
00:09 |
psch |
as in, none here would be fit for any kind of data entry job |
00:09 |
psch |
but those somehow are important |
00:09 |
timotimo |
hm? |
00:10 |
psch |
well, the text mentions "filling out Excel sheets in bed" |
00:10 |
psch |
that's not really something i would readily assume Perl 6 people to have as a job :) |
00:11 |
* psch |
is reminded of a job training programm he had to participate in |
00:11 |
timotimo |
oh |
00:12 |
psch |
it was literally transscribing one kind of Excel sheet format into another |
00:12 |
timotimo |
;_; |
00:12 |
psch |
they even gave us printouts of the source spreadsheets |
00:14 |
timotimo |
printouts |
00:14 |
labster |
Perl 6 people, at the very least, have good pun-life balance. |
00:14 |
timotimo |
that makes me a bid sad |
00:16 |
labster |
That link is very scary. But the graphics need a panopticon in the corner to complete the message. |
00:16 |
timotimo |
.u mathematical |
00:16 |
yoleaux |
U+205F MEDIUM MATHEMATICAL SPACE [Zs] ( ) |
00:16 |
yoleaux |
U+27CB MATHEMATICAL RISING DIAGONAL [Sm] (⟋) |
00:16 |
yoleaux |
U+27CD MATHEMATICAL FALLING DIAGONAL [Sm] (⟍) |
00:17 |
labster |
.oO ( 27% of tech support workers have worked while asleep ) |
00:18 |
jdv79 |
is sleep working like sleep walking? |
00:19 |
timotimo |
%) |
00:23 |
psch |
the greatest part about that spreadsheet transscribe thing was that the computers we were to enter the data into new sheets had access to a network drive that had the source of the printouts |
00:23 |
psch |
so, yeah |
00:24 |
psch |
Excel can import data and rearrange columns |
00:24 |
psch |
ridiculous waste of time and resources, that whole gig |
00:27 |
timotimo |
;_; |
00:30 |
|
adu joined #perl6 |
00:30 |
|
andreoss` joined #perl6 |
00:42 |
|
aborazmeh joined #perl6 |
00:42 |
|
aborazmeh joined #perl6 |
01:05 |
dalek |
specs: 7749b59 | (Kris Shannon)++ | S32-setting-library/Containers.pod: |
01:05 |
dalek |
specs: Missing 'c' from rotor example |
01:05 |
dalek |
specs: review: https://github.com/perl6/specs/commit/7749b593a8 |
01:13 |
|
dayangkun joined #perl6 |
01:26 |
timotimo |
.u turkish |
01:26 |
yoleaux |
U+20BA TURKISH LIRA SIGN [Sc] (₺) |
01:27 |
timotimo |
how does perl6 handle stuff like upper-casing i in turkish locate to become a İ |
01:27 |
timotimo |
we don't go through the libc locale stuff, right? |
01:33 |
geekosaur |
isn't that in the unicode metadata somewhere? |
01:42 |
raydiak |
can unicode properties have different values for different locales? they use the same lowercase latin i english typers do, I think |
01:45 |
|
gcole joined #perl6 |
01:51 |
raydiak |
looks like unicode's answer to this problem is more than sufficiently complicated to handle locale-dependent mappings: http://www.unicode.org/reports/tr44/#Casemapping |
01:54 |
raydiak |
and the closest related thing I see in moar is around here or so: https://github.com/MoarVM/MoarVM/blob/826a8cc61e4368d9396edc704d19896102eb9d82/src/strings/unicode_ops.c#L76-86 |
01:55 |
|
ggoebel joined #perl6 |
01:58 |
|
aborazmeh joined #perl6 |
01:58 |
|
aborazmeh joined #perl6 |
02:14 |
|
gcole joined #perl6 |
02:16 |
|
bayprogrammer joined #perl6 |
02:45 |
dalek |
rakudo/nom: ecd3159 | TimToady++ | src/core/ (13 files): |
02:45 |
dalek |
rakudo/nom: .map is no longer flat; use .for for flat map |
02:45 |
dalek |
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/ecd3159c2d |
02:54 |
|
tinyblak joined #perl6 |
02:55 |
|
gcole joined #perl6 |
02:58 |
|
noganex joined #perl6 |
03:03 |
|
konsolebox joined #perl6 |
03:16 |
|
cbk1090 joined #perl6 |
03:18 |
cbk1090 |
Hello #perl6 ppl |
03:19 |
raydiak |
hi cbk1090 |
03:40 |
|
telex joined #perl6 |
03:41 |
adu |
hi raydiak |
03:41 |
yoleaux |
14 Apr 2015 04:46Z <tony-o> adu: supernovus is supernovus |
03:42 |
adu |
I think that was the most informative yoleaux-mail I've ever gotten :/ |
03:42 |
|
lolisa joined #perl6 |
03:45 |
labster |
.tell adu facts are facts |
03:45 |
yoleaux |
labster: I'll pass your message to adu. |
03:47 |
TimToady |
m: say ((1,2,3),(4,5,6)).map: *.join; |
03:47 |
camelia |
rakudo-moar ecd315: OUTPUT«123 456» |
03:48 |
TimToady |
m: say ((1,2,3),(4,5,6)).for: *.join; |
03:48 |
camelia |
rakudo-moar ecd315: OUTPUT«1 2 3 4 5 6» |
03:48 |
labster |
Should eval_lives_ok supress warnings? |
03:49 |
labster |
m: use Test; eval_lives_ok "Str.Str"; |
03:49 |
camelia |
rakudo-moar ecd315: OUTPUT«use of uninitialized value of type Str in string context in block <unit> at EVAL_0:1ok 1 - » |
03:52 |
labster |
RT #77650 already exists on this, but there was like no discussion on it. S24 doesn't mention warnings. |
03:52 |
synbot6 |
Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=77650 |
03:56 |
|
gcole joined #perl6 |
04:00 |
labster |
m: use Test; plan 1; eval_lives_ok "Str.Str"; |
04:00 |
camelia |
rakudo-moar ecd315: OUTPUT«1..1use of uninitialized value of type Str in string context in block <unit> at EVAL_0:1ok 1 - » |
04:06 |
|
hernan604 joined #perl6 |
04:41 |
TimToady |
wow, unflattening .join is even more spectacular than unflattening .map :) |
04:43 |
|
caymanboy joined #perl6 |
04:46 |
|
lue joined #perl6 |
04:46 |
TimToady |
(note to those following along: part of the GLR is lower-level implementation that should speed things up, but another part is to change most listy methods to not flatten by default; the listop forms will continue to flatten as they did before though, since that is controled by binding a slurpy param) |
04:49 |
TimToady |
only fails like 87 test files to make .join non-flattening... |
04:50 |
TimToady |
otoh, it lets the rotor test file pass after taking the itemization off of rotor output... |
04:50 |
TimToady |
so it's not all bad... |
04:55 |
* raydiak |
is excited |
04:56 |
labster |
the world is no longer flat |
04:57 |
raydiak |
and not just excited to see how many dozens or hundreds of lines of my own code I'll get to fix :) |
04:59 |
TimToady |
I dunno, maybe we should go with that rule that methods that begin with 'f' flatten :) |
05:00 |
TimToady |
oh wait, join doesn't begin with 'f', nevermind :) |
05:02 |
labster |
Methods that flatten should consist entirely of underscores :o) |
05:02 |
TimToady |
or at least start with one |
05:11 |
|
quester joined #perl6 |
05:12 |
|
kaare_ joined #perl6 |
05:17 |
TimToady |
well, maybe I'll make some underscore variants that have the old flattening behavior, and we can sort things out later |
05:40 |
|
Alina-malina joined #perl6 |
05:43 |
TimToady |
actually, ain't quite so bad as all that; turned out I made ~ into a destructive operation on arrays :) |
05:45 |
|
gcole joined #perl6 |
05:51 |
|
rindolf joined #perl6 |
05:53 |
TimToady |
okay, now it's only 17 failing test files :) |
05:57 |
|
ShimmerFairy joined #perl6 |
05:59 |
|
bayprogrammer joined #perl6 |
06:05 |
moritz |
m: say [1, 2, 3].map(* * 2) |
06:05 |
camelia |
rakudo-moar ecd315: OUTPUT«2 4 6» |
06:05 |
moritz |
m: say [1, (2, 3)].map(* * 2) |
06:05 |
camelia |
rakudo-moar ecd315: OUTPUT«2 4 6» |
06:06 |
moritz |
oh, maybe [] flattens |
06:06 |
moritz |
m: say (1, (2, 3)).map(* * 2) |
06:06 |
camelia |
rakudo-moar ecd315: OUTPUT«2 4» |
06:06 |
moritz |
m: say (1, (2, 3)).for(* * 2) |
06:06 |
camelia |
rakudo-moar ecd315: OUTPUT«2 4 6» |
06:15 |
|
ggoebel2 joined #perl6 |
06:16 |
|
CurtisOvidPoe_ joined #perl6 |
06:16 |
|
rivarun joined #perl6 |
06:17 |
|
Spot___ joined #perl6 |
06:17 |
|
Quom joined #perl6 |
06:19 |
|
arnsholt_ joined #perl6 |
06:19 |
|
nbrown04 joined #perl6 |
06:19 |
|
mls_ joined #perl6 |
06:19 |
|
masak_ joined #perl6 |
06:20 |
|
ilogger2_ joined #perl6 |
06:20 |
|
yogan joined #perl6 |
06:20 |
|
stux|RC joined #perl6 |
06:23 |
* moritz |
is glad that panda still bootstraps after the .map change |
06:29 |
|
clkao joined #perl6 |
06:32 |
jnthn |
Yes, [...] still flattens (by GLR design) as I remember it. |
06:32 |
yoleaux |
24 Apr 2015 22:49Z <lizmat> jnthn: why is while slower than gather while ??? https://github.com/rakudo/rakudo/commit/40a42410d2c9bdc9d2 |
06:41 |
|
lolisa joined #perl6 |
06:42 |
jnthn |
TimToady++ starting in the back-incompat changes soon after a release, so we get time to deal with the fallout |
06:43 |
jnthn |
*starting on |
06:43 |
* jnthn |
should start on coffee...though maybe starting in it would work if you can absorb caffeine too... |
06:45 |
|
laouji joined #perl6 |
06:46 |
jnthn |
lizmat: Odd, when I do this: |
06:46 |
jnthn |
ptime perl6-m -e "(^100000).pick(*, :eager)" |
06:46 |
jnthn |
ptime perl6-m -e "(^100000).pick(*)" |
06:46 |
jnthn |
The numbers are: |
06:46 |
jnthn |
1.152s |
06:46 |
jnthn |
1.132s |
06:47 |
jnthn |
But |
06:47 |
jnthn |
ptime perl6-m -e "my @a = (^100000).pick(*, :eager)" |
06:47 |
jnthn |
ptime perl6-m -e "my @a = (^100000).pick(*)" |
06:48 |
jnthn |
ome out about the same |
06:48 |
jnthn |
*Come |
06:48 |
jnthn |
Oh wait, but I dunno if Range.pick is special :) |
06:49 |
jnthn |
But anyway, then doing this: |
06:49 |
|
ggoebel joined #perl6 |
06:49 |
jnthn |
ptime perl6-m -e "my @a = ^100000; @a.pick(*)" |
06:49 |
jnthn |
uh, let's keep order the same |
06:50 |
jnthn |
ptime perl6-m -e "my @a = ^100000; @a.pick(*, :eager)" |
06:50 |
jnthn |
ptime perl6-m -e "my @a = ^100000; @a.pick(*)" |
06:50 |
jnthn |
I get |
06:50 |
jnthn |
0.588 |
06:50 |
jnthn |
1.210 |
06:50 |
jnthn |
So the :eager one is faster there |
06:51 |
|
krunen_ joined #perl6 |
06:51 |
|
japhb_ joined #perl6 |
06:52 |
|
atta_ joined #perl6 |
06:52 |
jnthn |
lizmat: I've tried a few variants but can't get the :eager version to come out slower here. |
06:52 |
|
leedo_ joined #perl6 |
06:53 |
|
nwc10_ joined #perl6 |
06:53 |
|
sergot_ joined #perl6 |
06:53 |
jnthn |
lizmat: Can you tell me exactly what code you ran, so I can reproduce what you saw? |
06:53 |
|
avuserow1 joined #perl6 |
06:53 |
|
khisanth_ joined #perl6 |
06:53 |
|
mephinet- joined #perl6 |
06:54 |
TimToady |
may well depend on cache sizes |
06:54 |
|
El_Che_ joined #perl6 |
06:55 |
TimToady |
and I wouldn't put too much effort into this pre-GLR |
06:56 |
jnthn |
Indeed, was more looking at it to see if there's a performance WAT somewhere :) |
06:56 |
TimToady |
nod, would be nice to understand it |
06:57 |
jnthn |
Anyway, nice to see that we're now moving on all of The Big Three :) |
06:57 |
jnthn |
(NFG getting there, NSA at least is fairly far along with the NA part, and now early GLR semantic changes landing) |
06:57 |
|
mst__ joined #perl6 |
06:58 |
|
lolisa joined #perl6 |
06:59 |
|
Juerd joined #perl6 |
06:59 |
lizmat |
good morning, #perl6! |
07:00 |
nine |
Good morning! |
07:00 |
lizmat |
jnthn: as it said in the commit message, the sample code was: my @a = ^100; for ^500 { @a.pick(*) } |
07:00 |
lizmat |
or my @a = ^100; for ^500 { @a.pick(*,:eager) } |
07:01 |
|
domidumont joined #perl6 |
07:03 |
|
cursork joined #perl6 |
07:03 |
jnthn |
lizmat: If you actually use the result in the loop, though (my @b = @a.pick(*)) then the eager one comes out faster. |
07:04 |
jnthn |
lizmat: I'm guessing the gather/take one is simply not being asked hard enough to produce elements in the first, so it does no work. |
07:05 |
lizmat |
ok, so we're looking at a test artefact |
07:05 |
jnthn |
m: sub foo() { my $i = 100; gather { while $i-- { take-rw $i } } }; for ^500 { foo() } |
07:05 |
camelia |
rakudo-moar ecd315: ( no output ) |
07:06 |
jnthn |
m: sub foo() { my $i = 100; gather { while $i-- { take-rw $i } } }; for ^500 { my @a = foo() } |
07:06 |
camelia |
rakudo-moar ecd315: ( no output ) |
07:06 |
jnthn |
oops |
07:06 |
jnthn |
m: sub foo() { my $i = 100; gather { while $i-- { say 'here' take-rw $i } } }; for ^500 { foo() } |
07:06 |
camelia |
rakudo-moar ecd315: OUTPUT«5===SORRY!5=== Error while compiling /tmp/fAn6kHMteATwo terms in a rowat /tmp/fAn6kHMteA:1------> 3 = 100; gather { while $i-- { say 'here'7⏏5 take-rw $i } } }; for ^500 { foo() } expecting any of: infix infix s…» |
07:06 |
jnthn |
m: sub foo() { my $i = 100; gather { while $i-- { say 'here'; take-rw $i } } }; for ^500 { foo() } |
07:06 |
camelia |
rakudo-moar ecd315: ( no output ) |
07:06 |
jnthn |
m: sub foo() { my $i = 100; gather { while $i-- { say 'here'; take-rw $i } } }; for ^500 { my @b = foo() } |
07:06 |
camelia |
rakudo-moar ecd315: OUTPUT«hereherehereherehereherehereherehereherehereherehereherehereherehereherehereherehereherehereherehereherehereherehereherehereherehereherehereherehere…» |
07:06 |
jnthn |
Yeah :) |
07:06 |
jnthn |
laziness FTW :P |
07:07 |
|
domidumont joined #perl6 |
07:08 |
lizmat |
*phew* |
07:13 |
jnthn |
:) |
07:13 |
|
Foxcool joined #perl6 |
07:15 |
lizmat |
turns out, the eager one is 3x as fast :-) |
07:16 |
|
nbdsp joined #perl6 |
07:20 |
nbdsp |
Greetings! Could someone advise please what is the difference of '<.ident>**0..1' from '?' in regexes? |
07:20 |
nbdsp |
...from '<.ident>?' |
07:22 |
jnthn |
None given it's non-capturing |
07:22 |
nine |
nbdsp: whatever the answer will be, please add it to doc.perl6.org :) |
07:23 |
jnthn |
If it were <ident>**0..1 vs <ident>? then the first always gives an list in the match object for <ident> (empty if it didn't match), while the second puts a Nil there if it didn't match. |
07:24 |
labster |
why has my version of panda decided to call itself "34"? |
07:24 |
nbdsp |
jnthn: thanks! |
07:24 |
lizmat |
alas, the eagerness of .pick(*,:eager) does *not* solve the flakiness of t/spec/integration/advent2013-day14.t :-( |
07:27 |
|
darutoko joined #perl6 |
07:28 |
|
xfix joined #perl6 |
07:28 |
|
xfix joined #perl6 |
07:33 |
lizmat |
when it fails now (although a lot less often) is with: |
07:33 |
lizmat |
# combiner failure:Cannot assign to a readonly variable or a value |
07:33 |
lizmat |
Cannot assign to a readonly variable or a value |
07:33 |
lizmat |
the line in question: my &block = @other.shift |
07:33 |
|
gcole joined #perl6 |
07:34 |
|
Rounin joined #perl6 |
07:34 |
lizmat |
fwiw, the segfaults seem gone now, which indicates there still might by an async / GatherIter interaction that's breaking us up |
07:37 |
jnthn |
lizmat: I don't see a use of .pick in that test file? |
07:37 |
lizmat |
it's hidden in EARLIEST |
07:38 |
jnthn |
eek |
07:38 |
lizmat |
when I was testing this before, it was crapping out a lot around that situation |
07:38 |
lizmat |
eek ? |
07:38 |
jnthn |
Oh, we pikc a ready thing at random... |
07:39 |
lizmat |
yup, that's the idea, create noise :-) |
07:39 |
jnthn |
Yeah, fair enough. |
07:43 |
lizmat |
hmmm... without the :eager I cannot get it to segfault anymore, but it errors out at the same location *but* withe extra info: |
07:43 |
lizmat |
# parse worker failure:Cannot assign to a readonly variable or a value |
07:43 |
lizmat |
# combiner failure:Cannot assign to a readonly variable or a value |
07:43 |
lizmat |
Cannot assign to a readonly variable or a value |
07:44 |
jnthn |
Yeah, I suspect somewhere we have over-sharing of state (due to under-cloning of blocks) |
07:44 |
dalek |
rakudo/nom: 9d74227 | lizmat++ | src/core/ (2 files): |
07:44 |
dalek |
rakudo/nom: Use eager pick(*) where it makes sense |
07:44 |
dalek |
rakudo/nom: |
07:44 |
dalek |
rakudo/nom: This makes at least EARLIEST a bit faster, and hopefully more stable. |
07:44 |
dalek |
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9d74227c00 |
07:46 |
labster |
m: dir(Str) |
07:46 |
camelia |
rakudo-moar ecd315: OUTPUT«use of uninitialized value of type Str in string context in block <unit> at /tmp/QByqGE4ekg:1use of uninitialized value of type Str in string context in any at /home/camelia/rakudo-inst-2/share/perl6/runtime/CORE.setting.moarvm:1Cannot unbox…» |
07:47 |
labster |
... a type object |
07:50 |
jnthn |
If you don't like it should patch a :D on it |
07:51 |
labster |
Although an empty string path is probably also a bad idea. Unless you're on VMS. In which case, it's still a bad idea. |
07:51 |
dalek |
Heuristic branch merge: pushed 83 commits to rakudo/newio by lizmat |
07:53 |
|
eli-se joined #perl6 |
07:53 |
|
Ven joined #perl6 |
07:53 |
labster |
m: dir("") |
07:53 |
camelia |
rakudo-moar ecd315: ( no output ) |
07:54 |
labster |
m: dir("").say |
07:54 |
camelia |
rakudo-moar ecd315: OUTPUT«"/home/camelia/.bash_history".IO "/home/camelia/p6eval-token".IO "/home/camelia/std".IO "/home/camelia/.ssh".IO "/home/camelia/star".IO "/home/camelia/perl5".IO "/home/camelia/.perl6".IO "/home/camelia/.rcc".IO "/home/camelia/p1".IO "/home/camelia/nqp-js".…» |
07:55 |
dalek |
rakudo/nom: b8f72f5 | TimToady++ | src/core/List.pm: |
07:55 |
dalek |
rakudo/nom: rotor no longer itemizes slices |
07:55 |
dalek |
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b8f72f5dcc |
07:55 |
dalek |
rakudo/nom: 998f019 | TimToady++ | src/core/ (5 files): |
07:55 |
dalek |
rakudo/nom: distinguish join from _join |
07:55 |
dalek |
rakudo/nom: |
07:55 |
dalek |
rakudo/nom: for now, _join is the old flattening join, until we decide the best notation |
07:55 |
dalek |
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/998f019709 |
07:55 |
Ven |
o/, #pelr6 |
07:55 |
yoleaux |
24 Apr 2015 13:03Z <hoelzro> Ven: no, but I have a name picked out if you want to use it |
07:55 |
yoleaux |
24 Apr 2015 13:04Z <hoelzro> Ven: "Speculaas", if you want it |
07:55 |
dalek |
roast: c49966e | TimToady++ | S (11 files): |
07:55 |
dalek |
roast: use _join where flattening is still desired |
07:55 |
dalek |
roast: review: https://github.com/perl6/roast/commit/c49966e41f |
07:55 |
Ven |
o/, #perl6 |
07:56 |
Ven |
hoelzro: dunno; but it seems like it could be useful maybe |
07:57 |
|
rindolf joined #perl6 |
07:57 |
labster |
Something makes me uncomfortable with dir("") being the same as dir(".") |
07:57 |
lizmat |
it's the same in any CLI, afaik |
07:58 |
labster |
% ls '' |
07:58 |
labster |
ls: fts_open: No such file or directory |
07:59 |
labster |
m: "".IO.say |
07:59 |
camelia |
rakudo-moar ecd315: OUTPUT«"/home/camelia".IO» |
08:00 |
lizmat |
labster: I meant the argumentless version, not the empty string version |
08:01 |
labster |
yeah, that's totally fine. |
08:09 |
|
Alina-malina joined #perl6 |
08:09 |
|
RabidGravy joined #perl6 |
08:15 |
lizmat |
TimToady: instead of using _join, wouldn't it be better to just use join listop in the core ? |
08:16 |
lizmat |
or in roast, for that matter ? |
08:16 |
lizmat |
feels to me, making a _join available now, will just lead to more pain down the road |
08:17 |
|
MARTIMM joined #perl6 |
08:18 |
TimToady |
if they were written as methods for valid left-to-right reasons, then .flat.join would make more sense than using the listop form |
08:24 |
jnthn |
Any reason not to just .flat.join now? |
08:24 |
jnthn |
It's just as easy ot search out /'.flat.'/ later if we want to clean it up later. |
08:24 |
TimToady |
no strong feelings on the subject |
08:26 |
lizmat |
m: sub a { my @a = <a b c>; @a.push("d") }; a.join.perl.say # is this correct? |
08:26 |
camelia |
rakudo-moar 998f01: OUTPUT«"abcd"» |
08:26 |
jnthn |
We at least with .flat make them switch to something that'll stay working; wiht ._join it has to change again later |
08:26 |
TimToady |
arrays are naturally flat |
08:26 |
jnthn |
lizmat: Yes, because list assignment is flattening. |
08:27 |
lizmat |
then I wonder why TimToady made this: |
08:27 |
lizmat |
my $abspath = MAKE-CLEAN-PARTS(MAKE-ABSOLUTE-PATH($path,$base))._join('/'); |
08:27 |
jnthn |
Or if you wnat less rules: = is an operator, operators are subs, sub-y list-y things flatten. |
08:27 |
lizmat |
use _join |
08:27 |
lizmat |
it seems unnecessary, or am I missing something ? |
08:27 |
TimToady |
well, something was failing near there, so that may or may not have been the fix for it |
08:28 |
lizmat |
ah, ok |
08:28 |
lizmat |
will investigate then |
08:28 |
TimToady |
you can take it back out and see if anything breaks... |
08:28 |
TimToady |
I tended to err on the side of too many _joins instead of twoo few |
08:28 |
TimToady |
*too |
08:28 |
lizmat |
okidoki |
08:29 |
TimToady |
but the overall plan is to remove the need for .lol, .tree, and .flat being thrown in all over the place to compensate for each other |
08:30 |
TimToady |
so mostly we're trying to de-itemize things that were done so to compensate for too much flattening right now |
08:30 |
TimToady |
like rotor, and probably .combinations |
08:31 |
TimToady |
basically we need to audit all the built-in methods for .flat assumptions |
08:32 |
TimToady |
but I need to sack out pretty soon, so can't really pursue that much further tonight |
08:32 |
|
usandfriends joined #perl6 |
08:32 |
|
usandfriends left #perl6 |
08:32 |
lizmat |
yeah, post 1am dev work tends to be useless in my experience |
08:33 |
TimToady |
you'll note I checked it in at 00:55 :) |
08:33 |
lizmat |
:-) |
08:52 |
dalek |
roast: 12b6cf5 | skids++ | S (2 files): |
08:52 |
dalek |
roast: Add tests for windows-1252 codepage support and IO.encoding |
08:52 |
dalek |
roast: fudge rakudo for not being able to switch input encoding |
08:52 |
dalek |
roast: fudge rakudo.jvm for behavior of JVM-builtin charset |
08:52 |
dalek |
roast: review: https://github.com/perl6/roast/commit/12b6cf5aa7 |
08:52 |
|
Ven joined #perl6 |
08:56 |
masak_ |
good antenoon, #perl6 |
09:10 |
|
rurban joined #perl6 |
09:18 |
RabidGravy |
morning |
09:18 |
jnthn |
skids: I'd write the tests without relying on being able to change input encoding. I'm not sure whether we'll actually support that. |
09:18 |
jnthn |
skids: At lesat, not if you read at anything above byte level. |
09:20 |
skids |
jnthn: What position do we want to take about the JVM behavior? |
09:20 |
jnthn |
It's really not a very sane thing to do when you're dealing with things that have to read ahead a bit to know when they've got a whole grapheme to hand back. |
09:21 |
jnthn |
skids: We're not trying to do any normalization stuff there yet, let alone NFG. |
09:21 |
skids |
jnthn: could we not just cache the byte value of read-but-not-used bytes? |
09:21 |
dalek |
rakudo/nom: 0c9c252 | lizmat++ | src/core/ (3 files): |
09:21 |
dalek |
rakudo/nom: Don't use _join in core, does not seem necessary |
09:21 |
dalek |
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0c9c252142 |
09:21 |
jnthn |
skids: If we really, really have a use case we can try to do that. |
09:22 |
jnthn |
skids: But it's likely to be fragile. |
09:22 |
|
gcole joined #perl6 |
09:23 |
skids |
OK, so roast-wise what's the best way to express "we might do this later, but..." -- 'skip' and a coment? |
09:23 |
jnthn |
Something like |
09:23 |
jnthn |
Though in this case it feels like the tests don't need to be written the way they currently are. |
09:23 |
jnthn |
(e.g. writing a mixed-encoding file) |
09:25 |
skids |
Just trying to kill multple birds :-) OK I'll massage those a bit. |
09:25 |
jnthn |
It's generally preferable to have tests that kill specific birds, so they more directly tell you what you broke :) |
09:29 |
dalek |
roast: 5da4536 | lizmat++ | S (8 files): |
09:29 |
dalek |
roast: /._join/.flat.join/ |
09:29 |
dalek |
roast: review: https://github.com/perl6/roast/commit/5da4536cf8 |
09:29 |
masak |
jnthn, rewriter of old proverbs: "it's better to kill a *specific* bird with one stone" :P |
09:30 |
masak |
I never thought of it that way, but yeah... if you really want to get rid of a specific bird, then having the ability to kill random birds with a stone is not much help... |
09:30 |
dalek |
rakudo/nom: 5aee9b4 | lizmat++ | src/core/Any.pm: |
09:30 |
dalek |
rakudo/nom: Eradicate _join, please use .flat.join instead |
09:30 |
dalek |
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5aee9b45e0 |
09:31 |
jnthn |
lizmat++ |
09:31 |
lizmat |
afk& |
09:31 |
|
quester left #perl6 |
09:36 |
|
gfldex joined #perl6 |
10:24 |
dalek |
roast: 7c1921f | skids++ | S16-filehandles/io.t: |
10:24 |
dalek |
roast: Independently test iso-8859-1 reading and writing without mixing encoding |
10:24 |
dalek |
roast: The windows-1252 tests should be fine as they happen before mixed encoding |
10:24 |
dalek |
roast: Mark mixed encoding tests with skip instead of todo as they might never work |
10:24 |
dalek |
roast: review: https://github.com/perl6/roast/commit/7c1921f112 |
10:28 |
|
pippo joined #perl6 |
10:28 |
pippo |
o/ #perl6 |
10:29 |
pippo |
my REPL does not support arrow up to get previous command anymore. Anybody else with same pb? |
10:30 |
pippo |
j: say "Hello"; |
10:30 |
camelia |
rakudo-jvm 5aee9b: OUTPUT«cannot connect to eval server: Connection refused» |
10:30 |
pippo |
o/ |
10:30 |
|
pippo left #perl6 |
10:34 |
|
kaare_ joined #perl6 |
10:42 |
|
diana_olhovik_ joined #perl6 |
10:50 |
|
molaf joined #perl6 |
10:51 |
|
bjz joined #perl6 |
10:53 |
|
gcole joined #perl6 |
10:59 |
|
eli-se joined #perl6 |
10:59 |
eli-se |
hola |
11:02 |
moritz |
j: say "another attempt" |
11:02 |
camelia |
rakudo-jvm 5aee9b: OUTPUT«another attempt» |
11:02 |
|
Ven joined #perl6 |
11:11 |
|
cognominal joined #perl6 |
11:12 |
psch |
j: use java::lang::System:from<Java>; say System; print System |
11:12 |
camelia |
rakudo-jvm 5aee9b: OUTPUT«org.perl6.nqp.sixmodel.TypeObject 7698d414__P6opaque__69 703b8164» |
11:13 |
psch |
j: use java::lang::System:from<Java>; say System.^name |
11:13 |
camelia |
rakudo-jvm 5aee9b: OUTPUT«java.lang.System» |
11:22 |
|
robinsmidsrod joined #perl6 |
11:22 |
|
pyrimidi_ joined #perl6 |
11:32 |
DrForr |
.tell jd79 Yes, Royal Garden. It's just across the street from the venue. |
11:32 |
yoleaux |
DrForr: I'll pass your message to jd79. |
11:39 |
|
colomon joined #perl6 |
11:50 |
|
robinsmidsrod joined #perl6 |
11:54 |
|
aborazmeh joined #perl6 |
11:54 |
|
aborazmeh joined #perl6 |
11:59 |
|
Ven joined #perl6 |
12:07 |
|
pyrimidine joined #perl6 |
12:08 |
|
robinsmidsrod joined #perl6 |
12:13 |
|
diana_olhovik joined #perl6 |
12:15 |
|
robinsmidsrod joined #perl6 |
12:29 |
|
ir2ivps4 joined #perl6 |
12:35 |
jdv79 |
DrForr: thanks. saved $425. |
12:37 |
DrForr |
No problem, I kinda got caught out, because of all the paperwork I'd not been sure of being able to make it, so I put it off. |
12:39 |
|
espadrine_ joined #perl6 |
12:42 |
|
gcole joined #perl6 |
12:43 |
|
espadrine_ joined #perl6 |
12:45 |
* ingy |
remembers back in 2002 when DrForr was release manager for Perl6 |
12:45 |
ingy |
or was that Parrot? |
12:49 |
DrForr |
Back then it was hard to tell :) |
12:49 |
masak |
right. the Parrot/Perl 6 release manager was the same thing until pmichaud was brought on board. |
12:51 |
DrForr |
I think he took up the mantle after me. |
12:51 |
masak |
DrForr: I kinda recognized your nick, but I didn't quite realize how long you've been involved. (longer than I have.) it's nice seeing you here again. :) |
12:52 |
DrForr |
Well, long long hiatus to be honest. |
12:52 |
masak |
oh, ok. |
12:53 |
DrForr |
But the welcome is still appreciated. |
12:53 |
masak |
I may recognize your nick from PerlMonks or something like that. |
12:54 |
DrForr |
Not likely, I"m not too active outside IRC. |
12:54 |
masak |
hm. then maybe one of the #perl channels. I'm not there often, but it happens. |
12:56 |
DrForr |
I happen to have more free time now that I don't have a 2-hour commute to work. |
12:56 |
|
Ven joined #perl6 |
12:57 |
lizmat |
ah, the joys of transsylvania! :-) |
12:58 |
DrForr |
Say what you will, it's relatively cheap living, and London (especially downtown) burned through my savings. |
12:59 |
lizmat |
fwiw, I love Cluj :-) |
13:01 |
Ven |
TimToady++ # apparent beginning of GLR |
13:02 |
* masak |
.oO( Good Luck, Right? ) |
13:03 |
Ven |
.oO( together we scander: GLR! GLR! GLR! :P ) |
13:04 |
|
proudzhu joined #perl6 |
13:04 |
|
aborazmeh joined #perl6 |
13:04 |
|
aborazmeh joined #perl6 |
13:05 |
|
proudzhu left #perl6 |
13:07 |
Ven |
It seems you can't vertically scroll on perl6.org, i.e. here: http://doc.perl6.org/type/Str#method_subst – the :x(0) example doesn't wrap, and I can't scroll. Can anybody else confirm |
13:09 |
DrForr |
I assume you mean horizontally, and yes, it doesn't wrap. |
13:10 |
DrForr |
Neither can I drag-select. CSS strikes again. |
13:10 |
DrForr |
CSS hits! CSS hits! You call a designer. |
13:10 |
DrForr |
--more-- |
13:11 |
timotimo |
argh |
13:12 |
psch |
DrForr: that looks suspiciously like DCSS :) |
13:12 |
psch |
although the style probably predates that particular usage |
13:14 |
* Ven |
remembers "a.|b" for "flattening version" proposed at apw... but also dismissed rather quickly |
13:15 |
Ven |
DrForr: urgh, yes, horizontally >_> |
13:15 |
timotimo |
you can overflow-x: scroll on div.highlight |
13:16 |
timotimo |
that'll have the grey background scroll with it and appear "cut off" at the right, though |
13:16 |
timotimo |
which looks weird, too |
13:25 |
|
Ven joined #perl6 |
13:30 |
dalek |
rakudo/nom: 0c197cd | lizmat++ | src/core/Supply.pm: |
13:30 |
dalek |
rakudo/nom: Add Supply.rotor(:partial) and deprecation |
13:30 |
dalek |
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0c197cd376 |
13:30 |
|
pmurias joined #perl6 |
13:30 |
pmurias |
hi |
13:31 |
dalek |
roast: 91e6423 | lizmat++ | S17-supply/rotor.t: |
13:31 |
dalek |
roast: Adapt Supply.rotor tests to match new API |
13:31 |
dalek |
roast: review: https://github.com/perl6/roast/commit/91e6423272 |
13:31 |
dalek |
roast: a9df78a | lizmat++ | S16-filehandles/io.t: |
13:31 |
dalek |
roast: Merge branch 'master' of https://github.com/perl6/roast |
13:31 |
dalek |
roast: review: https://github.com/perl6/roast/commit/a9df78ad2a |
13:35 |
lizmat |
afk for some 3D ultronic ageing |
13:35 |
DrForr |
Heh. I'm going in a few hours mysef. |
13:35 |
DrForr |
*myself |
13:36 |
lizmat |
.oO( avengeful times ) |
13:36 |
lizmat |
& |
13:37 |
[Tux] |
oh my. Text::CSV severely broken now :( |
13:37 |
[Tux] |
anythin EOL-related changed in the last two days? |
13:38 |
[Tux] |
2015-04-24 18:25:03 all was still passing and *I* didn't change anything past that |
13:39 |
[Tux] |
lizmat, ? |
13:39 |
psch |
[Tux]: NFG? |
13:39 |
DrForr |
She just went AFK. I'm not aware of anything, but I haven't updated today. |
13:39 |
[Tux] |
NFG? |
13:40 |
psch |
S99:NFG |
13:40 |
synbot6 |
Link: http://design.perl6.org/S99.html#NFG |
13:40 |
psch |
i think it landed at around 21:00 yesterday? |
13:40 |
|
telex joined #perl6 |
13:40 |
psch |
22:30, actually |
13:41 |
psch |
it's the biggest thing i can think of that changed |
13:41 |
psch |
but i'm unsure if it could interact badly with Text::CSV |
13:43 |
[Tux] |
I can't imagine |
13:43 |
psch |
there was something about control characters, too, but i'd have to reread the clog |
13:43 |
[Tux] |
a lot of non-unicode stuff now fails badly. real badly |
13:44 |
[Tux] |
and no warnings |
13:45 |
psch |
you'll probably want to golf as much as possible and ping jnthn++ about it |
13:46 |
[Tux] |
doing so right now |
13:46 |
psch |
there was also windows-1252 encoding, but that was yesterday morning, not evening |
13:46 |
psch |
[Tux]++ |
13:47 |
[Tux] |
regex doesn't split on , |
13:48 |
psch |
.u , |
13:48 |
yoleaux |
U+002C COMMA [Po] (,) |
13:50 |
psch |
m: say "," ~~ /,/ # this? |
13:50 |
camelia |
rakudo-moar 0c197c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/XXNxtvO8B2Unrecognized regex metacharacter , (must be quoted to match literally)at /tmp/XXNxtvO8B2:1------> 3say "," ~~ /7⏏5,/ # this? expecting any of: term» |
13:50 |
psch |
no, that should be right as-is |
13:50 |
* psch |
shrugs |
13:51 |
|
skids joined #perl6 |
13:53 |
|
nbdsp joined #perl6 |
13:54 |
[Tux] |
m: my$s=",";my$q=q{"};my$e=q{"};.perl.say for q{hello,","," ",world,"!"}.split(rx{\r\n|\r|\n|$s|$q|$e},:all).map: {if $_ ~~ Str { $_ if .chars;}else{.Str if .Bool;}} |
13:54 |
camelia |
rakudo-moar 0c197c: OUTPUT«"hello ,"" \""" ,"" \""" ,"" \""" \""" ,""world ,"" \"""! \""» |
13:54 |
[Tux] |
not ok |
13:55 |
nbdsp |
Greetings! I'm studying the "rakudo and nqp internals course" which is dated back to 2012 and some source code seems to be deprecated and I cannot figure out why a basic example from there doesn't work. Couldn't someone take a look please?: https://github.com/nbdsp/perl6-tst/blob/master/grammars.pl6 It fails on the last line without a descriptive message. |
13:58 |
|
gcole joined #perl6 |
14:00 |
skids |
nbdsp: the pod is eating everything I think. |
14:01 |
[Tux] |
psch, jnthn - https://gist.github.com/Tux/f6a9b0a268abb223b24e |
14:03 |
nbdsp |
skids: it runs up to the last line where it throws exception, seemingly during handling other exception, which isn't descriptive |
14:04 |
nbdsp |
The exception tells: This type does not support positional operations |
14:07 |
skids |
nbdsp: Add a CATCH block and .perl the error maybe? After removing the pod and adjusting lib, I can't get it to find HLL::Grammar. |
14:08 |
psch |
nbdsp: the rakudo and nqp internals code is NQP code, not Perl 6 |
14:08 |
psch |
nbdsp: you can find the rubyish example in nqp/examples, too |
14:09 |
nbdsp |
psch: thanks! I'll look there. |
14:11 |
skids |
Heh I was just about to say -- it shhebangs perl6 but isn't this nqp :-) |
14:13 |
psch |
[Tux]: the problem seems to be somewhere in chaining the map |
14:13 |
psch |
[Tux]: when i assign the .split result to an array and map over that i get the upper output from your gist |
14:13 |
psch |
[Tux]: i suspect that might be flattening changes |
14:13 |
psch |
m: my$s=",";my$q=q{"};my$e=q{"};.perl.say for q{hello,","," ",world,"!"}.split(rx{\r\n|\r|\n|$s|$q|$e},:all).flat.map: {if $_ ~~ Str { $_ if .chars;}else{.Str if .Bool;}} |
14:13 |
camelia |
rakudo-moar 0c197c: OUTPUT«"hello"",""\""",""\""",""\""" ""\""",""world"",""\"""!""\""» |
14:13 |
psch |
yup, sure looks like it :) |
14:14 |
[Tux] |
psch++ |
14:14 |
psch |
fwiw, that's the GLR-decided semantics, even if the GLR itself hasn't really happened yet |
14:15 |
nbdsp |
skids: I didn't know that NQP doesn't run with perl6 (I assumed it's subset). How to run NQP? |
14:15 |
psch |
nbdsp: if you have perl6 in your path you should also have nqp-$backend in your path |
14:15 |
[Tux] |
there are other failures too. might have the same casue |
14:15 |
[Tux] |
cause |
14:15 |
psch |
where $backend is m, j (or p) |
14:16 |
nbdsp |
psch: thanks! will try it |
14:24 |
nbdsp |
Seems like required 'lib.moarvm' isn't on my machine when I use '#!/usr/bin/env nqp-m' in shebang |
14:25 |
skids |
nbdsp: that's as far as I got, too. |
14:25 |
psch |
the rubyish example works here |
14:26 |
psch |
but i don't have a 'lib.moarvm' file in my perl6 install dir either |
14:26 |
nbdsp |
Thanks! Will use the example then. |
14:26 |
psch |
i suspect that's an artifact in the slides that got changed or so |
14:26 |
|
espadrine_ joined #perl6 |
14:32 |
|
Ven joined #perl6 |
14:33 |
[Tux] |
I see an 11% slowdown since 24-04 |
14:34 |
[Tux] |
reproducible |
14:49 |
masak |
huh. |
14:55 |
b2gills |
.ask TimToady If `map` is going to be the non-flattening version of `for` should the following work: `.say map ^4` ( perhaps we need a different "keyword" since `map ^4 { .say }` is even more problematic ) |
14:55 |
yoleaux |
b2gills: I'll pass your message to TimToady. |
14:55 |
psch |
b2gills: it's not about map vs for, it's about method form vs sub form |
14:56 |
psch |
(at least that's the guideline pmichaud++ stated in his blog) |
14:57 |
b2gills |
yeah but `.say for ^4` could be considered a different way to write `(^4).for({ .say })` but there isn't a way to write the former that doesn't flatten |
14:58 |
psch |
oh, right |
14:58 |
psch |
yeah, that makes sense |
14:58 |
psch |
well, the analogue is «map *.say, ^4», but that is a different syntactical construct |
14:59 |
b2gills |
I'm just thinking that `for` and `map` are going to be more or less two sides of the same coin, and I would like to see it be more rather than less ( but only if it makes sense ) |
14:59 |
psch |
m: .say for $(^4) # and this, but that explicit and still "for" |
14:59 |
camelia |
rakudo-moar 0c197c: OUTPUT«0..^4» |
15:00 |
psch |
i don't know if i'd like a "statementmod:<map>", but i can see the gap |
15:00 |
|
ssqq joined #perl6 |
15:01 |
|
molaf_ joined #perl6 |
15:04 |
b2gills |
m: map *.say, (^10).rotor(3); # seems to currently be broken |
15:04 |
camelia |
rakudo-moar 0c197c: OUTPUT«012345678» |
15:06 |
ssqq |
How to define non-capture re-used regex, just like `<.ws>` or `<.digit>`? |
15:07 |
psch |
ssqq: the . is what makes it non-capturing |
15:07 |
ssqq |
p6: my regex number { <.digit>+ }; say '12' ~~ / <.number> / |
15:07 |
camelia |
rakudo-moar 0c197c: OUTPUT«Method 'number' not found for invocant of class 'Cursor' in method ACCEPTS at src/gen/m-CORE.setting:16870 in block <unit> at /tmp/tmpfile:1» |
15:07 |
ssqq |
p6: my regex number { <.digit>+ }; say '12' ~~ / <number> / |
15:07 |
camelia |
rakudo-moar 0c197c: OUTPUT«「12」 number => 「12」» |
15:07 |
psch |
m: my token foo { "foo" }; say "foo" ~~ /<.&foo>/ |
15:07 |
camelia |
rakudo-moar 0c197c: OUTPUT«「foo」» |
15:07 |
psch |
m: my token foo { "foo" }; say "foo" ~~ /<&foo>/ |
15:07 |
camelia |
rakudo-moar 0c197c: OUTPUT«「foo」» |
15:08 |
psch |
hm, maybe that's only inside grammars? |
15:08 |
psch |
oh, no, the first non-alpha makes it non-capturing i think |
15:08 |
psch |
i.e. invoking it as a sub with the '&' |
15:08 |
ssqq |
psch: let me test |
15:08 |
* psch |
isn't sure he remembers that correctly |
15:11 |
b2gills |
It seems to me that it should probably work just as well as the capturing variant ( i.e. both should work, or neither should work ) |
15:11 |
psch |
"Whereas a leading . unambiguously calls a method, a leading & unambiguously calls a routine instead." |
15:11 |
psch |
(about 1/3 into S05) |
15:12 |
psch |
seeing as "my token { }" is a more like a lexical sub than a method it looks ok to me |
15:12 |
psch |
m: my token f { }; &f.^mro.say |
15:12 |
camelia |
rakudo-moar 0c197c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/Lj82dllzACNull regex not allowedat /tmp/Lj82dllzAC:1------> 3my token f { 7⏏5}; &f.^mro.say» |
15:12 |
psch |
m: my token f { ' ' }; &f.^mro.say |
15:12 |
camelia |
rakudo-moar 0c197c: OUTPUT«(Regex) (Method) (Routine) (Block) (Code) (Any) (Mu)» |
15:13 |
b2gills |
I guess, but that means there isn't a simple way to do the non-capturing variant outside of a grammar |
15:15 |
psch |
m: my token t { . }; say "ab" ~~ /<t><&t>/ |
15:15 |
camelia |
rakudo-moar 0c197c: OUTPUT«「ab」 t => 「a」» |
15:15 |
psch |
looks ok to me? |
15:15 |
|
Ven joined #perl6 |
15:22 |
|
dtscode joined #perl6 |
15:23 |
|
dtscode left #perl6 |
15:28 |
ssqq |
psch: Thanks anyway. |
15:32 |
|
zakharyas joined #perl6 |
15:35 |
|
lolisa joined #perl6 |
15:46 |
TimToady |
b2gills: vv yes, I've been thinking about that for some time as well |
15:46 |
yoleaux |
14:55Z <b2gills> TimToady: If `map` is going to be the non-flattening version of `for` should the following work: `.say map ^4` ( perhaps we need a different "keyword" since `map ^4 { .say }` is even more problematic ) |
15:47 |
|
gcole joined #perl6 |
15:51 |
TimToady |
and the listop form is not broken because listops typically flatten |
15:51 |
tony-o |
m: say $*PERL.version.perl; |
15:51 |
camelia |
rakudo-moar 0c197c: OUTPUT«Version.new('unknown')» |
15:51 |
tony-o |
m: say $*PERL.perl; |
15:51 |
camelia |
rakudo-moar 0c197c: OUTPUT«Perl.new(compiler => Compiler.new(release => "", build-date => DateTime.new(year => 2015, month => 4, day => 25, hour => 14, minute => 13, second => 21), codename => "", name => "rakudo", auth => "The Perl Foundation", version => Version.new('2015.4.51.g.0…» |
15:51 |
TimToady |
m: m: map *.say, (^10).rotor(3); # flat |
15:51 |
camelia |
rakudo-moar 0c197c: OUTPUT«012345678» |
15:51 |
TimToady |
m: m: map *.say, lol (^10).rotor(3); # flat |
15:51 |
camelia |
rakudo-moar 0c197c: OUTPUT«0 1 2 3 4 5 6 7 8» |
15:51 |
TimToady |
m: m: map *.say, lol |(^10).rotor(3); # flat |
15:51 |
camelia |
rakudo-moar 0c197c: OUTPUT«0 1 23 4 56 7 8» |
15:52 |
TimToady |
*not flat |
15:52 |
tony-o |
why is the version unknown ? |
15:52 |
TimToady |
m: m: map *.say, (^10).rotor(3).lol; # not flat |
15:52 |
camelia |
rakudo-moar 0c197c: OUTPUT«ListIter.new» |
15:52 |
TimToady |
m: m: map *.say, (^10).rotor(3).tree; # not flat |
15:52 |
camelia |
rakudo-moar 0c197c: OUTPUT«0 1 2 3 4 5 6 7 8» |
15:52 |
TimToady |
hmm |
15:52 |
TimToady |
m: m: map *.say, |(^10).rotor(3).tree; # not flat |
15:52 |
camelia |
rakudo-moar 0c197c: OUTPUT«0 1 23 4 56 7 8» |
15:53 |
tony-o |
m: m: map *.say, |((^10).rotor(3)); |
15:53 |
camelia |
rakudo-moar 0c197c: OUTPUT«012345678» |
15:53 |
TimToady |
we currently have some functions returning parcels of parcels, where the outer parcel needs to flatten but the inner ones don't |
15:53 |
tony-o |
m: m: map *.say, lol (^10).rotor(3,0); |
15:53 |
camelia |
rakudo-moar 0c197c: OUTPUT«0 1 2 3 4 5 6 7 8 » |
15:53 |
tony-o |
m: m: map *.say, lol (^10).rotor(3); |
15:53 |
camelia |
rakudo-moar 0c197c: OUTPUT«0 1 2 3 4 5 6 7 8» |
15:54 |
TimToady |
currently we require a | to strip that outer parcel |
15:57 |
TimToady |
same reason [Z] @lists has to be [Z] |@lists |
15:58 |
TimToady |
not sure it would be sane to try to intuit that... |
16:02 |
TimToady |
up till now we've had the (in my opinion) highly sane policy that one call produces one argument, and only * slurpies violate that by flattening, throwing away all argument boundaries (and parens) |
16:02 |
TimToady |
but lol and [Z] are not *, they're **, which goes back to respecting argument boundaries, and therefore need | to make one argument into several |
16:04 |
TimToady |
I don't see any way to simplify that, offhand, without the waterbed bloojing out somewhere else |
16:04 |
TimToady |
anyway, the listop form of map is *, so is not broken by current design |
16:05 |
TimToady |
rather, you're expected to do something like this: |
16:05 |
TimToady |
m: m: map -> $a, $b, $c { "$a $b $c".say }, (^10).rotor(3); # flat |
16:05 |
camelia |
rakudo-moar 0c197c: OUTPUT«0 1 23 4 56 7 8» |
16:06 |
TimToady |
(or use lol or tree) |
16:08 |
* timotimo |
lols @ trees |
16:08 |
TimToady |
likewise, the current answer to the missing statement_control:sym<map> is to use something like 'for lol ... {...}' instead |
16:09 |
TimToady |
but we could bikeshed a new statement control if that gets bothersome |
16:12 |
TimToady |
or find some way to write any foo {...},LIST as foo LIST {...}, if we want something with a little more leverage |
16:14 |
TimToady |
the early proposals for *& parameters allowed motion of the block to the end of the list, à la Ruby, but this sort of thing, while it makes sense for a block-only function like 'map', makes less sense for a block-or-other-matcher like 'grep' |
16:14 |
|
bartolin joined #perl6 |
16:15 |
|
Patterner joined #perl6 |
16:16 |
|
krakan_ joined #perl6 |
16:17 |
|
pierrot_ joined #perl6 |
16:17 |
|
BooK_ joined #perl6 |
16:18 |
|
estrabd_ joined #perl6 |
16:18 |
|
anocelot_ joined #perl6 |
16:18 |
TimToady |
</soliloquy> |
16:18 |
|
mathw_ joined #perl6 |
16:18 |
|
jdv79_ joined #perl6 |
16:18 |
|
Foxcool_ joined #perl6 |
16:18 |
|
rmgk_ joined #perl6 |
16:19 |
|
eiro joined #perl6 |
16:19 |
|
ugexe joined #perl6 |
16:19 |
|
RabidGravy joined #perl6 |
16:19 |
|
larks joined #perl6 |
16:19 |
|
b^_^d joined #perl6 |
16:19 |
|
b^_^d joined #perl6 |
16:20 |
|
domidumont joined #perl6 |
16:20 |
|
jferrero joined #perl6 |
16:20 |
|
cosimo joined #perl6 |
16:20 |
|
slavik1 joined #perl6 |
16:20 |
|
DarthGandalf joined #perl6 |
16:21 |
|
MilkmanD1n joined #perl6 |
16:23 |
|
masak joined #perl6 |
16:23 |
|
skarn joined #perl6 |
16:23 |
|
cdc joined #perl6 |
16:24 |
|
iv joined #perl6 |
16:24 |
|
Ven joined #perl6 |
16:27 |
|
mr-foobar joined #perl6 |
16:28 |
|
tinyblak joined #perl6 |
16:30 |
|
tictac joined #perl6 |
16:30 |
|
ruoso_ joined #perl6 |
16:31 |
|
Mouq joined #perl6 |
16:31 |
|
rjbs- joined #perl6 |
16:31 |
|
ugexe_ joined #perl6 |
16:32 |
|
mr_ron joined #perl6 |
16:33 |
|
larks_ joined #perl6 |
16:33 |
|
domidumont joined #perl6 |
16:34 |
mr_ron |
m: my uint16 @a; @a[2] = 5; say 'ok ', @a.perl; my uint16 %h; %h{"abc"} = 2 |
16:34 |
camelia |
rakudo-moar 0c197c: OUTPUT«ok array[uint16].new(0, 0, 5)Type check failed in assignment to '%h'; expected 'uint16' but got 'Int' in method ASSIGN-KEY at src/gen/m-CORE.setting:12412 in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3715 in block <unit> at /tmp/N9uD…» |
16:34 |
|
RabidGravy joined #perl6 |
16:38 |
|
eiro joined #perl6 |
16:39 |
mr_ron |
m: my uint16 @a; @a[2] = 5; say "ok ", @a.perl; my Int %h_ok; %h_ok{"def"}= 7; say "ok ", %h_ok.perl;my uint16 %h; %h{"abc"} = 2 |
16:39 |
camelia |
rakudo-moar 0c197c: OUTPUT«ok array[uint16].new(0, 0, 5)ok Hash[Int].new("def" => 7)Type check failed in assignment to '%h'; expected 'uint16' but got 'Int' in method ASSIGN-KEY at src/gen/m-CORE.setting:12412 in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3715…» |
16:39 |
mr_ron |
think bug with hashes of native types |
16:39 |
timotimo |
hm. not sure if we have any code in place for that yet? |
16:40 |
mr_ron |
you have it for arrays of native types and hashes of non-native types ... it seems |
16:40 |
psch |
eh, it's double borked, from the looks of it |
16:41 |
psch |
it builds the Hash of Int according to .perl, but still typechecks for uint16? |
16:41 |
mr_ron |
you did notice they are two different hashes %h_ok and %h |
16:41 |
psch |
oh, no i didn't :) |
16:42 |
psch |
in that case, nevermind |
16:42 |
psch |
m: my int %h; say %h.perl # yeah looks fine |
16:42 |
camelia |
rakudo-moar 0c197c: OUTPUT«Hash[int].new()» |
16:43 |
timotimo |
the question is: does it still store scalars inside to hold the values? |
16:43 |
mr_ron |
m: my int %h; %h{"abc"} = 4 |
16:43 |
camelia |
rakudo-moar 0c197c: OUTPUT«Type check failed in assignment to '%h'; expected 'int' but got 'Int' in method ASSIGN-KEY at src/gen/m-CORE.setting:12412 in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3715 in block <unit> at /tmp/_xS_uczDVE:1» |
16:43 |
psch |
m: my int %h; say %h<a>.VAR # ... not sure? |
16:43 |
camelia |
rakudo-moar 0c197c: OUTPUT«int» |
16:46 |
|
nbrown04 joined #perl6 |
16:46 |
|
avuserow1 joined #perl6 |
16:46 |
|
retupmoca joined #perl6 |
16:46 |
|
ssutch joined #perl6 |
16:46 |
|
mephinet joined #perl6 |
16:46 |
mr_ron |
Ok to file rt bug report? |
16:47 |
|
hobbs joined #perl6 |
16:48 |
|
mst joined #perl6 |
16:49 |
mr_ron |
m: my int %h; %h<abc> = 4 |
16:49 |
camelia |
rakudo-moar 0c197c: OUTPUT«Type check failed in assignment to '%h'; expected 'int' but got 'Int' in method ASSIGN-KEY at src/gen/m-CORE.setting:12412 in sub postcircumfix:<{ }> at src/gen/m-CORE.setting:3715 in block <unit> at /tmp/oAgewnT9yg:1» |
16:50 |
|
isacloud joined #perl6 |
17:00 |
|
dfarrell joined #perl6 |
17:04 |
dfarrell |
Hi everyone. I'm working on a Grammar for Perl 5 pod (https://github.com/dnmfarrell/Pod-Perl5) but am getting a "Too many positionals passed; expected 1 argument but got 2" error when using the grammar on pod containing "=item". Any ideas how this error relates to regex/grammars? It parses basic pod OK ... |
17:04 |
|
zeleiadi joined #perl6 |
17:05 |
psch |
m: say Grammar.^can('item') |
17:05 |
camelia |
rakudo-moar 0c197c: OUTPUT«item» |
17:06 |
* psch |
wonders how to look up where an inherited method comes from... |
17:06 |
psch |
m: say Any.^can('item') |
17:06 |
camelia |
rakudo-moar 0c197c: OUTPUT«item» |
17:06 |
psch |
dfarrell: ^^^ that's basically the problem. i think we have a ticket for it already somewhere |
17:06 |
psch |
at least if i'm remembering that correctly... |
17:07 |
psch |
m: grammar G { token TOP { <Str> }; token Str { . } }; say G.parse("f") # similarly |
17:07 |
camelia |
rakudo-moar 0c197c: OUTPUT«Cannot call Str(Mu: Match); none of these signatures match: (Mu:U \v: *%_) (Mu:D: *%_) in regex Str at /tmp/128ST7wrK_:1 in regex TOP at /tmp/128ST7wrK_:1 in method parse at src/gen/m-CORE.setting:16842 in block <unit> at /tmp/1…» |
17:08 |
dfarrell |
ergh, my message got garbled :( Any ideas how a regex or grammar could generate a "Too many positionals passed" error? |
17:08 |
psch |
yeah, #77350 |
17:08 |
synbot6 |
Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=77350 |
17:09 |
dfarrell |
ah ok, great. thanks! |
17:12 |
|
tadzik joined #perl6 |
17:12 |
|
mr_ron left #perl6 |
17:19 |
dfarrell |
psch: thanks for the detail, I renamed the token and it works great! |
17:30 |
psch |
"If the innermost lexical block happens to be the main block of a Routine, then &?BLOCK just returns the Block object, not the Routine object that contains it." |
17:30 |
psch |
i'm wondering how that's supposed to work out, when Routine is Block |
17:31 |
psch |
S06:The &?BLOCK object |
17:31 |
synbot6 |
Link: http://design.perl6.org/S06.html#The |
17:31 |
psch |
S06:The_&?BLOCK_object |
17:31 |
synbot6 |
Link: http://design.perl6.org/S06.html#The_ |
17:31 |
psch |
:/ |
17:31 |
psch |
http://design.perl6.org/S06.html#The_&?BLOCK_object |
17:32 |
psch |
hm, there's also RT #66632 |
17:32 |
synbot6 |
Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=66632 |
17:32 |
psch |
i'm fuzzy on the timeline, was that before nom? |
17:32 |
psch |
or did it just regress |
17:36 |
|
gcole joined #perl6 |
17:42 |
|
FROGGS joined #perl6 |
17:43 |
|
ShimmerFairy joined #perl6 |
17:56 |
|
cognominal joined #perl6 |
17:57 |
psch |
hm, my &?BLOCK attempts break somewhere in CompUnit... |
18:05 |
psch |
well, what's spec'd leads me to believe that the relationship between Block and Routine has to be redesigned, if the speculations aren't to be changed |
18:06 |
psch |
on the other hand, roast has rather little on &?BLOCK, so maybe specifying it different is an option |
18:06 |
FROGGS |
what's the issue? |
18:06 |
psch |
"If the innermost lexical block happens to be the main block of a Routine, then &?BLOCK just returns the Block object, not the Routine object that contains it." |
18:06 |
psch |
but Routine isa Block |
18:07 |
psch |
http://design.perl6.org/S06.html#The_&?BLOCK_object |
18:07 |
FROGGS |
ahh |
18:07 |
psch |
but there's less than 20 occurances of '&?BLOCK' in roast, and most of them test .leave |
18:08 |
psch |
the only thing that explicitly tests block is the anon recursive block idiom in the spec link above |
18:09 |
psch |
i don't think that 'Inside the outermost block of a routine, &?BLOCK and &?ROUTINE refer to the same object.' would be a good choice, but what we have doesn't really support what we have in specs |
18:11 |
|
eli-se joined #perl6 |
18:14 |
masak_grr |
today's autopun spotting: https://twitter.com/aloria/status/591424398306992128 |
18:21 |
|
riceandbeans left #perl6 |
18:25 |
FROGGS |
huh, "It's not just you! http://ebay.de looks down from here." |
18:25 |
FROGGS |
ahh, there it is |
18:30 |
|
yoleaux joined #perl6 |
18:31 |
|
diana_olhovik_ joined #perl6 |
18:42 |
|
mr-foobar joined #perl6 |
18:42 |
|
zakharyas joined #perl6 |
18:45 |
|
raiph joined #perl6 |
18:50 |
|
eiro joined #perl6 |
18:50 |
|
domidumont joined #perl6 |
18:57 |
moritz |
masak: was there anything wrong with hack? |
18:58 |
|
vendethiel joined #perl6 |
19:03 |
masak |
moritz: not to my knowledge, no. |
19:04 |
masak |
moritz: I didn't lose the connection; just got netsplit away from my actual nick. |
19:05 |
moritz |
masak: ok |
19:05 |
moritz |
hack has been up for 29 days |
19:05 |
moritz |
I guess it's safe-ish to assume the hangups have gone |
19:06 |
FROGGS |
I think so too |
19:06 |
moritz |
FROGGS: are your cron jobs running again? |
19:07 |
|
gcole joined #perl6 |
19:07 |
FROGGS |
moritz: like a duracel bunny :o) |
19:11 |
FROGGS |
nqp-m: say(nqp::istype(QAST::Want, QAST::Node)) |
19:11 |
camelia |
nqp-moarvm: OUTPUT«1» |
19:12 |
|
eiro joined #perl6 |
19:12 |
|
domidumont joined #perl6 |
19:16 |
|
telex joined #perl6 |
19:34 |
dalek |
roast: b33c2b4 | FROGGS++ | S32-container/zip.t: |
19:34 |
dalek |
roast: /._join/.flat.join/ |
19:34 |
dalek |
roast: review: https://github.com/perl6/roast/commit/b33c2b4d1b |
19:38 |
dalek |
rakudo/nom: d0a84bc | FROGGS++ | src/ (2 files): |
19:38 |
dalek |
rakudo/nom: symbolic indirect subrules in regexes |
19:38 |
dalek |
rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d0a84bcf0f |
19:41 |
dalek |
roast: ec15161 | FROGGS++ | S05-metasyntax/angle-brackets.t: |
19:41 |
dalek |
roast: unfuge/adjust test for indirect subrules |
19:41 |
dalek |
roast: review: https://github.com/perl6/roast/commit/ec15161310 |
19:42 |
ugexe |
m: my @a = 1,2,3,4,5,6,7; for @a.rotor(4,:partial) { say $_.perl }; # is this not supposed to return [1,2,3,4],[5,6,7] anymore? |
19:42 |
camelia |
rakudo-moar 0c197c: OUTPUT«1234567» |
19:44 |
TimToady |
the slices are no longer itemized, and for flattens by default |
19:44 |
TimToady |
m: my @a = 1,2,3,4,5,6,7; for @a.rotor(4,:partial).tree { say $_.perl } |
19:44 |
camelia |
rakudo-moar 0c197c: OUTPUT«(1, 2, 3, 4; 5, 6, 7).item» |
19:44 |
psch |
std: &1 # what's a good panic message for this? |
19:44 |
camelia |
std 28329a7: OUTPUT«ok 00:00 138m» |
19:45 |
psch |
(and it should be one, according to RT #72820 |
19:45 |
synbot6 |
Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=72820 |
19:45 |
psch |
) |
19:45 |
TimToady |
m: my @a = 1,2,3,4,5,6,7; for lol |@a.rotor(4,:partial) { say $_.perl } |
19:45 |
camelia |
rakudo-moar 0c197c: OUTPUT«$(1, 2, 3, 4)$(5, 6, 7)» |
19:45 |
psch |
currently i'm jumping out of <variable>, which results in "Name must begin with alphabetic character" |
19:45 |
|
millican joined #perl6 |
19:45 |
TimToady |
m: my @a = 1,2,3,4,5,6,7; @a.rotor(4,:partial).map: { say $_.perl } |
19:45 |
camelia |
rakudo-moar 0c197c: OUTPUT«(1, 2, 3, 4)(5, 6, 7)» |
19:46 |
TimToady |
well, it's true that it would work better if you said &foo :) |
19:46 |
ugexe |
cool. i saw the commit but didnt know what to make of it. thanks |
19:46 |
psch |
m: "a" ~~ /(a)/; say &0; |
19:46 |
camelia |
rakudo-moar 0c197c: OUTPUT«「a」» |
19:46 |
psch |
TimToady: ^^^ that's what behind my question :) |
19:47 |
psch |
+is |
19:47 |
TimToady |
m: "a" ~~ /(a)/; say &0.WHAT |
19:47 |
camelia |
rakudo-moar 0c197c: OUTPUT«(Match)» |
19:47 |
TimToady |
m: "a" ~~ /(a)/; say &0.() |
19:47 |
camelia |
rakudo-moar 0c197c: OUTPUT«Cannot find method 'postcircumfix:<( )>' in block <unit> at /tmp/2t6awwvM34:1» |
19:48 |
TimToady |
I guess it's not enforcing the Callable |
19:48 |
psch |
Actions::variable treats & as $, actually |
19:48 |
psch |
i don't know if a Callable is spec'd in some capacity for matches |
19:48 |
TimToady |
not yet :) |
19:49 |
psch |
so bail with "calling a Match object as a Subroutine is reserved to be specified or forbidden"? :) |
19:49 |
psch |
s/Subroutine/Routine/ |
19:50 |
psch |
s/bail/die/ # maybe |
19:51 |
psch |
anyway, it's one of the bugs that's in reach for me right now and staring at jvminterop didn't bring much about once again today |
19:51 |
psch |
if it's nothing particularly important it can sit around as-is, i suppose |
19:52 |
FROGGS |
I also tackled regex stuff right now because I don't make progress with the compunit stuff atm |
19:55 |
vendethiel |
m: say do for ^10 { .succ when 5..10 }.sort(* > *) # are we ruby? |
19:55 |
camelia |
rakudo-moar 0c197c: OUTPUT«6 7 8 9 10» |
19:56 |
* psch |
.oO( ...or are we dancer? ) |
19:56 |
vendethiel |
m: say (^10).map: { $^a * 3 }; (^10).map: $^a * 3; |
19:56 |
camelia |
rakudo-moar 0c197c: OUTPUT«5===SORRY!5=== Error while compiling /tmp/hmhqu1BzlpCannot use placeholder parameter $^a in the mainlineat /tmp/hmhqu1Bzlp:1------> 3y (^10).map: { $^a * 3 }; (^10).map: $^a7⏏5 * 3;» |
19:57 |
vendethiel |
m: for <hey there love> { .say if any(.split('')) eq <o y> }; # is there any "shorter" than any(Str.split(''))? |
19:57 |
camelia |
rakudo-moar 0c197c: ( no output ) |
20:01 |
psch |
vendethiel: see #moarvm, if you're willing to go «for ... <-> $_ { ... }» instead |
20:02 |
psch |
but then you probably need a copy, which makes it less shorter |
20:02 |
psch |
m: for <hey there love> <-> $_ { .say if tr/yo/yo/ > 1 }; # is there any "shorter" than any(Str.split(''))? |
20:02 |
camelia |
rakudo-moar 0c197c: OUTPUT«Cannot modify an immutable Str in sub infix:<=> at src/gen/m-CORE.setting:22105 in block <unit> at /tmp/tUL434iwch:1» |
20:02 |
psch |
huh |
20:02 |
psch |
that i expected to work |
20:02 |
psch |
it's rw $_, right? |
20:04 |
psch |
eh, nevermind, i didn't even count characters |
20:04 |
masak |
psch: problem is, you're looping over constant string values. |
20:04 |
FROGGS |
it is, but you cannot change literals |
20:04 |
masak |
psch: you'd need them to be containers. |
20:04 |
psch |
it's probably shorter, but i don't want to count now |
20:04 |
masak |
psch: `$_ is copy` would work there. |
20:05 |
psch |
masak, FROGGS: right. just when i thought i was getting a hang of this container stuff yesterday :) |
20:05 |
FROGGS |
*g* |
20:05 |
psch |
with "is copy" it's probably not shorter anymore... |
20:05 |
psch |
there's still «.match(any(<y o>))» i suppose |
20:06 |
masak |
we should add `+> $_` to mean `-> $_ is copy` :P |
20:07 |
masak |
(P.S. I was not serious. don't add that) |
20:07 |
* psch |
shudders at the Perl6/Grammar.nqp changes |
20:07 |
psch |
actually, Actions.nqp |
20:08 |
psch |
not Grammar.nqp |
20:08 |
psch |
but yeah, don't |
20:08 |
psch |
i'll push the fix for 72820 as-is, with a remark in the commit message that the message could be improved |
20:08 |
psch |
which will probably involve redirecting where it gets thrown, which might make the patch actually somewhat of a bad idea |
20:08 |
psch |
...which makes me question my decision to push it |
20:09 |
psch |
see, that's why i asked in the first place! :P |
20:09 |
FROGGS |
:P |
20:10 |
vendethiel |
psch: <-> is the default for $_, afaik |
20:11 |
* vendethiel |
tried it already, "back then" ;-) |
20:11 |
psch |
vendethiel: right, as masak++ said you'd need «is copy» |
20:11 |
vendethiel |
yep, that much I remember |
20:12 |
vendethiel |
psch++: good find on .match(any()) tho |
20:12 |
psch |
i do thinks .match is the most sensible... yeah |
20:17 |
psch |
re: RT #72820: i'll go with "'Match variables are meaningless with the &-sigil. Did you mean $' ~ $<index> ~ '?'" as an untyped panic for now |
20:17 |
synbot6 |
Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=72820 |
20:17 |
psch |
although maybe it should be "Positional captures" instead of "Match variables"... |
20:18 |
psch |
'Positional captures cannot be referenced with the &-sigil. Did you mean $' ~ $<index> ~ ', %' ~ $<index> ~ ' or @' ~ $<index>'? |
20:18 |
psch |
that's going in :P |
20:21 |
|
jepeway joined #perl6 |
20:23 |
TimToady |
m: for <hey there love> { .say if /y|o/ } |
20:23 |
camelia |
rakudo-moar d0a84b: OUTPUT«heylove» |
20:24 |
vendethiel |
TimToady: yeah, good point (except maybe when you have lotta sigils, then <[]>?), but I'm still wondering about .split('') (which isn't that bad, really) |
20:25 |
TimToady |
.comb is better than .split('') |
20:25 |
vendethiel |
noted, thanks! |
20:25 |
* vendethiel |
goes off for the doc to re-read aboutcomb |
20:26 |
jepeway |
ahoy, the ship o' #perl6 |
20:26 |
TimToady |
and you can't do eq <o y> and get implicit any on that rhs |
20:27 |
dalek |
ecosystem: 6e42f02 | (Nick Logan)++ | META.list: |
20:27 |
dalek |
ecosystem: Update META.list |
20:27 |
dalek |
ecosystem: review: https://github.com/perl6/ecosystem/commit/6e42f021da |
20:27 |
TimToady |
that would be equivalent ot eq 'o y' |
20:27 |
TimToady |
*to |
20:27 |
tadzik |
oh, is zef the new panda? :) |
20:28 |
vendethiel |
TimToady: well, yeah, but any <foo> works, doesn't it? |
20:29 |
* jepeway |
is again with the questions |
20:29 |
TimToady |
sure, but your any was on the other side |
20:29 |
ugexe |
tadzik: more for working with a different auth than github |
20:29 |
vendethiel |
ah, yes, that a code-simplification mistake. it's correct in my original code :) |
20:30 |
vendethiel |
that was*. good catch still |
20:30 |
jepeway |
m: { m/(<-[:]>*) : (.*)/; say "[$0] [$1]" } for "one:1" |
20:30 |
camelia |
rakudo-moar d0a84b: OUTPUT«[one] [:1]» |
20:30 |
jepeway |
why does 2nd capture contain a : ? |
20:31 |
TimToady |
because : is a metacharacter |
20:31 |
vendethiel |
m: { m/(<-[:]>*) ':' (.*)/; say "[$0] [$1]" } for "one:1" |
20:31 |
camelia |
rakudo-moar d0a84b: OUTPUT«[one] [1]» |
20:31 |
jepeway |
oh. |
20:31 |
TimToady |
the rule is very simple now; anything that isn't alphanumeric is to be considered meta |
20:32 |
jepeway |
ah. |
20:32 |
TimToady |
no more lists of metacharacters to memorize and be wrong on :) |
20:33 |
* jepeway |
will dig it, once he gets it |
20:33 |
TimToady |
it also leaves a lot more wiggle room in the syntax than the old regex syntax ever did |
20:33 |
TimToady |
so we're a lot more evolution friendly now |
20:34 |
jepeway |
what did the unquoted meta : mean? empty/null adverb? |
20:34 |
TimToady |
don't backtrack into the previous token |
20:35 |
TimToady |
basically, that's what underlies :ratchet semantics |
20:36 |
vendethiel |
(with its friends "::" and ":::", which are NYI iirc) |
20:38 |
jepeway |
oh, my. never really held got a working understanding of re backtracking. |
20:42 |
arnsholt |
: in regexes is like cut in Prolog, in case you've learned that |
20:44 |
jepeway |
never prologged. |
20:44 |
|
mohij joined #perl6 |
20:49 |
dalek |
roast: d214528 | FROGGS++ | fudge: |
20:49 |
dalek |
roast: allow to skip for a matching Perl 6 language version |
20:49 |
dalek |
roast: review: https://github.com/perl6/roast/commit/d214528bc6 |
20:49 |
dalek |
roast: 28588a0 | FROGGS++ | S05-metasyntax/angle-brackets.t: |
20:49 |
dalek |
roast: skip test for Perl 6 not for compilers |
20:49 |
dalek |
roast: |
20:49 |
dalek |
roast: The tested code is reserved so we skip it because of Perl 6. |
20:49 |
dalek |
roast: review: https://github.com/perl6/roast/commit/28588a08d5 |
20:56 |
|
gcole joined #perl6 |
21:33 |
* jepeway |
, if he were smart, would take the opportunity to grok back-tracking. instead... |
21:34 |
jepeway |
I'm seeing inconsistencies in how open() behaves when the paths it's point to non-existent files. |
21:35 |
jepeway |
sometimes, I see "Failed to open file PAK: no such file or directory" |
21:35 |
jepeway |
sometimes, I see "Failed to open file @: no such file or directory" |
21:36 |
jepeway |
sometimes, I see "Malformed UTF-8 at line 1 col 21" |
21:36 |
jepeway |
a shell transcript of these @ https://gist.github.com/cjepeway/2142e6d9e7aa7171c34d#file-p6-open-transcript |
21:37 |
jepeway |
hepl? |
21:39 |
geekosaur |
sounds like an uninitialized chunk of memory somewhere |
21:39 |
jepeway |
kinda thought the same |
21:40 |
|
kst joined #perl6 |
21:41 |
raydiak |
confirmed, you get random new errors on each open even to the same filename |
21:42 |
RabidGravy |
yeah |
21:43 |
jepeway |
ok, so...bug report? or is the clog for this session good enough? |
21:43 |
RabidGravy |
similar to what you see with passing an unmanaged string to a const char * |
21:43 |
RabidGravy |
bug it |
21:44 |
jepeway |
pointer to bug tracker? |
21:45 |
* jepeway |
erk...googles... |
21:45 |
raydiak |
mail rakudobug perl.org and start the subject with [BUG] |
21:46 |
raydiak |
m: for ^20 { CATCH { say $_.Str.lines[0]; next; }; open "foobar" } |
21:46 |
camelia |
rakudo-moar d0a84b: OUTPUT«open is disallowed in restricted settingopen is disallowed in restricted settingopen is disallowed in restricted settingopen is disallowed in restricted settingopen is disallowed in restricted settingopen is disallowed in restricted setting…» |
21:46 |
raydiak |
:P |
21:49 |
RabidGravy |
makes sense or you could have it cracking all its passwords in a few minutes ;-) |
21:50 |
|
breinbaas joined #perl6 |
21:51 |
|
vendethiel joined #perl6 |
21:56 |
masak |
'night, #perl6 |
21:57 |
jepeway |
dream well, masak. |
21:57 |
jepeway |
bugged. RT #124391 |
21:57 |
synbot6 |
Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=124391 |
21:59 |
RabidGravy |
jepeway, my suspicion with that is that a string managed by perl is being passed to perror() somewhere along the way |
22:00 |
RabidGravy |
the malformed utf-8 is just going to happen when the garbage on the heap causes it |
22:00 |
jepeway |
ah, yes. |
22:02 |
nebuchadnezzar |
hello |
22:04 |
nebuchadnezzar |
masak: I just read http://strangelyconsistent.org/blog/here-be-heredocs, thanks a lot, but for the troll, I think mixing tabs and space is sane when they convey semantic http://www.emacswiki.org/emacs/SmartTabs ;-) |
22:04 |
RabidGravy |
evening, |
22:04 |
dalek |
rakudo-star-daily: a4a9121 | coke++ | log/ (2 files): |
22:04 |
dalek |
rakudo-star-daily: today (automated commit) |
22:04 |
dalek |
rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/a4a91211d6 |
22:04 |
dalek |
perl6-roast-data: a7ed2eb | coke++ | / (9 files): |
22:04 |
dalek |
perl6-roast-data: today (automated commit) |
22:04 |
dalek |
perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/a7ed2ebeb4 |
22:12 |
jepeway |
a la - char s[999] = "failed to open "; perror(strcat(s, path)); -- with path a perl data structure, perhaps, and not a C string |
22:15 |
RabidGravy |
yeah, though it may be the exact line |
22:15 |
RabidGravy |
./nqp/MoarVM/src/io/syncfile.c: MVM_exception_throw_adhoc(tc, "Failed toopen file %s: %s", fname, uv_strerror(req.result)); |
22:20 |
jepeway |
heh, just found that, too. |
22:20 |
jepeway |
there's an MVM_free(fname) right before that line. |
22:20 |
jepeway |
seems...suspicious. |
22:21 |
jepeway |
dunno whether there's fancy-pants ref counting or whatnot that might make the _free() call safe, mind you. |
22:23 |
jepeway |
uh..no, that's just a wrapper around free(). |
22:24 |
RabidGravy |
oops |
22:24 |
jepeway |
yup. |
22:25 |
|
Alina-malina joined #perl6 |
22:31 |
|
vendethiel joined #perl6 |
22:36 |
jepeway |
updated RT with these findings. |
22:38 |
|
bjz joined #perl6 |
22:39 |
jepeway |
wonder where a test for this belongs. are error messages part of MoarVM's contract, eg? |
22:42 |
RabidGravy |
it's nqp's problem :) |
22:45 |
|
gcole joined #perl6 |
22:46 |
dalek |
ecosystem: c024bff | (Nick Logan)++ | META.list: |
22:46 |
dalek |
ecosystem: fix META.info url |
22:46 |
dalek |
ecosystem: review: https://github.com/perl6/ecosystem/commit/c024bffa97 |
23:01 |
|
grondilu joined #perl6 |
23:04 |
|
rmgk_ joined #perl6 |
23:05 |
jepeway |
then there's... |
23:05 |
jepeway |
m: role A { multi method a(Int $i) {...}; multi method a(Str $s) {...}; }; class B does A { multi method a(Int $i){0}; multi method a(Str $s) {"a"}; } ; B.new.a(0).say |
23:05 |
camelia |
rakudo-moar d0a84b: OUTPUT«Ambiguous call to 'a'; these signatures all match::(B $: Int $i, *%_):(B $: Int $i, *%_) in block <unit> at /tmp/0ILm1pfWyW:1» |
23:06 |
jepeway |
which timotimo and TimToady thought might be a bug. |
23:07 |
jepeway |
no harm in bugging that, too, is there? |
23:09 |
|
bjz joined #perl6 |
23:10 |
dalek |
ecosystem: 7e40d88 | (Nick Logan)++ | META.list: |
23:10 |
dalek |
ecosystem: revert url correction, im an idiot |
23:10 |
dalek |
ecosystem: |
23:10 |
dalek |
ecosystem: Project's META.info was incorrect, not the url. 3rd times a charm |
23:10 |
dalek |
ecosystem: review: https://github.com/perl6/ecosystem/commit/7e40d88c55 |
23:11 |
|
vendethiel joined #perl6 |
23:20 |
jepeway |
well. |
23:21 |
jepeway |
I tried to follow-up on the file name problem by responding to the auto-email confirmation I got. |
23:21 |
jepeway |
but I don't see the text of my followup in the RT. |
23:25 |
jepeway |
ah, well, added it to the gist in case somebody looks. |
23:27 |
jepeway |
thanks, all, for the help with this. 1st rakudo bug, huzzah! |
23:29 |
jepeway |
and 2nd is RT #124392, for the stub methods in roles. |
23:29 |
synbot6 |
Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=124392 |
23:29 |
TimToady |
jepeway++ |
23:30 |
* jepeway |
is kinda beaming, here |
23:33 |
TimToady |
I'm sure we can think of something discouraging if you need it. :) |
23:46 |
|
gcole joined #perl6 |
23:48 |
jepeway |
nope, passing on that kind offer. |
23:48 |
jepeway |
:) |
23:48 |
jepeway |
well, splitsville for me, now. hope to be back tomorrow. |
23:51 |
|
vendethiel joined #perl6 |
23:59 |
|
xiaomiao joined #perl6 |