»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
00:01 Vlavv joined 00:15 Timbus left 00:16 zamolxes left 00:18 zamolxes joined, Timbus joined 00:21 benabik joined 00:24 ssutch joined, ssutch left, ssutch joined, ssutch left, ssutch joined 00:28 benabik left 00:29 btyler left 00:35 rurban left 00:53 dayangkun joined 01:02 qzx left 01:07 rurban joined, Su-Shee_ joined 01:11 Su-Shee left, rurban left 01:16 FROGGS_ joined 01:19 Sqirrel left, FROGGS left 01:20 Sqirrel joined 01:21 klapperl joined 01:23 qzx joined 01:24 PZt left, klapperl_ left 01:35 lvfjf joined
d^_^b timotimo: adding it (-Xms1024m) to the makefile (tools/build/Makefile-JVM.in) just after $(JAVAC). but it doesn't seem to add that switch 01:38
01:53 cooper- joined
skids wonders what he should touch after making a mod in star's --gen-moar tree to get make to rebuild appropriately. 01:56
(and.or rm)
02:04 benabik joined 02:08 jnap joined
Timbus is there an 'is required' trait for attributes? or, will there be? i mean i guess $.foo = fail("foo required") or so works but, ehh.. 02:18
02:20 donaldh left
skids Well, you could make them required in a custom .new, no? 02:24
02:24 donaldh joined
Timbus well, yeah but thats very similar to my current way. I just figured required attributes would be common enough to warrant a way to declare them as such 02:30
02:44 SamuraiJack_ joined 02:58 xinming_ joined 03:01 xinming left
skids I could see that being handy for introspection purposes. 03:01
03:01 rurban joined 03:03 SamuraiJack_ left 03:04 SamuraiJack_ joined 03:06 adu joined 03:15 SamuraiJack_ left 03:16 SamuraiJack_ joined 03:17 hoverboard joined 03:25 Alula left, lvfjf left 03:26 SamuraiJack_ left 03:33 kurahaupo left, lvfjf joined 03:34 fhelmberger joined 03:36 Alula joined 03:39 fhelmberger left 03:42 adu left 03:48 adu joined, adu left 03:50 logie_ left 03:54 Zaegnair joined
Zaegnair Hello. 03:54
Is there anybody out there?
03:55 jnap left
BenGoldberg Sure, there's people out there. 03:56
In fact, some people are *very* *much* out there ;) 03:57
Zaegnair Hi Ben. So the function of this room is to assist with perl 6 development?
BenGoldberg Yup
Zaegnair Lol. :P
03:57 xinming_ left
Zaegnair Mind briefing me? 03:57
How can I help? I'm curious.
03:57 kaare_ joined
BenGoldberg Hmm... I'm not the best person to explain it all... 03:58
I suppose the best starting point would be perl6.org
The folks who are good at splaining things are mostly asleep, due to different timezones 03:59
03:59 logie_ joined
BenGoldberg You also might want to look at the irc logs for this channel... see the /topic 04:00
Zaegnair Ah I see.
Thank you.
BenGoldberg You're welcome.
BenGoldberg yawns. <-- Ought to be in bed, since it's nearly midnight.
04:00 PZt joined
Zaegnair East Coast? 04:00
Sleep well.
BenGoldberg Yup.
PerlJam Zaegnair: greetings. 04:01
PerlJam is mid-coast :)
Zaegnair Greetings PerlJam. 04:02
PerlJam BenGoldberg gave you some good advice.
If you have any questions, I'll probably be around for an hour or so. 04:03
Timbus: has $.attr = !!!; # makes the attr required 04:05
has $.attr = !!! 'attr is required'; # takes an arg too
04:05 BenGoldberg left 04:08 Zaegnair left 04:19 Sqirrel left 04:25 jnap joined 04:26 jnap left, jnap1 joined 04:30 jnap1 left 04:39 xinming joined 04:50 rurban left 04:56 [particle] left, [particle] joined 04:59 hoverboard left 05:00 lvfjf left 05:02 kaare_ left 05:14 dayangkun left 05:17 wbill left 05:20 rurban joined 05:22 rurban1 joined 05:25 rurban left 05:26 rurban1 left, jnap joined 05:28 kaare_ joined 05:31 jnap left 05:48 logie_ left 05:51 vendethiel left 05:52 xinming left 05:55 eternaleye left 05:56 eternaleye joined 05:57 silug____ left, vendethiel joined
skids gist.github.com/skids/2b069b02b2a9b6e0ee45 # <-- testing the bigint bitops fixes from RT#115966 06:08
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115966
skids Bedtime was a long time ago.
06:14 dayangkun joined 06:16 vendethiel left 06:23 anaeem1 joined, rurban joined 06:24 bjz joined, vendethiel joined 06:25 vendethiel left 06:26 vendethiel joined 06:27 jnap joined, rurban left 06:28 anaeem1 left 06:30 kaleem joined 06:31 vendethiel left 06:32 FROGGS_ left, jnap left, vendethiel joined 06:35 anaeem1_ joined 06:43 anaeem1_ left, anaeem1 joined 06:44 kaleem left 06:45 anaeem___ joined
masak g'm', #perl6 06:48
ooh!
one thing I didn't immediately pick up about linear logics, but that's obvious in retrospect: 06:49
06:49 anaeem1 left
masak because of the extra assumptions about no-cloning and no-deletion, *you can do more optimizations*. 06:49
because you're statically guaranteed that there's only one copy of something. 06:50
06:51 kaleem joined 06:56 FROGGS joined 06:57 daniel-s__ joined, avuserow1 joined, avuserow left, daniel-s_ left 06:59 anaeem___ left 07:03 Ven joined 07:05 zakharyas joined 07:09 raiph joined 07:11 Su-Shee_ is now known as Su-Shee 07:14 nnunley left 07:15 qzx left 07:16 donaldh_ joined 07:22 qzx joined 07:24 rurban joined 07:27 sqirrel_ joined, anaeem1_ joined 07:28 jnap joined, rurban left 07:32 xinming joined, darutoko joined, jnap left 07:34 fhelmberger joined 07:39 fhelmberger left 07:51 raiph left 07:55 dayangkun_ joined 07:58 dayangkun left
Ven what's "matching stream" in the feature comp. matrix ? 08:05
moritz Ven: there's supposed to be a string-like type that's actually a stream
Ven: and matching regexes against such a stream would be the holy grail of integrating it into the language 08:06
Ven mmh,mhh I see. Cause there's no link to synopsis in the matrix 08:15
Oh, I'll take a look at how STD does interpolation 08:18
08:20 fhelmberger joined 08:24 rurban joined 08:27 rurban1 joined 08:29 jnap joined, rurban left 08:31 igorsutton joined, rurban1 left 08:33 jnap left 08:35 dayangkun_ left 08:38 dayangkun joined 08:41 rindolf joined 08:55 pecastro joined
FROGGS jnthn: I fiddled with unwind_check, made notes about the things on the stack for every operation, and get an error message I don't understand... 09:00
java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: 0
in classfile (gen/jvm/stage2/NQPHLL.nqp:92)
jnthn: how do you debug that? 09:01
running it with jdb just gives me the following:
java.lang.NoClassDefFoundError: org/objectweb/asm/tree/MethodNode
in classfile (gen/jvm/stage2/NQPHLL.nqp:92)
and this is not very helpful...
nwc10 so, work has 2 coffee machines. different manufacturs, different water supply etc 09:02
(not sure if different mains phases)
both failed!
FROGGS jnthn: the code gen works btw, it explodes when executing it
uhh /o\
nwc10 we have convinced the simpler one to work again
FROGGS nwc10: have you labeled them 'East' and 'West'? 09:03
nwc10 no
but in this sort of situation, I'd prefer a piece of Soviet technology to something western 09:04
FROGGS ahh, so it is more about load balancing anyway :o)
nwc10 it would be easier to fix (or at least bodge)
09:09 woosley left, domidumont joined
timotimo FROGGS: that looks like asm.jar is exploding 09:10
they did not bother to put anything into the code that checks if you're using it right
FROGGS timotimo: yes, but it must be my fault
timotimo instead they just let the code run into exceptions by accessing arrays as if they were sure it'd work
09:10 plobsing left
donaldh_ it looks like asm.jar is not on the runtime classpath 09:10
FROGGS that is my nqp-j content: 09:11
exec jdb -classpath a:.:nqp-runtime.jar:3rdparty/asm/asm-4.1.jar:3rdparty/jline/jline-1.0.jar:3rdparty/jna/jna.jar:nqp.jar nqp "$@"
err, nqp-jdb was that
nqp-j is: exec java -cp . -Xbootclasspath/a:.:nqp-runtime.jar:3rdparty/asm/asm-4.1.jar:3rdparty/jline/jline-1.0.jar:3rdparty/jna/jna.jar:nqp.jar nqp "$@" 09:12
is the jdb line correct?
donaldh_ yes, it looks right.
Ah, no. 09:13
jnthn FROGGS: The index out of bounds error normally is asm's crappy way of telling you that you got the stack height inconsistent at some point.
donaldh_ I think asm-tree-4.1.jar should be on the classpath too.
FROGGS inconsistent stack height?! wth is that even :o) 09:14
donaldh_: I'll try
donaldh_ The NoClassDefFoundError is for a class that is in asm-tree.jar 09:15
FROGGS donaldh++ # now I get the same error msg like nqp-j gives me
and now I need to find out how to use jdb
09:17 donaldh left, domidumont left
FROGGS this seems handy: catch java.lang.ArrayIndexOutOfBoundsException 09:17
09:18 domidumont joined
FROGGS hmmm, perhaps that is a little bit too late 09:18
gah 09:21
no readline support, and I have to type 'next'... 'n' does *not* work -.- 09:22
stupid verbose Javasians
donaldh_ doesn't like jdb
jnthn I was going to make a joke that jdb would be like gdb but more verbose, but it felt like a bit of a cheap shot :P
FROGGS donaldh_: is there something better that I could try?
:o) 09:23
donaldh_ FROGGS: I use the Eclipse debugger and run nqp with remote debugging enabled. 09:25
FROGGS hmm, that sounds like something that is not easy to set up
donaldh_ takes longer than jdb for sure 09:26
FROGGS: do you have rlwrap available on your system?
FROGGS I can install it, yes 09:27
09:27 sqirrel_ left
donaldh_ It should be possible to use rlwrap around jdb to add readline functionality. 09:27
FROGGS ahhh, I see
cool :o)
donaldh_ uses it with sqlplus
09:28 woosley joined, rurban joined, dayangkun_ joined 09:29 jnap joined
FROGGS I think I am going to add a method in Ops.java and add that thing to add a breakpoint there... 09:29
09:31 dayangkun left
FROGGS that readline wrapper works! 09:32
09:32 rurban left, woosley left 09:33 domidumont left 09:34 jnap left, domidumont joined
FROGGS btw, if we create a debugger to debug MoarVM, it should be called: perl6-debug-vm for "perl6-debug eVen Moar" 09:36
09:37 dayangkun joined
timotimo debug very much? 09:39
FROGGS no, eVen Moar :o) 09:40
09:40 dayangkun_ left 09:43 donaldh_ is now known as donaldh
FROGGS damn, it just ignores my breakpoint :/ 09:45
jnthn I suspect building profiling support into Moar is moar pressing. 09:47
FROGGS nooooooo! 09:48
LABELS
jnthn I thought they worked on Moar? :P 09:49
It's "just" JVM to go now?
I suspect using jdb on the array out of bounds will mostly be useful if you can step down to the stack from in JASTToBytecode or similar...but even then maybe not.
It'll likely be that the wrong type is on the stack, or some stack heigh issue. Like pop rather than pop2'ing an RT_INT or so. 09:50
timotimo yeah, longs taking two slots on the stack is a tiny bit weird
and caused me lots of grief while developing
FROGGS yes, just jvm
here I wrote down what I expect is on the stack: gist.github.com/FROGGS/afd1ce1ef24a4c683b71 09:51
I know that $LCMP does not push a Bool on the stack... but it should be something that only takes *one* slot, right? 09:52
09:52 domidumont left
timotimo it puts a comparison result object, doesn't it? 09:53
FROGGS docs just state it is a "result" 09:54
it seems to explode before line 41 of the gist (call to _is_same_label) 09:55
err, line 41 in case you refresh :o)
timotimo Stage optimize : 13.337
*giggle*
jnthn FROGGS: I think it's an integer 09:57
32-bit
So one slut
slot
FROGGS hihi
jnthn ouch :P
FROGGS :P
okay, so popping that one slut should be fine then :o)
jnthn Note that if you then use it with something that expects a $RT_INT, then you'd need to i2l it 09:58
But yeah, if you're just popping it then pop is fine.
FROGGS I ifeq it
timotimo is there really no asm.jar debug build that gives you more debug diagnostics? 09:59
FROGGS perhaps there is... I have no idea what I am doing with all these Java things :/
timotimo much like me :P
10:04 denis_boyun_ joined 10:10 dayangkun left 10:12 dayangkun joined 10:15 kivutar joined 10:19 berekuk joined 10:29 rurban joined
moritz thought this was a family-friendly channel :-) 10:29
lizmat too much java is not good for your blood pressure :-) 10:30
10:30 jnap joined, qzx left 10:33 rurban left 10:35 jnap left 10:41 dayangkun left 10:50 pecastro left 10:52 pecastro joined 11:00 takesako____ left
lizmat hmmm... if I google for "rakudo star download", one of the top hits leads me to: github.com/rakudo/star/downloads 11:03
which only has 2012.11 as the last rakudo star :-(
masak probably because Google favors hits with the exact words in the URL.
lizmat are we forgetting to update it there?
is that obsolete?
if it is, shouldn't we get rid of it? 11:04
masak I think we used to upload it there, but then switched to a dedicated server.
lizmat Ah, I see all the way at the bottom: 11:05
We’ve recently deprecated this downloads section (manually uploaded files).
Please read the blog post for more information.
lizmat is reading github.com/blog/1547-release-your-software 11:06
and indeed we seem to have github.com/rakudo/star/releases 11:07
stoopid google
and stoopid github for not linking directly from github.com/rakudo/star/downloads to github.com/rakudo/star/releases
lizmat is wondering whether it would be a good idea to remove all packages from /downloads 11:09
the newest release there is 1.5 years old
which is a *lot* in rakudo's lifetime, right?
11:10 chenryn left
lizmat afk for a bit& 11:12
nwc10 lizmat: killing stale stuff seems like a good idea to me. Is it possible to put any sort of README in that directory to send people to the correct place?
lizmat don't think so, but removing stuff will at least show the link to the blog post deprecating github downloads more prominently 11:14
really afk&
11:16 takesako____ joined
FROGGS can't upload a file that has a short sentence as filename? 11:21
11:23 rurban joined 11:30 sftp left, sftp joined 11:31 jnap joined
Timbus does there exist, any kind of perl 6 data structure (a hash i guess) that can use an object's attribute as its key? because I think that would be handy 11:34
11:35 jnap left, sftp left, sftp joined
Timbus i mean, im using a hash to store objects and the key is currently the same as one of the objects attributes. that's fine. but the attribute can change. so I need to maintain both the object and the data store. 11:38
11:38 sftp left 11:39 sftp joined 11:41 virtualsue joined 11:42 sftp left, sftp joined 11:47 berekuk left, xinming left 12:03 kurahaupo joined 12:05 telex left 12:06 telex joined 12:08 gfldex_ is now known as gfldex
lizmat Timbus: something like: 12:10
m: class A { has $.foo }; say A.^attributes
camelia rakudo-moar 362f3f: OUTPUT«Mu $!foo␤»
12:10 daniel-s joined
lizmat ? 12:10
at least you would know what "keys" you could use ? 12:11
I don't think we would like to allow access to the inner hash, as that is an implementation detail
and could change at any time
FROGGS: you can't upload anything anymore, afaik, as the upload API has been disabled 12:13
"The ability to upload new files via the web site is disabled today." stated on 11 Dec 2012 12:14
FROGGS k :( 12:17
lizmat I have downloaded all packages in the downloads directory 12:18
and will remove them around midnight today (CST) unless somebody tells me not to
FROGGS m: class A { has $.foo }; my @things = A.new( :foo<bar> ), A.new( :foo<baz> ); my %h = @things.map: { .foo => $_ }; say %h # Timbus this? 12:20
camelia rakudo-moar 362f3f: OUTPUT«("bar" => A.new(foo => "bar"), "baz" => A.new(foo => "baz")).hash␤»
12:21 berekuk joined
FROGGS lizmat++ 12:21
12:32 jnap joined
[Coke] heard elsewhere on the internets: 12:33
-> (21:17) From Kazrak, to random:
- "2. ???? 1. Race condi3. Profit! tion"
moritz :-) 12:34
lizmat :-)
12:36 jnap left
[Coke] would really like to get back to working on perl instead of work. :P 12:38
lizmat hugs [Coke]
[Coke] lizmat++ 12:39
masak autopun marker ^ 12:42
[Coke] masak: where now? 12:44
masak [Coke]: the race condition one you posted. 12:46
oh, and I'm not sure whether I posted this one for the collection: twitter.com/indec/status/447201158222712832 12:47
moritz is pretty sure he's seen that one before, but still finds it funny 12:48
masak moritz: just a quick poll: did you find it *more* funny this time around, or *less*? 12:49
(just asking. no reason.)
12:53 daniel-s left 12:54 daniel-s joined, bluescreen10 joined 12:55 molaf joined
lizmat what is our feeling about test files that don't have a "use v6" ? 13:02
moritz, masak ^^ 13:03
masak I'm perfectly OK with that.
I don't see "use v6" as something more than a token gesture.
13:04 Rix joined
lizmat so conversely: would you be in favour of removing it from test-files ? 13:04
jnthn I think if there's any code we can assume you'd better be running under a Perl 6 compiler, it's the compiler test suite :P
masak there's no implementation out there that will care one way or the other about the presence of that line -- unless you count `perl`.
lizmat: I'm not against it, but I don't see it as a big deal either way.
jnthn lizmat: I don't think it matters.
lizmat well, anytihing that would make the spectest go faster, would be good, no? 13:05
masak heh.
jnthn lizmat: yeah but that should be unmeasurable :) 13:06
masak lizmat: if you remove them all *and measure a significant speedup from it*, I'm all for it! :P
lizmat ok, will do some tests :-) 13:07
jnthn But really, there must be better ways to get a speedup on spectests :P
lizmat atm I making sure they all have a "plan" 13:08
so we can be better assured it always runs all tests that are supposed to be run
:n
FROGGS but there are some that can't have a plan, right?
lizmat so far, I haven't seen any
FROGGS like when it uses eval_dies_ok or so? can't remember 13:09
lizmat well, I found one of those, but it's not in the spectest atm (array shape tests)
FROGGS there was a test subroutine that runs not always the same number of tests 13:10
sergot hi o/
lizmat FROGGS: that's bad
sergot o/
FROGGS hi sergot
lizmat only a week to go :-)
FROGGS :o)
grondilu so List.permutations and List.combinations are broken. Seems due to List[@a] not working. Is someone looking at that? 13:12
lizmat grondilu: could you provide a test case? 13:13
grondilu r: .say for <a b c>.permutations; # like this?
camelia rakudo-moar 362f3f: OUTPUT«Cannot call 'postcircumfix:<[ ]>'; none of these signatures match:␤:(Any \SELF, int $pos)␤:(Any \SELF, int $pos, \assignee)␤:(Any \SELF, int $pos, :BIND($BIND)!)␤:(Any \SELF, int $pos, Any :SINK($SINK)!, *%other)␤:(Any \SELF, int $pos, Any :delet…»
..rakudo-{parrot,jvm} 362f3f: OUTPUT«a b c␤a c b␤b a c␤b c a␤c a b␤c b a␤»
grondilu oh I hadn't realised it was only on moar 13:14
lizmat hmmm...
grondilu r: say List.new ~~ Any 13:15
camelia rakudo-{parrot,jvm,moar} 362f3f: OUTPUT«True␤»
jnthn If somebody can golf it to something simple, I can take a look.
(Not right now, but later) 13:16
lizmat "gather take [self[@$_]] for permutations self.elems;"
seems to be the line where it does
*dies
masak hi sergot \o
grondilu m: say List.new[] 13:17
camelia rakudo-moar 362f3f: OUTPUT«␤»
grondilu m: say List.new[my @ = ^2]
camelia rakudo-moar 362f3f: OUTPUT«␤»
grondilu m: say List.new(<foo bar>)[my @ = ^2] 13:18
camelia rakudo-moar 362f3f: OUTPUT«foo bar␤»
13:19 kaleem left
grondilu m: use MONKEY_TYPING; augment class List { method foo { self[] } }; say List.new.foo 13:20
camelia rakudo-moar 362f3f: OUTPUT«␤»
grondilu m: use MONKEY_TYPING; augment class List { method foo { self[] } }; say List.new(<foo bar>).foo
camelia rakudo-moar 362f3f: OUTPUT«foo bar␤»
grondilu m: use MONKEY_TYPING; augment class List { method foo { self[my @ = ^2] } }; say List.new(<foo bar>).foo
camelia rakudo-moar 362f3f: OUTPUT«foo bar␤»
grondilu it seem to complain only in CORE-settings
or something weird like that, I don't know. 13:21
lizmat grondilu: many things don't work in CORE-settings, like typed hashes :-(
jnthn wonders why everyone pluralizes setting. There's, like, one CORE setting. That's the point... 13:23
grondilu not related: how is the work on v5 going? Because with the recent P6 hate shown on perlmonks, I kind of think that would be something that could impress P6 naysayers.
jnthn My gut feeling tells me this one will be reproducible outside of it.
13:26 kaare_ left
lizmat jnthn: if I change the gather/take by a map, the problem goes away 13:26
*to
spectesting (temporary) fix now 13:27
jnthn lizmat: Hm...can it be golfed to something involving gather/take but not needing map? 13:28
uh
not needing permutations, even...
grondilu m: use MONKEY_TYPING; augment class List { method foo { gather .take for self[my @ = ^2] } }; say List.new(<foo bar>).foo
camelia rakudo-moar 362f3f: OUTPUT«foo bar␤»
grondilu (well that was naive) 13:29
dalek kudo/nom: 55bf027 | (Elizabeth Mattijsen)++ | src/core/List.pm:
Temporary fix to get List.permutations to work
13:32
PerlJam might it have something to do with the recursion in permutations?
13:32 jnap joined
lizmat feels to me "self" becomes Mu or so 13:33
PerlJam i.e. moar's implementation of gather/take is not recursion-safe
lizmat and permutations is using gather take, and itself calling permutations *inside* the gather 13:34
13:35 guru joined, jnap left, guru is now known as Guest25905
jnthn If you use the block form of gather instead, does it fix things? 13:35
13:35 Guest25905 is now known as ajr_
lizmat testing... 13:36
that seems to fix it, indeed 13:38
grondilu it's not exactly recursive as the permutations is you see in the method is a call to a subroutine
s/is you see/you see/
lizmat sub permutations itself is calling sub permutations 13:39
grondilu yeah but the subroutine works fine
m: say permutations 3
camelia rakudo-moar 362f3f: OUTPUT«0 1 2 0 2 1 1 0 2 1 2 0 2 0 1 2 1 0␤»
lizmat indeed, it does not seem to be the recursion, but the blocklessness of the gather take in permutations 13:40
grondilu ok
lizmat jnthn: ^^^ not sure if you seen it
13:41 Alula left 13:42 Alula joined
jnthn lizmat: OK, if that fixes it, then that's the workaround to go for, and then let's ticket this as a blockless gather bug on Moar 13:42
grondilu m: say <foo bar>.combinations(1) 13:43
camelia rakudo-moar 362f3f: OUTPUT«foo bar␤»
grondilu j
grondilu realises there is no gather/take in combinations so it could not fail as well 13:44
lizmat jnthn: shall I do the same for jvm/parrot, so we don't special case Moar, or should I keep it as a reminder ?
jnthn lizmat: Oh, workaround can be just doen for all platforms 13:45
lizmat: I mean ticket can just be marked as moar only
lizmat okidoki 13:46
13:46 rurban left 13:50 dayangkun joined
masak I just re-ran strangelyconsistent.org/blog/et-tu-bruteforce with Rakudo Moar. 13:51
happy news: it does the N = 4 case in under a second. 13:52
it does N = 7 in 22.3 seconds.
N = 8: 127 s. 13:54
jnthn Try running with --optimize=3 also
dalek kudo/nom: 529aa9b | (Elizabeth Mattijsen)++ | src/core/List.pm:
Temporary fix for #121830
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=121830
masak jnthn: will do. 13:56
hm, the fan just spun up :)
top says moar is hogging 80% CPU but not much memory. nice. 13:57
lizmat masak: would "is cached" make sense there ?
masak whoa. 13:58
jnthn: "Internal error: zeroed target thread ID in work pass"
jnthn: what does *that* mean? :)
jnthn masak: Nothing good.
13:58 treehug88 joined
jnthn Internal VM panic. 13:58
masak lizmat: possibly.
trying with --optimize=3 first, then with 'is cached'. 13:59
14:00 anaeem1_ left, btyler joined 14:04 mtk joined
Ven s/grep({ langford($_) })/grep(&langford)/ 14:04
masak eta conversion saves the day, again! :) 14:05
yes, I will make that substitution.
timotimo that should also be a nice win
14:05 salv0 left
timotimo given we don't have to clone a closure every time now 14:06
lizmat is there a particular reason to keep "done" in a test file if there is a "plan" ? 14:07
timotimo we can more easily see if the plan is wrong as opposed to the file crashed in between, perhaps?
14:08 logie joined
lizmat well, one should assume the plan is right, I would think 14:08
14:08 rurban joined
lizmat but if we're not sure about that, then maybe all test files should have a "done" ? 14:08
14:10 mtk left, mtk joined
skids r: my %h{Any} = (:a(1), :b(2)); %h.keys[0] = "c"; %h.say; %h<c>:k = "d"; %h.say; 14:11
camelia rakudo-{parrot,moar} 362f3f: OUTPUT«("b" => 2, "c" => 1).hash␤("b" => 2, "c" => 1).hash␤»
..rakudo-jvm 362f3f: OUTPUT«("a" => 1, "c" => 2).hash␤("a" => 1, "c" => 2).hash␤»
lizmat yuck, that seems like a weird way to change keys 14:13
and a bug
skids I was riffing off what Timbus wanted and that was the blocker. 14:14
Not sure what's supposed too work and whether the {Any} should be required as it seems to be. 14:15
PerlJam I don't think the tests need done if there's a plan.
lizmat skids: yes, that is needed, as in the case of {Any} only, the key is not the actual key being used to hash 14:16
PerlJam I've always thought of "done" as kind of an anti-pattern, in fact. OR at the very least, a tool of last resort.
lizmat PerlJam: me too
14:16 berekuk left
masak with --optimize=3: N = 7: 21.2 s; N = 8: 132 s; N = 9: 884 s (but didn't crash this time). 14:18
that's largely a 6.5-fold increase in time every time. if N = 10 finishes, it'll be around 1.5 hours. 14:19
masak lets it run
PerlJam masak: but where's the pretty graph? ;)
14:19 nnunley joined
masak :P 14:19
14:20 xenoterracide__ joined
skids masak, FROGGS, I did some testing with the original RT#115966 fix and it still seems to work for me. gist.github.com/skids/2b069b02b2a9b6e0ee45 14:20
synopsebot Link: rt.perl.org/rt3//Public/Bug/Displa...?id=115966
14:21 fhelmberger left
skids Also, it works for rakudo-m. 14:21
lizmat jnthn: HashIter.new(self, :keystore($!keys), :k).list makes a left value list
14:21 jnap joined
lizmat what would be the quick way to turn that into a right value list ? 14:22
14:22 salv0 joined
lizmat r: my %h{Any}=a=>1; say %h; %h.kv[1] = "b"; say %h 14:22
camelia rakudo-{parrot,jvm,moar} 362f3f: OUTPUT«("a" => 1).hash␤("a" => "b").hash␤»
lizmat jnthn: want to stop that ^^^ 14:23
donaldh jnthn: is it possible to implement nqp-p ops in nqp or do they have to be implemented using PIR ops?
moritz donaldh: implementing in NQP is possible
FROGGS skids: you don't have to rebuild nqp or rakudo when you change moarvm 14:24
donaldh moritz: I'd like to implement the IO ops for nqp-p so that we can cleanup all the preprocessor directives in IO.pm 14:25
moritz donaldh: take a look at src/vm/parrot/QAST/Operations.nqp
skids FROGGS: Probably when I rebuilt nqp-p I used too broad a target. I was getting he "missing stage2/QRegex" problem with rakudo-m till I did so. 14:26
donaldh moritz: Ah, that's where I'm already looking. AFAICT that is nqp that generates PIRT that emits opcodes during compile. I'm wondering if I can actually provide nqp implementations. 14:27
FROGGS yeah...
masak after 10 minutes, the script fails with "Internal error: zeroed target thread ID in work pass" for N = 10.
14:28 retupmoca joined
jnthn masak: OK, then probably it wants running with nwc10++'s GC torture to expose where things are going wrong 14:28
masak huh. adding 'is cached' changes the *output* of the script! 14:29
lizmat r: my $a = (a=>1); $a.key = "b"; say $a
masak (and doesn't seem to speed it up) 14:30
camelia rakudo-{parrot,jvm,moar} 362f3f: OUTPUT«"b" => 1␤»
lizmat well, if it doesn't speed up, it will slow it down, as there is quite some overhead involved :-)
PerlJam masak: so .. "is cached" is broken?
FROGGS skids: I usually do: make p-clean && make p-install in nqp and rakudo, so I usually don't touch other backends by updating mstamps or by reconfiguring
PerlJam masak: or ... how does it change the output?
lizmat S02:3332 doesn't seem to mention anything about Pair.key being a left value 14:32
synopsebot Link: perlcabal.org/syn/S02.html#line_3332
lizmat but I guess the "immutable" part covers it 14:33
r: my $a = (a=>1); $a.key = "b"; say $a # expecting a blowup
camelia rakudo-{parrot,jvm,moar} 362f3f: OUTPUT«"b" => 1␤»
lizmat and since a hash is a list of Pairs, I would gather that Hash.(keys|kv|k|v|pairs) would be right values as well 14:35
m: my %h=a=>1; say %h; %h.values[0] = "b"; say %h # expecting a blowup here as well
camelia rakudo-moar 362f3f: OUTPUT«("a" => 1).hash␤("a" => "b").hash␤» 14:36
lizmat std: my %h=a=>1; say %h; %h.values[0] = "b"; say %h
camelia std ec3d853: OUTPUT«ok 00:01 127m␤»
lizmat n: my %h=a=>1; say %h; %h.values[0] = "b"; say %h
camelia niecza v24-109-g48a8de3: OUTPUT«{"a" => 1}␤{"a" => "b"}␤»
skids When you init a hash with pairs, are the keys/values still supposed to be considered pairs? 14:37
lizmat skids: conceptually I would say: yes 14:38
but that would go for any key/value, regardless of initialization
14:39 isacloud__ left
lizmat in any case, since we don't know the order in which .keys cs are being delivered 14:39
14:39 clkaoud left
lizmat it would seem like a *very* bad idea to allow .e.g. .values = (...) as a quick way to update values in a hash 14:39
skids Yeah, I just used that to show it could be done before using <k>:k 14:40
14:41 clkaoud joined, isacloud__ joined, ggherdov_ left, jtpalmer_ left
skids Same applies to keys[0], really. 14:42
14:42 jtpalmer joined
lizmat Oddly enough, Pair.key and Pair.value are explicitely marked as "is rw" for some reason 14:43
jnthn lizmat: Believe there's even tests for this...
lizmat spectesting after having removed "is rw" :-) 14:44
pretty sever breakage :-(
14:44 ggherdov_ joined
skids It severed? :-) 14:44
lizmat in sets/bags mainly
14:45 clkaoud left 14:46 sctt joined 14:47 clkaoud joined
masak PerlJam: instead of "231213\n312132", it output " 2 3 1 2 1 33 1 2 1 3 2" 14:50
lizmat r: (a => 1).value++ 14:51
masak PerlJam: feels like a problem with item/list context.
camelia rakudo-jvm 529aa9: OUTPUT«(timeout)»
( no output )
lizmat masak: if you can condense this to a test=case, I'd be happy to look at it
14:55 mtk left 14:57 thou joined 14:58 kaare_ joined
lizmat found www.nntp.perl.org/group/perl.perl6....23984.html 14:59
but that seems outdated 15:01
15:08 igorsutton left 15:09 igorsutton joined 15:10 Vlavv left 15:13 igorsutton left 15:15 daniel-s left, kaleem joined 15:18 daniel-s joined
masak lizmat: here is a simple one-liner that exposes the discrepancy: 15:21
m: sub foo($n) { return 0 unless $n; my @result = $n; @result.push( foo($n - 1) ); return @result }; say foo(3).join
camelia rakudo-moar 529aa9: OUTPUT«3210␤» 15:22
masak m: sub foo($n) is cached { return 0 unless $n; my @result = $n; @result.push( foo($n - 1) ); return @result }; say foo(3).join
camelia rakudo-moar 529aa9: OUTPUT«32 1 0␤»
lizmat masak: thanks
masak: any thoughts on the validity of (a => 1).key++ ?
masak oh, hold on, I managed to golf it down a bit more: 15:23
m: sub foo($n) { return 0 unless $n; return $n, foo($n - 1) }; say foo(2).join
camelia rakudo-moar 529aa9: OUTPUT«210␤»
masak m: sub foo($n) is cached { return 0 unless $n; return $n, foo($n - 1) }; say foo(2).join
camelia rakudo-moar 529aa9: OUTPUT«21 0␤»
15:23 hoverboard joined
masak lizmat: I think S02 or S03 weigh in on Pairs having mutable values. 15:23
lizmat S02:1704 15:24
synopsebot Link: perlcabal.org/syn/S02.html#line_1704
lizmat "As with C<Hash> types, C<Pair> and C<PairSeq> are mutable in their
values but not in their keys."
masak right.
lizmat so Pair.key being "is rw" is *wrong* 15:25
masak aye.
trivially so, if you ask me.
lizmat ok, there is 1 test specifically checking that
and some other obscure test with =:= failing
dalek kudo/nom: 1ba6931 | (Elizabeth Mattijsen)++ | src/core/Pair.pm:
Pair.key is *not* rw, as per S02:1704
15:26
synopsebot Link: perlcabal.org/syn/S02.html#line_1704
15:27 zakharyas left, Vlavv joined
lizmat n: my $key = "key"; my $p = ($key => "foo"); $p.key = "bar"; say $key 15:29
camelia niecza v24-109-g48a8de3: OUTPUT«bar␤» 15:30
lizmat yuck :-)
now I understand where Niecza was taking shortcuts
15:30 benabik left
FROGGS O.o 15:31
15:32 thou left 15:33 thou joined 15:34 ajr_ left 15:36 guru joined, guru is now known as Guest69326
dalek ast: 0cbbe06 | (Elizabeth Mattijsen)++ | S02-types/pair.t:
Pair.key has become immutable, as perl S02:1704
15:37
synopsebot Link: perlcabal.org/syn/S02.html#line_1704
15:38 [particle]1 joined 15:39 [particle] left
lizmat m: my %h{Any}=(a=>1,b=>2); %h.keys[0] = "b"; say %h 15:39
camelia rakudo-moar 529aa9: OUTPUT«("b" => 1, "b" => 2).hash␤»
lizmat hehe
above patch seems to fix that as well
15:39 denis_boyun_ left 15:41 bjz left
skids That... is evil. 15:41
lizmat skids: well, you put me up to it :-) 15:42
skids lizmat++ kill it with fire 15:43
retupmoca r: class A { }; my $a = A.new but role { method foo { self!bar; }; method !bar { say "Hello" } }; $a.foo 15:45
camelia rakudo-moar 529aa9: OUTPUT«Hello␤» 15:46
..rakudo-parrot 529aa9: OUTPUT«Nominal type check failed for parameter ''; expected $?CLASS but got A+{<anon>} instead␤ in method bar at /tmp/tmpfile:1␤ in method foo at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-jvm 529aa9: OUTPUT«Nominal type check failed for parameter 'null'␤ in method bar at /tmp/tmpfile:1␤ in method foo at /tmp/tmpfile:1␤ in block at /tmp/tmpfile:1␤␤»
retupmoca ^ is that supposed to work?
FROGGS I'd say yes 15:48
skids I think so.
jnthn Moar agrees :) 15:50
dalek ast: 9d1bcb0 | (Elizabeth Mattijsen)++ | S12-methods/chaining.t:
Mark broken test as "todo"

Now that Pair.key is no longer a left value, this test is probably bogus anyway.
15:52
FROGGS jnthn: about that ArrayIndexOutOfBoundsErrorThingy... it was that I called the op ifeq on a Long, and not on Long+IVAL_ZERO+LCMP
jnthn aha
that'd do it
FROGGS why didn't you say that earlier? :o)
donaldh :D 15:53
lizmat jnthn: is there an easy way to make a HashIter read only ?
jnthn Iterators are read only, no? 15:54
Oh, or you mean the iteration values they pump out?
lizmat yes, the latter 15:55
HashIter.new(self, :keystore($!keys), :k).list
to be precise
r: my %h = (a=>1,b=>2); %h.values[*] = (3,4); say %h
camelia rakudo-jvm 529aa9: OUTPUT«("a" => 4, "b" => 3).hash␤»
..rakudo-{parrot,moar} 529aa9: OUTPUT«("a" => 3, "b" => 4).hash␤»
lizmat r: my %h = (a=>1,b=>2); %h.values[*] = (3,4); say %h 15:56
camelia rakudo-jvm 529aa9: OUTPUT«("a" => 4, "b" => 3).hash␤»
..rakudo-{parrot,moar} 529aa9: OUTPUT«("a" => 3, "b" => 4).hash␤»
lizmat assign values depending on unknown sort order :-(
FROGGS that's the nature of a hash, no? 15:57
skids I bet there's a use case out there somewhere :-)
A warning might be more appropriate. 15:58
lizmat r: my %h = (a=>1,b=>2); %h.values = (3,4); say %h
camelia rakudo-moar 529aa9: OUTPUT«No such method 'STORE' for invocant of type 'List'␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-{parrot,jvm} 529aa9: OUTPUT«Cannot modify an immutable value␤ in block at /tmp/tmpfile:1␤␤»
lizmat need the whatever-slice to make it work, but rather not fix that 15:59
but the underlying problem
masak all those parens above are superstitious, no?
lizmat r: my %h = a=>1,b=>2; %h.values[*] = 3,4; say %h 16:00
camelia rakudo-jvm 529aa9: OUTPUT«("a" => 4, "b" => 3).hash␤»
..rakudo-{parrot,moar} 529aa9: OUTPUT«("a" => 3, "b" => 4).hash␤»
lizmat apparently, yes :-)
16:02 Rotwang joined 16:03 treehug8_ joined
dalek kudo/nom: e4e1274 | (Elizabeth Mattijsen)++ | src/core/HashIter.pm:
Add some comments, make error message show value
16:04
16:05 treehug88 left, FROGGS left 16:08 jnap1 joined 16:09 jnap left 16:14 lue left 16:15 sctt left 16:17 pecastro left 16:20 dwarring left 16:24 hoverboard is now known as moistcherry 16:27 lue joined 16:30 Psyche^_ left 16:32 Psyche^ joined 16:35 raiph joined
lizmat r: my $a=1; ($a,$a,$a) = (3,4,5); say $a 16:41
camelia rakudo-jvm e4e127: OUTPUT«(timeout)»
..rakudo-{parrot,moar} e4e127: OUTPUT«5␤»
16:41 hummeleB1 joined
lizmat seems valid, but should this be: 16:41
my $a=1; ($a,$a,$a) = (3,4,5)[*]; say $a
m: my $a=1; ($a,$a,$a) = (3,4,5)[*]; say $a 16:42
camelia rakudo-moar e4e127: OUTPUT«5␤»
16:44 donaldh left
dalek kudo/nom: cbe7728 | (Elizabeth Mattijsen)++ | docs/ChangeLog:
Mention ro-ness of Pair.key
16:51
16:55 kaleem left
TimToady doesn't see why [*] should make any difference 16:56
lizmat then there is nothing to fix :-) 16:57
TimToady: wrt to Hash.values being left value
that feels wrong, as we cannot know the order in which they will appear 16:58
or am I missing something?
thou Should this work? File ./ext/bin/xyz includes sub foo is export { ... }; File bar says: require "./ext/bin/xyz" <foo>; my $x = foo(); ? Moar says: Unhandled exception: Method 'Stringy' not found for invocant of class 'NQPMu'
lizmat TimToady: so you cannot know which value you would be assigning to which slot 17:00
thou Alternatively, is there another way to import that foo()?
lizmat thou: use lib './ext/bin'; use xyz ? 17:01
jnthn lizmat: Well, we allow for @a { .=foo; }, so not sure why not for %h.values { .=foo }
lizmat jnthn: because in the @a case, you would know which element you would be assigning 17:02
jnthn Do you?
lizmat because the order of .values is undetermined
retupmoca I can see cases where the order doesn't matter
jnthn If I'm doing the same thing on all the values, I often don't care much about order anyway.
Most of the for loops I write don't actually use the orderedness...
lizmat do you mean %a{ .=foo } ? 17:03
TimToady no, that's a for loop
17:03 FROGGS joined
jnthn lizmat: No, I mean looping over the values in a hash and mutating each of them. 17:03
lizmat ah, hmmm... good point 17:04
TimToady there's no reason to make that readonly that I can see
lizmat Hash.values = (...) is just : don't do that
TimToady and subscripting does not strip writeability
Has.values = 42 xx * is perfectly fine 17:05
*Hash
lizmat r: my %h{Any} =a=>1,b=>2; %h.values = (3,4); say %h
TimToady it is not our job to protect people from a DIHWIDT such as that
camelia rakudo-moar e4e127: OUTPUT«No such method 'STORE' for invocant of type 'List'␤ in block at /tmp/tmpfile:1␤␤» 17:06
..rakudo-{parrot,jvm} e4e127: OUTPUT«Cannot modify an immutable value␤ in block at /tmp/tmpfile:1␤␤»
17:06 Guest69326 left, moistcherry is now known as hoverboard
FROGGS : my %h = (a=>1,b=>2); %h.values[*] = (3,4); say %h 17:07
r: my %h = (a=>1,b=>2); %h.values[*] = (3,4); say %h 17:08
camelia rakudo-jvm e4e127: OUTPUT«("a" => 4, "b" => 3).hash␤»
..rakudo-{parrot,moar} e4e127: OUTPUT«("a" => 3, "b" => 4).hash␤»
lizmat right: that one
thou lizmat: I think that looks for /xyz\.pm6?/; I get Could not find xyz in any of: ./ext/xyz/bin, …
lizmat that's a case of DIHWIDT,, is what you're saying, TimToady?
thou: no further ideas atm 17:10
r: my %h = (a=>1,b=>2); %h.values = (3,4); say %h 17:13
camelia rakudo-moar e4e127: OUTPUT«No such method 'STORE' for invocant of type 'List'␤ in block at /tmp/tmpfile:1␤␤»
..rakudo-{parrot,jvm} e4e127: OUTPUT«Cannot modify an immutable value␤ in block at /tmp/tmpfile:1␤␤»
TimToady lizmat: if you have to forbid valid uses along with invalid uses, it's getting dangerously close to pythonic constriction
lizmat I'm just worried about introducing code memes that may break in the future, when we need to change the underlying hash implementation 17:16
as opposed to Perl 5, in Perl 6 we should have enough introspection available to make a [*] slice on Hash.values at least warn, if not die
(as a left value, of course) 17:17
TimToady normal hashes have to be able to return lvalues, and this won't change
17:18 Pauekn joined
TimToady if they use a different implementation, that's their problem 17:18
lizmat the fact that in Perl 5.20, two hashes in the same process, filled with the same keys in the same order, are *not* guaranteed to have the same order afterwards
dalek kudo-star-daily: 96421a2 | coke++ | log/ (5 files):
today (automated commit)
rl6-roast-data: 2d54d1f | coke++ | / (6 files):
today (automated commit)
TimToady
.oO(all is unfair if you predeclare)
thou lizmat: Thanks for the suggestion. FYI, more data; if I mv xyz to xyz.pm, then I get: ===SORRY!=== Error while importing from 'xyz': no EXPORT sub, but you provided positional argument in the 'use' statement. Exact code at: gist.github.com/softmoth/3a1f246409a75adb2cef For the time being I can move foo() to a module and use it in bin/xyz, I think, but it would be nice to be able to export stuff from
scripts.
lizmat thou: I think there is a ticket for that already, FROGGS would know I think 17:19
17:19 [particle]1 left
Pauekn Is this channel generally very active, or was I just extremely lucky with when I stopped by? ^^ 17:19
lizmat TimToady: re 5.20 hash key order: is going to be a major pain in the world, I'm afraid
masak Pauekn: it's generally quite active. 17:20
Pauekn Awesome
masak Pauekn: though it does have cycles, because there's a concentration of Americans and Europeans on here.
not exclusively, but predominantly.
[Coke] no change in errors. :( 17:21
Pauekn masak: I see. I've noticed that in other channels, too. I read some quotes from the web site, though. You seem like a funny lot
masak Pauekn: we are hilarious.
thou I'm not 17:22
masak :) 17:23
well, we're all individuals...
thou (That was in a Monty Python voice in my head.)
Pauekn All have their strengths and weaknesses, I guess ^^
lizmat ..oO( is it time to mention a parrot? )
lizmat just went into the wrong room and got hit on the head 17:24
thou no you didn't
lizmat
.oO( I could be getting hit on the head in my spare time )
Pauekn Speaking of which. I am very new to Perl, but I have noticed you mentioning parrots quite a bit. What is that about? Isn't the mascot a butterfly? :P
lizmat Pauekn: on of the VM''s rakudo is running on, is "parrot" 17:25
virtualsue www.parrot.org/
Pauekn Ahh. I see
masak Pauekn: which makes it very hard to joke about Parrot being dead... because everyone's already done that, like, always. 17:27
you could say that the joke has been done to death.
Pauekn *Rimshot*
Oh, masak: This is what made me visit this channel: strangelyconsistent.org/blog/perl-6-is-my-mmorpg 17:30
masak neat. 17:31
17:31 eternaleye left
masak ages since I wrote that... as you can't see from the date in the URL :/ 17:31
I think the points in that post very much still hold, though. 17:32
Pauekn It is a really great post, by the way :)
[Coke] (parrot dead) that joke was how the name itself was picked. 17:33
masak Pauekn: thank you. 17:34
Pauekn: so, I must ask... which class spoke the most to you? not asking you to commit to anything, just curious. :) 17:37
Pauekn masak: I would probably one of those level 1 questing trash mobs =P
masak ooh 17:38
yep, we need those.
that sounds like trying various cool stuff on the evalbot until you (invariably) hit (a) a bug, or (b) something you didn't expect. 17:39
Pauekn I am honestly not very good at programming, but I'd like to learn ^^
masak Pauekn++
Pauekn: I think you'll find that wanting to learn is more important, long term, than being very good.
Pauekn masak: Thanks. I'm glad to hear that :D Just finished downloading Rakudo now 17:40
masak \o/ 17:43
Pauekn: let us know if there's anything we can assist you with.
17:44 guru joined
Pauekn masak: I'll probably just toy around with Rakudo while perhaps looking up the documentation for today, but thanks! I'll remember the offer :) 17:45
17:45 guru is now known as Guest23243, Guest23243 is now known as ajr_ 17:48 grep0r left, woolfy1 joined, woolfy left 17:49 eternaleye joined 17:50 grep0r joined
FROGGS lizmat / thou: I'm not sure if there is a ticket yet... 17:55
lizmat / thou: and what is it about? should we fake up an &EXPORT sub?
lizmat I guess this is mostly about S11:318 17:56
synopsebot Link: perlcabal.org/syn/S11.html#line_318
masak Pauekn: sure thing. good luck today! 17:57
17:59 Ven left
Pauekn en.wikibooks.org/wiki/Perl_6_Progra...ures#Loops <-- I see what you mean by "More than one way of doing things" :) 18:01
dalek ast: 74ad6f7 | (Elizabeth Mattijsen)++ | S0 (10 files):
Added plan, removed "done" where appropriate
ast: 2f79418 | (Elizabeth Mattijsen)++ | S02-types/array-shapes.t:
Some preliminary work on getting this into shape
ast: d07b16d | (Elizabeth Mattijsen)++ | S03-operators/div.t:
Fix typo in message
p: 9dd4604 | (Andrew Egeler)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
Add write barrier to JVM push ops

This was done on moarvm a while back, and fixes a precompilation issue.
18:02
18:04 kaare_ left 18:09 anaeem1 joined, anaeem1 left 18:11 anaeem1 joined 18:14 anaeem1 left 18:21 [particle] joined 18:30 daniel-s left
FROGGS ohh, retupmoca++ 18:31
lizmat FROGGS: throws_like has a variable number of tests
FROGGS ahh, yeah
18:32 daniel-s joined
jnthn
.oO( throws like a banana... )
18:33
18:36 anaeem1_ joined 18:39 zakharyas joined 18:40 sqirrel joined
retupmoca r: grammar G { regex TOP { <stuff "foo"> }; regex stuff($*FOO = "bar") { . } }; G.parse("x"); say 1 18:41
camelia rakudo-moar cbe772: OUTPUT«1␤»
..rakudo-jvm cbe772: OUTPUT«(timeout)»
..rakudo-parrot cbe772: OUTPUT«Unmarshallable foreign language value passed for parameter '$*FOO'␤ in regex stuff at /tmp/tmpfile:1␤ in regex TOP at /tmp/tmpfile:1␤ in method parse at gen/parrot/CORE.setting:13020␤ in block at /tmp/tmpfile:1␤␤»
retupmoca ^ parrot-bug?
(jvm does the same as moar locally) 18:42
FROGGS must be
18:43 grondilu_ joined
retupmoca that bug is now causing XML to fail tests on parrot 18:43
18:43 darutoko left
retupmoca (my last patch to XML is triggering it now) 18:43
dalek ast: b04665c | (Elizabeth Mattijsen)++ | / (20 files):
Some more plans added
18:44
18:46 hummeleB1 left, grondilu left 18:47 hoverboard left 18:48 sqirrel left
thou tadzik: pull request incoming 18:50
retupmoca FROGGS: github.com/supernovus/exemel/pull/11 works around the parrot bug 18:52
FROGGS: if you would like to merge it
dalek ast: b5e0541 | (Elizabeth Mattijsen)++ | S (13 files):
Make sure throws_like also has "done"

Since throws_like has a variable number of tests.
18:54
FROGGS retupmoca: I added more information to the PR as well, because your title did not tell enough :o) 18:55
retupmoca FROGGS: tyvm
FROGGS you're welcome
18:55 daniel-s left
masak FROGGS, retupmoca: should I submit the above as a rakudobug, or are we good? 18:56
FROGGS please rakudobug it, if it is not yet
18:56 daniel-s joined, rindolf left
retupmoca I haven't done anything with it, no 18:57
18:57 Sqirrel joined
masak rakudobugs it 18:57
retupmoca masak++
FROGGS masak++ 18:59
masak p: grammar G { regex TOP { <stuff "foo"> }; regex stuff($*FOO = "bar") { . } }; G.parse("x"); say 1 19:01
camelia rakudo-parrot cbe772: OUTPUT«Unmarshallable foreign language value passed for parameter '$*FOO'␤ in regex stuff at /tmp/YxsoP5kb9o:1␤ in regex TOP at /tmp/YxsoP5kb9o:1␤ in method parse at gen/parrot/CORE.setting:13020␤ in block at /tmp/YxsoP5kb9o:1␤␤»
masak p: grammar G { regex TOP { <stuff "foo"> }; regex stuff($*FOO) { . } }; G.parse("x"); say 1
camelia rakudo-parrot cbe772: OUTPUT«Unmarshallable foreign language value passed for parameter '$*FOO'␤ in regex stuff at /tmp/s0j5jxxL_i:1␤ in regex TOP at /tmp/s0j5jxxL_i:1␤ in method parse at gen/parrot/CORE.setting:13020␤ in block at /tmp/s0j5jxxL_i:1␤␤»
masak p: grammar G { regex TOP { <stuff> }; regex stuff($*FOO = "bar") { . } }; G.parse("x"); say 1
camelia rakudo-parrot cbe772: OUTPUT«1␤»
masak p: grammar G { regex TOP { <stuff "foo"> }; regex stuff($FOO) { . } }; G.parse("x"); say 1
camelia rakudo-parrot cbe772: OUTPUT«Unmarshallable foreign language value passed for parameter '$FOO'␤ in regex stuff at /tmp/GFq75tTp2S:1␤ in regex TOP at /tmp/GFq75tTp2S:1␤ in method parse at gen/parrot/CORE.setting:13020␤ in block at /tmp/GFq75tTp2S:1␤␤»
masak p: grammar G { regex TOP { <stuff 5> }; regex stuff($) { . } }; G.parse("x"); say 1 19:02
camelia rakudo-parrot cbe772: OUTPUT«Unmarshallable foreign language value passed for parameter ''␤ in regex stuff at /tmp/8nuMNGAIzM:1␤ in regex TOP at /tmp/8nuMNGAIzM:1␤ in method parse at gen/parrot/CORE.setting:13020␤ in block at /tmp/8nuMNGAIzM:1␤␤»
masak p: grammar G { regex TOP { <stuff 5> }; regex stuff($) { . } }; G.parse(""); say 1
camelia rakudo-parrot cbe772: OUTPUT«Unmarshallable foreign language value passed for parameter ''␤ in regex stuff at /tmp/qGiVIzzqka:1␤ in regex TOP at /tmp/qGiVIzzqka:1␤ in method parse at gen/parrot/CORE.setting:13020␤ in block at /tmp/qGiVIzzqka:1␤␤»
masak sorry about the noise.
was just curious about the exact cause, so needed to golf it a little.
m: grammar G { regex TOP { <stuff 5> }; regex stuff($) { . } }; G.parse(""); say 1 19:03
camelia rakudo-moar cbe772: OUTPUT«1␤»
tadzik thou: I wonder, maybe it should all be a method on Panda::Ecosystem? 19:09
then just Panda::Ecosystem.default or so
lizmat masak: you know you can p: to camelia privately :-) 19:13
19:21 Zaegnair joined 19:23 [particle]1 joined 19:25 [particle] left
masak lizmat: yes :/ 19:26
lizmat: expected to do not so many steps. apologies.
lizmat has been guilty of that as well...
we just need to be reminded of it more often, as the channel gets busier and busier :-) 19:27
Pauekn Is Camelia the evalbot?
jnthn Yes. 19:29
19:29 skids left
Pauekn Alright, thanks. I'll check it out 19:30
lizmat m: signal(SIGBREAK)
camelia rakudo-moar cbe772: OUTPUT«(signal )Unsupported signal handler 2␤ in sub signal at src/gen/m-CORE.setting:19663␤ in block at /tmp/3GhKyOwWiN:1␤␤»
lizmat jnthn: ^^^ is that expected ? 19:31
19:31 grondilu_ is now known as grondilu, grondilu left, grondilu joined
[Coke] m: signal(True) 19:32
camelia rakudo-moar cbe772: OUTPUT«Invalid signal␤ in sub signal at src/gen/m-CORE.setting:19659␤ in block at /tmp/Zyb_RIjyQD:1␤␤»
timotimo .o( someone could start a blog named "justrakudobugit" )
19:33 treehug8_ left
lizmat m: Signal::.keys.say 19:33
camelia rakudo-moar cbe772: OUTPUT«SIGINT SIGBREAK SIGHUP SIGWINCH␤»
lizmat [Coke]: those are the ones supported until now
jnthn Looks like a platform-specific thing 19:35
#ifdef SIGBREAK case MVM_SIG_BREAK: signum = SIGBREAK; break;
#endif
lizmat ok 19:36
jnthn Believe it's defined as the signal for Ctrl+Break on Windows
lizmat also: inside the signal handler, you get the actual signal value rather than the Enum value
in $_: perhaps we would need to map that ? 19:37
jnthn yeah, that may make more sense :)
19:37 treehug88 joined
jnthn Mostly I just Made Something Work in hope/expectation others would be able to fill in the gaps :) 19:37
lizmat starting to fill gaps now :-) 19:38
jnthn ('cus it's easier to evolve a working thing than create it from scratch)
lizmat++
Feel free to add more, just be a little careful about what's available where
Though I guess you can #ifdef the problem away like I did with SIGBREAK :)
lizmat yup 19:39
timotimo if you could ifdef all your problems away ...
lizmat #ifdef problems 19:40
problem
19:40 molaf_ joined
lizmat #endif 19:40
done :-)
19:43 molaf left, askz joined
lizmat jnthn: is there a 1-1 correspondence between nqp::const::SIG_INT and Signal::SIGINT ? 19:46
or is that coincedence?
m: say +SIGWINCH; say nqp::const::SIG_WINCH 19:47
camelia rakudo-moar cbe772: OUTPUT«4␤4␤»
jnthn lizmat: The nqp:: codes are used to match the IDs that MoarVM is clueful about 19:49
bbi10 19:51
lizmat m: my @a=""; @a.push( qx/kill -l/.words ); say @a.perl 19:52
camelia rakudo-moar cbe772: 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/tP5Tjqk1rR:1␤␤»
lizmat :-( 19:53
is there a reason why we don't have List.vk ? 19:59
use case: ("",qx/kill -l/.words ).vk.hash to fill a hash with valid signal names and their values 20:00
colomon map(* R=> *) doesn't seem that hard to type 20:05
(Do we have anything with a vk method?)
lizmat no
I have been thinking about it, but this was the first use case I found 20:06
but I guess it goes for any list where you would want to convert it to a hash with the values as keys, and the ordinals as values 20:07
20:07 itz_ left, itz left
timotimo don't we have Hash.invert? 20:07
lizmat well, yes, but seems a bit overkill to create a hash first just to invert it 20:09
20:09 hoverboard joined
colomon does not think we should have a .vk just because we could. 20:09
lizmat I hear ya :-) 20:10
20:13 denis_boyun_ joined
PerlJam lizmat; What OS are you on? My kill -l outputs a 0 for the zeroth signal (ubuntu). 20:13
lizmat OS X
timotimo i'm on a fedora system and my kill starts at HUP 20:15
lizmat hence my initial ""
I guess we can't depend on that
timotimo great! 20:16
lizmat PerlJam: what is your signal #1 ?
HUP ?
PerlJam yep
timotimo -L, --table
Similar to -l, but will print signal names and their corresponding num‐
bers.
lizmat --table probably isn't portable
timotimo d'oh :(
lizmat wondering even whether kill -l works on Win
probably not :-( 20:17
PerlJam gist.github.com/perlpilot/42c5fbc3e456054e9526 (what I see on ubuntu)
lizmat wow quit a number I haven't seen yet ever
20:24 molaf_ left, kivutar left 20:26 bluescreen10 left
masak 'night, #perl6 20:26
20:27 jnap1 left
lizmat gnight masak! 20:28
20:31 Pauekn left
[Coke] *sigh* I really want to like atom2. 20:35
(atom.io/)
jnthn .kv is often used for iteration, so you just named the k and v variables appropriately... :) 20:36
20:37 Rotwang left, berekuk joined 20:40 Vlavv left
arnsholt Atom sounds like an interesting venture. It'll be fun to see what comes of it 20:42
Sounds a lot like a modern-day emacs
20:42 hoverboard is now known as water
hoelzro I was thinking of creating a language-perl6 addon for Atom 20:42
20:42 water is now known as food
hoelzro after Kate, that is ;) 20:42
we'll see if people want to use Atom for Perl 6 20:43
_sri loves atom
PerlJam the alternative to RSS or the editor? :) 20:44
_sri WHY NOT BOTH
hoelzro I like a banana.
along with the time flies
ssutch OData
jnthn ?$where=public_run=expensive_queries 20:45
20:45 dmol left
jnthn uh, eq :) 20:45
20:46 benabik joined
jnthn was mildly horrified the first time he saw OData hooked directly up to an RDBMS, without any control on what queries you could run... :) 20:46
ssutch haha 20:47
20:49 daniel-s left, sivoais left
ssutch jnthn: did you advise they hook it up to mongo instead? 20:50
20:50 dmol joined, sftp left, sftp joined
timotimo the what now. 20:51
20:51 sftp left 20:52 sftp joined
lizmat jnthn: re .kv and vk: yes, iteration, but this was when you want to convert a list into a hash with its ordinals as the values 20:52
20:52 Vlavv joined
lizmat aka: <a b c>.vk.hash would give you (a => 0, b=> 1, c=>2).hash 20:52
m: <a b c>.kv.hash.invert.say # seems overkill to have to invert 20:53
camelia rakudo-moar cbe772: OUTPUT«"a" => "0" "b" => "1" "c" => "2"␤»
20:53 zakharyas left 20:55 treehug88 left, sftp_ joined 20:57 daniel-s joined, sftp left, sftp_ is now known as sftp
lizmat this brings back mamories: talko.cc 20:58
*memories rather
I've opened a "Rakudo" chat room there 21:00
it's like IRC, but with a twist :-)
21:00 dayangkun left 21:10 sivoais joined 21:17 dayangkun joined 21:18 food is now known as hoverboard 21:21 rindolf joined 21:23 btyler left 21:28 benabik left 21:30 Vlavv left 21:37 benabik joined
dalek kudo/nom: 698d208 | (Elizabeth Mattijsen)++ | src/core/signals.pm:
Make signal() a bit more picky on what to accept

At compile time, if only 1 signal
21:38
21:38 benabik left
lizmat wishes #perl6 a good * 21:38
21:43 Vlavv joined 21:47 raiph left 21:50 hoverboard left
vendethiel having a p6-to-js would give us perl6 atom plugins :P 21:51
vendethiel sees a lot of people whining over coffee in Atom
22:03 ajr_ left 22:11 daniel-s__ left 22:23 rindolf left 22:27 BenGoldberg joined 22:30 dmol left 22:32 rurban left 22:33 daniel-s left 22:35 daniel-s joined 22:40 daniel-s left 22:42 rurban joined, rurban left 22:43 daniel-s joined 22:48 daniel-s left 22:53 rurban joined 22:55 xenoterracide__ left 22:59 daniel-s joined 23:03 grondilu left 23:04 daniel-s left, daniel-s joined 23:10 denis_boyun_ left 23:14 logie left 23:18 daniel-s left, daniel-s joined 23:21 rurban left 23:33 anaeem1_ left 23:34 tmt joined 23:36 tmt left 23:45 hoverboard joined 23:58 xragnar_ joined, xragnar is now known as Guest33296, xragnar_ is now known as xragnar