TimToady n: /<?[\s'#']><[\s'#']>*/ 00:00
camelia niecza v24-95-ga6d4c5f: OUTPUT«===SORRY!===␀␀Please backslash # for literal char or put whitespace in front for comment at /tmp/Rxp8aWv33n line 1:␀------> /<?[\s'#⏏']><[\s'#']>*/␀␀Parse failed␀␀»
Mouq Yup, but Q is just kind of hacked on in NQP
TimToady so you're saying rakudo is NQP yet :) 00:03
Mouq One could either effectively have Q:cc functionality programmed in NQP and Rakudo seperately, or spread the Q lang between NQP and Rakudo 00:04
I think
TimToady well, how hard can it be? cclass_elem is just defined in STD as: "[" ~ "]" <nibble($Âą.cursor_fresh( %*LANG<Q> ).tweak(:cc).unbalanced("]"))> 00:06
Mouq Although I'm pretty sure Q:cc doesn't actually work right in Rakudo because I remember just copying ( github.com/rakudo/rakudo/commit/0ec828 ) it in before I knew what I was doing
timotimo .tweak(:cc) is probably only one line of code
TimToady it's just deriving from Q at that point, not from Regex 00:07
so either it's deriving mysteriously from Regex, or it's doing 2-pass parsing with bad assumptions 00:08
00:09 xilo joined
TimToady or something got badly copy/pasted 00:10
or some set of cosmic rays is being mysteriously consistent 00:11
00:12 Psyche^_ joined
diakopter probably the ones from Florida. 00:14
00:15 Psyche^ left 00:17 denysonique left
timotimo good * #perl6 00:22
Mouq r: my $i = 4; say ' \qq[$i] ' 00:26
camelia rakudo 458880: OUTPUT« 4 ␀»
Mouq r: my $i = 4; say '$i\qq[$i]$i' 00:27
camelia rakudo 458880: OUTPUT«$i4$i␀»
Mouq r: my $i = "echo 1234"; say '$i\qqx[$i]$i' 00:28
camelia rakudo 458880: OUTPUT«qx, qqx is disallowed in restricted setting␀ in sub restricted at src/RESTRICTED.setting:2␀ in sub QX at src/RESTRICTED.setting:9␀ in block at /tmp/uHGXHZHt1H:1␀␀»
Mouq Aww
00:30 benabik left
Mouq r: say '-->\qqto[END]<--'␀BLABLAbla␀ (more bla)␀END 00:31
camelia rakudo 458880: OUTPUT«-->BLABLAbla␀ (more bla)␀<--␀»
Mouq r: say '\x [65]' 00:32
camelia rakudo 458880: OUTPUT«\x [65]␀»
Mouq r: say '\q [65]'
camelia rakudo 458880: OUTPUT«65␀»
Mouq n: say '\q [65]'
camelia niecza v24-95-ga6d4c5f: OUTPUT«65␀»
Mouq n: say '\x [65]'
camelia niecza v24-95-ga6d4c5f: OUTPUT«\x [65]␀»
Mouq std: say '\x [65]'
camelia std 4cde04e: OUTPUT«ok 00:00 42m␀»
00:38 grondilu joined
grondilu guys, a course on bioinformatics will start this month on coursera.org: 00:39
perlmonks.org/?node_id=1056427
I've watched the first few videos, it looks fun.
as I understand it, the programming challenges will work as in rosalind, so it will be possible to program in Perl 6. 00:40
TimToady can we get an extension on that project? :P 00:41
[Coke] .to woolfy my copy of the great dalmuti arrived today. Forced all 3 kids to play, they were hooked after the first round. 00:42
yoleaux [Coke]: I'll pass your message to woolfy.
00:43 btyler joined
TimToady now if we only had a fast regex engine...someone should work on that... 00:45
diakopter o+o
o+w
00:50 ivanshmakov left 00:51 imrudbu joined 00:53 btyler left 00:55 cognominal left, cognominal joined 00:57 avuserow joined 01:08 benabik joined 01:10 berekuk joined
dalek rl6-roast-data: a5df95b | coke++ | / (5 files):
today (automated commit)

01:12
rl6-roast-data: bb7b77d | coke++ | / (3 files):
today (automated commit)

01:13 btyler joined
BenGoldberg What's the syntax for perl6 threads? 01:18
I just added to the RosettaCode web page a perl5 solution for the Dining Philosophers task, and want to convert it to perl6 :) 01:19
diakopter well, technically the data structures aren't yet threadsafe on the jvm 01:21
and we don't have atomic operations that would let you create your own yet
[Coke] (APL) I did that back on parrot at one point:
code.google.com/p/paraplegic/ 01:22
probably not worth salvaging any of that given the phpish example to build on 01:30
01:38 Vlavv` joined
dalek p/cursless: 4bd4ea2 | jimmy++ | src/vm/jvm/QAST/Compiler.nqp:
proper handling of classes an zerowidth, jnthn++

01:40
grondilu rn: say <foo bar>.bag 01:45
camelia rakudo 458880: OUTPUT«No such method 'bag' for invocant of type 'Parcel'␀ in block at /tmp/pCvWociLP6:1␀␀»
..niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Unable to resolve method bag in type Parcel␀ at /tmp/1RJzydBdnF line 1 (mainline @ 3) ␀ at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␀ at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576) ␀ at / »
grondilu rn: say max :by(*.value), bag <foo foo bar> 01:47
camelia rakudo 458880: OUTPUT«bag(foo(2), bar)␀»
..niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Unable to resolve method value in type Bag␀ at /tmp/vpO2kr0Y6I line 1 (ANON @ 2) ␀ at /home/p6eval/niecza/lib/CORE.setting line 1808 (ANON @ 4) ␀ at /home/p6eval/niecza/lib/CORE.setting line 1812 (List.max @ 14) ␀ at /home/p6ev »
grondilu rn: say max :by(*.value), bag(<foo foo bar>).hash 01:50
camelia rakudo 458880, niecza v24-95-ga6d4c5f: OUTPUT«"foo" => 2␀»
[Coke] (APL) except for the unicode characters, that might help.
01:52 FROGGS left 02:04 grondilu left, PZt joined 02:05 FROGGS joined 02:13 berekuk left 02:17 denysonique joined
TimToady rn: say max :by(*.value), bag(<foo foo bar>).pairs 02:39
camelia rakudo 458880, niecza v24-95-ga6d4c5f: OUTPUT«"foo" => 2␀»
TimToady that avoids creating a hash
nr: bag(<foo foo bar>).invert.max.say 02:41
camelia rakudo 458880: OUTPUT«No such method 'invert' for invocant of type 'Bag'␀ in block at /tmp/3m7Bgx47g1:1␀␀»
..niecza v24-95-ga6d4c5f: OUTPUT«Unhandled exception: Unable to resolve method invert in type Bag␀ at /tmp/CyzYhHQdDx line 1 (mainline @ 4) ␀ at /home/p6eval/niecza/lib/CORE.setting line 4583 (ANON @ 3) ␀ at /home/p6eval/niecza/lib/CORE.setting line 4584 (module-CORE @ 576) ␀ at / »
TimToady nr: bag(<foo foo bar>).hash.invert.max.say 02:42
camelia rakudo 458880, niecza v24-95-ga6d4c5f: OUTPUT«2 => "foo"␀»
TimToady TimToady thinks invert should work on bags
02:46 cognominal left 02:49 berekuk joined 02:53 imrudbu is now known as ivanshmakov 03:06 preflex_ joined, ChanServ sets mode: +v preflex_ 03:07 preflex left, preflex_ is now known as preflex 03:15 skids joined 03:20 berekuk left
lue
.oO(You should seal the bag before inversion though.)
03:20
03:23 berekuk joined
TimToady bags are supposed to seal themselves now 03:25
04:15 fridim_ left 04:33 BenGoldberg left
japhb_ r: class A { has Int @.ints }; my A $one .= new(ints => [1, 2]); say $one.ints; my $two = $one.clone(ints => [3, 4, 5]); say $two.ints; 04:34
camelia rakudo 458880: OUTPUT«1 2␀Type check failed in assignment to '@!ints'; expected 'Int' but got 'Array'␀ in method REIFY at src/gen/CORE.setting:8102␀ in method reify at src/gen/CORE.setting:7027␀ in method gimme at src/gen/CORE.setting:7441␀ in method sink at src/gen/CORE.setting »
japhb_ Is that ^^^ known?
04:35 clkao left 05:05 auscompgeek joined 05:10 xilo left 05:14 xenoterracide_ left 05:15 xenoterracide_ joined
moritz žo 05:19
sjohnson .o 05:21
diakopter .oo 05:22
05:26 kshannon left, kshannon joined 05:35 SamuraiJack_ joined 05:36 mtk left 05:37 ponbiki joined, ponbiki is now known as Guest22389 05:39 xenoterracide_ left
ingy ingy wonders why he is about to renew perlster.org 05:46
its so 2003
05:48 mtk joined 05:49 sqirrel joined 05:53 Guest22389 is now known as ponpon 06:00 kaleem joined 06:21 [Sno] left 06:22 raghu joined 06:23 raghu left, sqirrel left 06:29 skids left, btyler left 06:32 daniel-s joined 06:35 FROGGS left 06:36 denis_boyun joined 06:38 aindilis` joined 06:39 aindilis left 06:47 dmol joined 06:48 skids joined
mathw morning 06:53
06:55 denisboyun joined, kaleem left 06:56 denis_boyun left, FROGGS joined 07:00 FROGGS left 07:02 FROGGS joined 07:05 berekuk left
moritz .u FFEF 07:06
yoleaux No characters found
moritz .u FFFE
yoleaux No characters found
moritz .u byte order mark
yoleaux U+FEFF ZERO WIDTH NO-BREAK SPACE [Cf] (<control>)
moritz .u FEFF 07:07
yoleaux U+FEFF ZERO WIDTH NO-BREAK SPACE [Cf] (<control>)
auscompgeek FEFF is LE, FFFE is BE. I think. 07:10
moritz and inside text, it's considered a zero-width non-breaking space 07:14
07:14 zakharyas joined
moritz which is why it's not "byte order mark" in character database 07:14
07:14 sqirrel joined
FROGGS .tell timotimo Spectest run doesn't look that bad, mind that there are changes in nom that we don't have atm: gist.github.com/FROGGS/0acdc051d455d9766bd8 07:17
yoleaux FROGGS: I'll pass your message to timotimo.
auscompgeek moritz: hm, interesting. 07:20
07:21 Guest6057 left 07:22 dmol left 07:23 PZt left 07:24 PZt joined
lizmat good *, #perl6! 07:33
moritz \o lizmat
07:38 mstwu00 joined 07:42 kaleem joined
lizmat rn: say max :by(*.value), bag(<foo foo bar bar>).pairs 07:42
camelia rakudo 458880, niecza v24-95-ga6d4c5f: OUTPUT«"foo" => 2␀»
lizmat why not bar => 2 ? 07:43
rn: bag(<foo foo bar bar>).hash.invert.max.say
camelia rakudo 458880, niecza v24-95-ga6d4c5f: OUTPUT«2 => "foo"␀»
moritz lizmat: bags are unordered, so what you get in response is pretty much random
lizmat why not 2 => <foo bar> ? 07:44
moritz lizmat: max only ever returns the first max value it finds
lizmat otoh, it will need to check all values anyway, so it can know there is more than one 07:45
rn: bag(<foo foo bar bar>).hash.invert.say 07:46
camelia rakudo 458880, niecza v24-95-ga6d4c5f: OUTPUT«2 => "foo" 2 => "bar"␀»
lizmat rn: say (a => "b").invert.WHAT 07:50
camelia niecza v24-95-ga6d4c5f: OUTPUT«(Pair)␀»
..rakudo 458880: OUTPUT«(Enum)␀»
lizmat fixing rakudo as we speak 07:51
07:52 zakharyas left
moritz I'm pretty sure that's intentional, though not sure if it's a good idea :-) 07:56
lizmat why would an inverted pair become an Enum? 07:59
moritz because the key isn't a container, so the value of the inverted thing doesn't need to be a container either
08:00 [Sno] joined
moritz and Enum is pretty much a pair, but the value is never a container 08:00
08:00 [Sno] left, [Sno] joined
moritz but from a type perspective, it's probably nicer to return a Pair 08:00
08:00 dmol joined
lizmat rn: bag(<foo foo bar bar>).hash.invert.max.WHAT.say 08:00
camelia rakudo 458880, niecza v24-95-ga6d4c5f: OUTPUT«(Pair)␀»
08:02 sqirrel left
hoelzro morning #perl6 08:02
moritz lizmat: so yes, having Pair.invert return a Pair is probably sensible 08:03
08:03 iSlug joined
dalek kudo/nom: d185d53 | (Elizabeth Mattijsen)++ | src/core/Enum.pm:
Make Pair.invert return a Pair, rather than an Enum

  (or anything else that inherits from Enum)
08:03
08:06 auscompgeek left
lizmat r: my @a=<a b c>; say @a[2,*-1]:delete; say @a.elems 08:09
camelia rakudo 458880: OUTPUT«c (Any)␀3␀»
lizmat I'm not sure what this would need to return and what the final state of @a should be 08:10
should the final state be "a" or "a b" ? 08:11
in other words, should the deletes be done in order *and* should the *-1 be calculated after each delete ?
moritz lizmat: I'd expect the *-1 to be evaluated first, and then any deletion happens
lizmat: because argument lists are also usually evaluated first, before the subroutine that is called does anything 08:12
lizmat well, that's how it's implemented now, but the spectest expects something else
well, that's an implementation detail
moritz then fix the spectests :-)
lizmat as long as we agree on this :) 08:13
08:13 preflex left 08:15 preflex joined, ChanServ sets mode: +v preflex
dalek ast: a081844 | (Elizabeth Mattijsen)++ | S32-array/delete.t:
Unfudge some multiple whatever related tests

08:16
08:24 mstwu00 left 08:25 mstwu00 joined
lizmat :q 08:26
hugme hugme hugs lizmat, good vi(m) user!
lizmat :-)
mberends :q!!! 08:27
hugme hugme hugs mberends, good vi(m) user!
mberends
.oO( you can check out anytime you like, but you can never leave )
08:28
diakopter diakopter hugs mberends, good vi(m) user! 08:30
mberends :smile 08:31
diakopter this seems to happen to me often.. sitting near two AA participants swapping stories at a restaurant.. 08:32
always interesting stories.
C:\Users\mwilson\src\MoarVM\nqp-cc\install\bin\nqp.exe nqp-moar-cc.nqp --setting=NULL --target=mbc --output=nqp-mo.moarvm nqp-src\nqp-mo.pm
NMAKE : fatal error U1077: 'C:\Users\mwilson\src\MoarVM\nqp-cc\install\bin\nqp.exe' : return code '0xc0000409'
argh.
masak good antenoon, good vi(m) users! 08:34
diakopter no clue where to start diagnosing that.
ok, nmake clean helped. 08:35
*whew*
(must be missing Makefile dependency)
moritz why diagnose if you can fix instead? :-) 08:36
08:36 mstwu00 left
dalek rlito: ccc33d7 | (Flavio S. Glock)++ | / (7 files):
Perlito5 - js - prototype() fix

08:37
08:38 mstwu00 joined
diakopter masak: cross your fingers... 08:38
nqptest is clean so far..... O_O
(did I speak too soon?)
yesp. 08:39
yes, and yep.
08:40 iSlug left
mberends diakopter: are you trying to replace the GC in Moar? Why? How is it going? 08:41
(anything you say will be reported to amsterdam.pm this evening) 08:42
masak masak .oO( you have the right to a laptop. if you cannot afford a laptop, an HP EliteBook will be appointed for you ) :/ 08:43
tadzik :D
diakopter mberends: nope, heh.
mberends "no comment"
08:44 zakharyas joined
moritz # no comment 08:44
diakopter gist.github.com/diakopter/581887f037bc98f878f9
Ulti so changing from slurp and comb to while-get and comb I go from >3 minutes for my script to run down to 3 seconds :S that feels like a disproportionate speed up! this is with 2k lines from a Gutenberg file.
what's so bad about the slurp? 08:45
thats with latest R* 08:46
masak Ulti: slurp reads the whole file into memory first? 08:47
but yes, I agree the difference is disproportionate. 08:48
maybe slurp does something Shlemiel-slow.
moritz or maybe it's not slurp that is slow, but the .comb on the much larger string
08:48 iSlug joined
masak ah, yes. 08:49
Ulti gist.github.com/MattOates/4a451d9f9c31ea055a45 vs gist.github.com/MattOates/d66d7a4cb23b51e3dc82 08:50
also keybags are really useful for the stuff I do day to day especially with the set operators
diakopter current gc_orch gist.github.com/diakopter/7b70423d7db7de3fcd72 08:53
08:57 iSlug left
diakopter ok, I still have no idea how to diagnose this. 09:00
I wonder how long I can stare at it waiting for inspiration. 09:01
09:08 daxim joined 09:16 denisboyun left 09:20 grondilu joined 09:23 fhelmberger joined
dalek rlito: b95d306 | (Flavio S. Glock)++ | / (3 files):
Perlito5 - grammar - use exists()

09:27
09:45 cognominal joined 09:58 sqirrel joined 10:13 SamuraiJack_ left 10:18 SamuraiJack_ joined 10:27 snarkyboojum joined
dalek kudo/nom: 85b9a40 | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Make sure delete attempts past end of array doesn't vivify

10:36
ast: daa2ffe | (Elizabeth Mattijsen)++ | S32-array/delete.t:
Unfudge now passing test

10:51 snarkyboojum left
dalek kudo/nom: 95f6c00 | (Elizabeth Mattijsen)++ | src/core/Baggy.pm:
Added method "invert" to Baggy, as per TimToady's mumbling

10:52
tadzik std: my Baggy @pants 10:53
camelia std 4cde04e: OUTPUT«===SORRY!===␀In my declaration, typename 'Baggy' must be predeclared (or marked as declarative with :: prefix) at /tmp/VUJg5VWQbT line 1:␀------> my Baggy⏏ @pants␀Malformed my at /tmp/VUJg5VWQbT line 1:␀------> my ⏏ »
tadzik dum dum dum
masak std: role Rick::Astley {} 10:56
camelia std 4cde04e: OUTPUT«ok 00:00 42m␀»
lizmat :-) 10:58
www.washington.edu/news/2013/09/30/...hetic-dna/ .oO( a new life for bioperl6? )
masak r: role Rick { method never_gonna_give_you_up { ... } }; class Astley does Rick {} 10:59
camelia rakudo d185d5: OUTPUT«===SORRY!===␀Method 'never_gonna_give_you_up' must be implemented by Astley because it is required by a role␀»
tadzik heh, Warsaw University is also called UW
11:01 Mouq left
masak bah, article is behind a paywall. :/ 11:02
moritz masak: every Journal name that matches /^Nature/ implies that :/ 11:04
11:09 SamuraiJack_ left 11:17 frdmn is now known as frdmn|afk, SamuraiJack_ joined
dalek kudo/nom: 0808aca | (Elizabeth Mattijsen)++ | src/core/ (2 files):
Moved method .chrs from Iterable to Cool, as per other TimToady mumbling

11:18
tadzik hmm, we have chrs 11:19
11:19 benabik left
lizmat $ perl6 -e 'say 0x2202.chrs' 11:20
∂
11:26 kay_ joined
masak lizmat++ # implementing mumblings 11:27
that must be every BDFL's wish, to mumble and things happen. 11:28
FROGGS masak: I have the same with my sons, really 11:29
11:29 iSlug joined 11:37 mstwu00 left
Ulti FROGGS they mumble and you do it? ;P 12:02
FROGGS yeah :o(
masak better than total silence, I guess. 12:03
FROGGS especially my youngest when it is about to sleep... he is talking in a way that only bats can here him
masak: depends on the time of day
masak yeah :) 12:04
12:05 iSlug left
lizmat r: my Int @a=^3; @a[1]:delete; @a.map:{say .WHAT.perl }; @a[1].WHAT.perl.say # losing type info deep in the bowels of MapIter 12:23
camelia rakudo 0808ac: OUTPUT«Int␀Any␀Int␀Int␀»
12:24 skids left
lizmat no more time to look at this now, maybe someone else has inspiration 12:24
commuting to Amsterdam for NL.pm meeting
12:29 mtk left
timotimo mhm mhm 12:31
yoleaux 07:17Z <FROGGS> timotimo: Spectest run doesn't look that bad, mind that there are changes in nom that we don't have atm: gist.github.com/FROGGS/0acdc051d455d9766bd8
12:34 sqirrel left 12:36 iSlug joined 12:44 berekuk joined 12:46 iSlug left 13:01 arnsholt joined 13:03 frettled joined 13:06 sqirrel joined 13:10 benabik joined 13:13 mtk joined 13:16 PacoAir joined 13:21 grondilu left 13:24 lowpro30 joined 13:28 ajr joined, ajr is now known as Guest78189 13:35 bluescreen10 joined 13:39 mberends left 13:43 btyler joined 13:51 skids joined 13:57 lowpro30_ joined 13:58 KroKite joined 13:59 lowpro30 left 14:09 xenoterracide_ joined 14:11 xinming left 14:12 xinming joined 14:16 denysonique left 14:18 sqirrel left
GlitchMr How can I do something like array[::2] from Python in Perl 6? In Python, [1, 2, 3, 4, 5][::2] returns [1, 3, 5]. 14:20
jnthn Index with a sequence maybe? 14:21
FROGGS r: say ^20[1,3..*]
camelia rakudo 0808ac: OUTPUT«0..^0␀»
jnthn ...
FROGGS was it something like that?
GlitchMr r: say ^20[1,3...*]
camelia rakudo 0808ac: OUTPUT«0..^0␀»
GlitchMr oh rite
FROGGS r: say ^20.flat[1,3..*] 14:22
jnthn yes, that but precedence
GlitchMr r: say (^20)[1,3...*]
camelia rakudo 0808ac: OUTPUT«0..^0␀»
rakudo 0808ac: OUTPUT«1 3 5 7 9 11 13 15 17 19␀»
FROGGS ahh, sure
jnthn heh, "..." wasn't me being "huh", it was the answer :P
GlitchMr r: say (^20)[1,3..*]
camelia rakudo 0808ac: OUTPUT«1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19␀»
GlitchMr r: say (^20)[1,3...*]
camelia rakudo 0808ac: OUTPUT«1 3 5 7 9 11 13 15 17 19␀»
jnthn .. and ... are at different prec levels
The 1,3 is an argument to ...
But only the 3 is to .. 14:23
FROGGS yeah
GlitchMr Seems to work great, and that without strange syntax like in Python.
FROGGS have fun translating ::2 to 1,3...* :o)
tadzik std: ::2 14:24
jnthn yeah, it's longer but nice that we get it out of re-using another langauge construct
camelia std 4cde04e: OUTPUT«===SORRY!===␀Two terms in a row at /tmp/1bmbN4gacz line 1:␀------> ::⏏2␀ expecting any of:␀ POST␀ feed_separator␀ infix or meta-infix␀ infixed function␀ postcircumfix␀ postfix␀ postfix_prefix_meta_operator␀ postop␀
..statemen »
jnthn hmm :)
tadzik oh, right, 2 is not a valid typename :)
jnthn r: sub prefix:<::>($n) { 1,1+$n ... * }; say (^20)[::2]
camelia rakudo 0808ac: OUTPUT«1 3 5 7 9 11 13 15 17 19␀»
jnthn bwahaha 14:25
peteretep
TimToady of course, 0,2...* is :2, not 1,3...*
yoleaux 08:06Z <diakopter> TimToady: ltm s05 patch - "whitespace is the archtypical" .. archtypical? or archetypical? or archetypal?
TimToady well, prototypical might be better anyway 14:26
GlitchMr 1,3..* is [1::2], but I doubt anybody cares.
1,3...*, I mean.
jnthn TimToady: details... :P
dalek ecs: 3d9eda7 | larry++ | S05-regex.pod:
typo

14:27