Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-05-09

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 Vlavv joined #perl6
00:18 zamolxes joined #perl6
00:18 Timbus joined #perl6
00:21 benabik joined #perl6
00:24 ssutch joined #perl6
00:24 ssutch joined #perl6
00:24 ssutch joined #perl6
00:53 dayangkun joined #perl6
01:07 rurban joined #perl6
01:07 Su-Shee_ joined #perl6
01:16 FROGGS_ joined #perl6
01:20 Sqirrel joined #perl6
01:21 klapperl joined #perl6
01:23 qzx joined #perl6
01:35 lvfjf joined #perl6
01:38 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:53 cooper- joined #perl6
01:56 * skids wonders what he should touch after making a mod in star's --gen-moar tree to get make to rebuild appropriately.
01:56 skids (and.or rm)
02:04 benabik joined #perl6
02:08 jnap joined #perl6
02:18 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:24 skids Well, you could make them required in a custom .new, no?
02:24 donaldh joined #perl6
02:30 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:44 SamuraiJack_ joined #perl6
02:58 xinming_ joined #perl6
03:01 skids I could see that being handy for introspection purposes.
03:01 rurban joined #perl6
03:04 SamuraiJack_ joined #perl6
03:06 adu joined #perl6
03:16 SamuraiJack_ joined #perl6
03:17 hoverboard joined #perl6
03:33 lvfjf joined #perl6
03:34 fhelmberger joined #perl6
03:36 Alula joined #perl6
03:48 adu joined #perl6
03:54 Zaegnair joined #perl6
03:54 Zaegnair Hello.
03:54 Zaegnair Is there anybody out there?
03:56 BenGoldberg Sure, there's people out there.
03:57 BenGoldberg 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?
03:57 BenGoldberg Yup
03:57 Zaegnair Lol. :P
03:57 Zaegnair Mind briefing me?
03:57 Zaegnair How can I help? I'm curious.
03:57 kaare_ joined #perl6
03:58 BenGoldberg Hmm... I'm not the best person to explain it all...
03:58 BenGoldberg I suppose the best starting point would be perl6.org
03:59 BenGoldberg The folks who are good at splaining things are mostly asleep, due to different timezones
03:59 logie_ joined #perl6
04:00 BenGoldberg You also might want to look at the irc logs for this channel... see the /topic
04:00 Zaegnair Ah I see.
04:00 Zaegnair Thank you.
04:00 BenGoldberg You're welcome.
04:00 * BenGoldberg yawns.  <-- Ought to be in bed, since it's nearly midnight.
04:00 PZt joined #perl6
04:00 Zaegnair East Coast?
04:00 Zaegnair Sleep well.
04:00 BenGoldberg Yup.
04:01 PerlJam Zaegnair: greetings.
04:01 * PerlJam is mid-coast :)
04:02 Zaegnair Greetings PerlJam.
04:02 PerlJam BenGoldberg gave you some good advice.
04:03 PerlJam If you have any questions, I'll probably be around for an hour or so.
04:05 PerlJam Timbus: has $.attr = !!!;  # makes the attr required
04:05 PerlJam has $.attr = !!! 'attr is required';  # takes an arg too
04:25 jnap joined #perl6
04:26 jnap1 joined #perl6
04:39 xinming joined #perl6
04:56 [particle] joined #perl6
05:20 rurban joined #perl6
05:22 rurban1 joined #perl6
05:26 jnap joined #perl6
05:28 kaare_ joined #perl6
05:56 eternaleye joined #perl6
05:57 vendethiel joined #perl6
06:08 skids https://gist.github.com/skids/2b069b02b2a9b6e0ee45 # <-- testing the bigint bitops fixes from RT#115966
06:08 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=115966
06:08 skids Bedtime was a long time ago.
06:14 dayangkun joined #perl6
06:23 anaeem1 joined #perl6
06:23 rurban joined #perl6
06:24 bjz joined #perl6
06:24 vendethiel joined #perl6
06:26 vendethiel joined #perl6
06:27 jnap joined #perl6
06:30 kaleem joined #perl6
06:32 vendethiel joined #perl6
06:35 anaeem1_ joined #perl6
06:43 anaeem1 joined #perl6
06:45 anaeem___ joined #perl6
06:48 masak g'm', #perl6
06:48 masak ooh!
06:49 masak one thing I didn't immediately pick up about linear logics, but that's obvious in retrospect:
06:49 masak because of the extra assumptions about no-cloning and no-deletion, *you can do more optimizations*.
06:50 masak because you're statically guaranteed that there's only one copy of something.
06:51 kaleem joined #perl6
06:56 FROGGS joined #perl6
06:57 daniel-s__ joined #perl6
06:57 avuserow1 joined #perl6
07:03 Ven joined #perl6
07:05 zakharyas joined #perl6
07:09 raiph joined #perl6
07:16 donaldh_ joined #perl6
07:22 qzx joined #perl6
07:24 rurban joined #perl6
07:27 sqirrel_ joined #perl6
07:27 anaeem1_ joined #perl6
07:28 jnap joined #perl6
07:32 xinming joined #perl6
07:32 darutoko joined #perl6
07:34 fhelmberger joined #perl6
07:55 dayangkun_ joined #perl6
08:05 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
08:06 moritz Ven: and matching regexes against such a stream would be the holy grail of integrating it into the language
08:15 Ven mmh,mhh I see. Cause there's no link to synopsis in the matrix
08:18 Ven Oh, I'll take a look at how STD does interpolation
08:20 fhelmberger joined #perl6
08:24 rurban joined #perl6
08:27 rurban1 joined #perl6
08:29 jnap joined #perl6
08:31 igorsutton joined #perl6
08:38 dayangkun joined #perl6
08:41 rindolf joined #perl6
08:55 pecastro joined #perl6
09:00 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 FROGGS java.lang.RuntimeException: java.lang.ArrayIndexOutOfBoundsException: 0
09:00 FROGGS in classfile (gen/jvm/stage2/NQPHLL.nqp:92)
09:01 FROGGS jnthn: how do you debug that?
09:01 FROGGS running it with jdb just gives me the following:
09:01 FROGGS java.lang.NoClassDefFoundError: org/objectweb/asm/tree/MethodNode
09:01 FROGGS in classfile (gen/jvm/stage2/NQPHLL.nqp:92)
09:01 FROGGS and this is not very helpful...
09:02 nwc10 so, work has 2 coffee machines. different manufacturs, different water supply etc
09:02 nwc10 (not sure if different mains phases)
09:02 nwc10 both failed!
09:02 FROGGS jnthn: the code gen works btw, it explodes when executing it
09:02 FROGGS uhh /o\
09:02 nwc10 we have convinced the simpler one to work again
09:03 FROGGS nwc10: have you labeled them 'East' and 'West'?
09:03 nwc10 no
09:04 nwc10 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)
09:04 nwc10 it would be easier to fix (or at least bodge)
09:09 domidumont joined #perl6
09:10 timotimo FROGGS: that looks like asm.jar is exploding
09:10 timotimo they did not bother to put anything into the code that checks if you're using it right
09:10 FROGGS timotimo: yes, but it must be my fault
09:10 timotimo instead they just let the code run into exceptions by accessing arrays as if they were sure it'd work
09:10 donaldh_ it looks like asm.jar is not on the runtime classpath
09:11 FROGGS that is my nqp-j content:
09:11 FROGGS 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 "$@"
09:11 FROGGS err, nqp-jdb was that
09:12 FROGGS 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 FROGGS is the jdb line correct?
09:12 donaldh_ yes, it looks right.
09:13 donaldh_ 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.
09:13 donaldh_ I think asm-tree-4.1.jar should be on the classpath too.
09:14 FROGGS inconsistent stack height?! wth is that even :o)
09:14 FROGGS donaldh_: I'll try
09:15 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
09:15 FROGGS and now I need to find out how to use jdb
09:17 FROGGS this seems handy: catch java.lang.ArrayIndexOutOfBoundsException
09:18 domidumont joined #perl6
09:18 FROGGS hmmm, perhaps that is a little bit too late
09:21 FROGGS gah
09:22 FROGGS no readline support, and I have to type 'next'... 'n' does *not* work -.-
09:22 FROGGS stupid verbose Javasians
09:22 * donaldh_ doesn't like jdb
09:22 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
09:22 FROGGS donaldh_: is there something better that I could try?
09:23 FROGGS :o)
09:25 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
09:26 donaldh_ takes longer than jdb for sure
09:26 donaldh_ FROGGS: do you have rlwrap available on your system?
09:27 FROGGS I can install it, yes
09:27 donaldh_ It should be possible to use rlwrap around jdb to add readline functionality.
09:27 FROGGS ahhh, I see
09:27 FROGGS cool :o)
09:27 * donaldh_ uses it with sqlplus
09:28 woosley joined #perl6
09:28 rurban joined #perl6
09:28 dayangkun_ joined #perl6
09:29 jnap joined #perl6
09:29 FROGGS I think I am going to add a method in Ops.java and add that thing to add a breakpoint there...
09:32 FROGGS that readline wrapper works!
09:34 domidumont joined #perl6
09:36 FROGGS btw, if we create a debugger to debug MoarVM, it should be called: perl6-debug-vm for "perl6-debug eVen Moar"
09:37 dayangkun joined #perl6
09:39 timotimo debug very much?
09:40 FROGGS no, eVen Moar :o)
09:45 FROGGS damn, it just ignores my breakpoint :/
09:47 jnthn I suspect building profiling support into Moar is moar pressing.
09:48 FROGGS nooooooo!
09:48 FROGGS LABELS
09:49 jnthn I thought they worked on Moar? :P
09:49 jnthn It's "just" JVM to go now?
09:49 jnthn 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.
09:50 jnthn 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
09:50 timotimo and caused me lots of grief while developing
09:50 FROGGS yes, just jvm
09:51 FROGGS here I wrote down what I expect is on the stack: https://gist.github.com/FROGGS/afd1ce1ef24a4c683b71
09:52 FROGGS I know that $LCMP does not push a Bool on the stack... but it should be something that only takes *one* slot, right?
09:53 timotimo it puts a comparison result object, doesn't it?
09:54 FROGGS docs just state it is a "result"
09:55 FROGGS it seems to explode before line 41 of the gist (call to _is_same_label)
09:55 FROGGS err, line 41 in case you refresh :o)
09:55 timotimo Stage optimize   :  13.337
09:55 timotimo *giggle*
09:57 jnthn FROGGS: I think it's an integer
09:57 jnthn 32-bit
09:57 jnthn So one slut
09:57 jnthn slot
09:57 FROGGS hihi
09:57 jnthn ouch :P
09:57 FROGGS :P
09:57 FROGGS okay, so popping that one slut should be fine then :o)
09:58 jnthn Note that if you then use it with something that expects a $RT_INT, then you'd need to i2l it
09:58 jnthn But yeah, if you're just popping it then pop is fine.
09:58 FROGGS I ifeq it
09:59 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 :/
09:59 timotimo much like me :P
10:04 denis_boyun_ joined #perl6
10:12 dayangkun joined #perl6
10:15 kivutar joined #perl6
10:19 berekuk joined #perl6
10:29 rurban joined #perl6
10:29 * moritz thought this was a family-friendly channel :-)
10:30 lizmat too much java is not good for your blood pressure  :-)
10:30 jnap joined #perl6
10:52 pecastro joined #perl6
11:03 lizmat hmmm... if I google for "rakudo star download", one of the top hits leads me to: https://github.com/rakudo/star/downloads
11:03 lizmat which only has 2012.11 as the last rakudo star :-(
11:03 masak probably because Google favors hits with the exact words in the URL.
11:03 lizmat are we forgetting to update it there?
11:03 lizmat is that obsolete?
11:04 lizmat 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.
11:05 lizmat Ah, I see all the way at the bottom:
11:05 lizmat We’ve recently deprecated this downloads section (manually uploaded files).
11:05 lizmat Please read the blog post for more information.
11:06 * lizmat is reading https://github.com/blog/1547-release-your-software
11:07 lizmat and indeed we seem to have https://github.com/rakudo/star/releases
11:07 lizmat stoopid google
11:07 lizmat and stoopid github for not linking directly from https://github.com/rakudo/star/downloads to https://github.com/rakudo/star/releases
11:09 * lizmat is wondering whether it would be a good idea to remove all packages from /downloads
11:09 lizmat the newest release there is 1.5 years old
11:09 lizmat which is a *lot* in rakudo's lifetime, right?
11:12 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?
11:14 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 lizmat really afk&
11:16 takesako____ joined #perl6
11:21 FROGGS can't upload a file that has a short sentence as filename?
11:22 rurban joined #perl6
11:30 sftp joined #perl6
11:31 jnap joined #perl6
11:34 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:35 sftp joined #perl6
11:38 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:39 sftp joined #perl6
11:41 virtualsue joined #perl6
11:42 sftp joined #perl6
12:03 kurahaupo joined #perl6
12:06 telex joined #perl6
12:10 lizmat Timbus: something like:
12:10 lizmat m: class A { has $.foo }; say A.^attributes
12:10 camelia rakudo-moar 362f3f: OUTPUT«Mu $!foo␤»
12:10 daniel-s joined #perl6
12:10 lizmat ?
12:11 lizmat at least you would know what "keys" you could use ?
12:11 lizmat I don't think we would like to allow access to the inner hash, as that is an implementation detail
12:11 lizmat and could change at any time
12:13 lizmat FROGGS: you can't upload anything anymore, afaik, as the upload API has been disabled
12:13 lizmat "The ability to upload new files via the web site is disabled today." stated on 11 Dec 2012
12:17 FROGGS k :(
12:18 lizmat I have downloaded all packages in the downloads directory
12:18 lizmat and will remove them around midnight today (CST) unless somebody tells me not to
12:20 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 #perl6
12:21 FROGGS lizmat++
12:32 jnap joined #perl6
12:33 [Coke] heard elsewhere on the internets:
12:33 [Coke] -> (21:17) From Kazrak, to random:
12:33 [Coke] - "2. ????  1. Race condi3. Profit! tion"
12:34 moritz :-)
12:34 lizmat :-)
12:38 * [Coke] would really like to get back to working on perl instead of work. :P
12:38 * lizmat hugs [Coke]
12:39 [Coke] lizmat++
12:42 masak autopun marker ^
12:44 [Coke] masak: where now?
12:46 masak [Coke]: the race condition one you posted.
12:47 masak oh, and I'm not sure whether I posted this one for the collection: https://twitter.com/indec/status/447201158222712832
12:48 * moritz is pretty sure he's seen that one before, but still finds it funny
12:49 masak moritz: just a quick poll: did you find it *more* funny this time around, or *less*?
12:49 masak (just asking. no reason.)
12:54 daniel-s joined #perl6
12:54 bluescreen10 joined #perl6
12:55 molaf joined #perl6
13:02 lizmat what is our feeling about test files that don't have a "use v6" ?
13:03 lizmat moritz, masak ^^
13:03 masak I'm perfectly OK with that.
13:03 masak I don't see "use v6" as something more than a token gesture.
13:04 Rix joined #perl6
13:04 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
13:04 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`.
13:04 masak lizmat: I'm not against it, but I don't see it as a big deal either way.
13:04 jnthn lizmat: I don't think it matters.
13:05 lizmat well, anytihing that would make the spectest go faster, would be good, no?
13:05 masak heh.
13:06 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
13:07 lizmat ok, will do some tests  :-)
13:07 jnthn But really, there must be better ways to get a speedup on spectests :P
13:08 lizmat atm I making sure they all have a "plan"
13:08 lizmat so we can be better assured it always runs all tests that are supposed to be run
13:08 lizmat :n
13:08 FROGGS but there are some that can't have a plan, right?
13:08 lizmat so far, I haven't seen any
13:09 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)
13:10 FROGGS there was a test subroutine that runs not always the same number of tests
13:10 sergot hi o/
13:10 lizmat FROGGS: that's bad
13:10 lizmat sergot o/
13:10 FROGGS hi sergot
13:10 lizmat only a week to go  :-)
13:10 FROGGS :o)
13:12 grondilu so List.permutations and List.combinations are broken.  Seems due to List[@a] not working.  Is someone looking at that?
13:13 lizmat grondilu: could you provide a test case?
13:13 grondilu r: .say for <a b c>.permutations; # like this?
13:13 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…»
13:13 camelia ..rakudo-{parrot,jvm} 362f3f: OUTPUT«a b c␤a c b␤b a c␤b c a␤c a b␤c b a␤»
13:14 grondilu oh I hadn't realised it was only on moar
13:14 lizmat hmmm...
13:15 grondilu r: say List.new ~~ Any
13:15 camelia rakudo-{parrot,jvm,moar} 362f3f: OUTPUT«True␤»
13:15 jnthn If somebody can golf it to something simple, I can take a look.
13:16 jnthn (Not right now, but later)
13:16 lizmat "gather take [self[@$_]] for permutations self.elems;"
13:16 lizmat seems to be the line where it does
13:16 lizmat *dies
13:16 masak hi sergot \o
13:17 grondilu m: say List.new[]
13:17 camelia rakudo-moar 362f3f: OUTPUT«␤»
13:17 grondilu m: say List.new[my @ = ^2]
13:17 camelia rakudo-moar 362f3f: OUTPUT«␤»
13:18 grondilu m: say List.new(<foo bar>)[my @ = ^2]
13:18 camelia rakudo-moar 362f3f: OUTPUT«foo bar␤»
13:20 grondilu m: use MONKEY_TYPING; augment class List { method foo { self[] } }; say List.new.foo
13:20 camelia rakudo-moar 362f3f: OUTPUT«␤»
13:20 grondilu m: use MONKEY_TYPING; augment class List { method foo { self[] } }; say List.new(<foo bar>).foo
13:20 camelia rakudo-moar 362f3f: OUTPUT«foo bar␤»
13:20 grondilu m: use MONKEY_TYPING; augment class List { method foo { self[my @ = ^2] } }; say List.new(<foo bar>).foo
13:20 camelia rakudo-moar 362f3f: OUTPUT«foo bar␤»
13:20 grondilu it seem to complain only in CORE-settings
13:21 grondilu or something weird like that, I don't know.
13:21 lizmat grondilu: many things don't work in CORE-settings, like typed hashes  :-(
13:23 * 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.
13:23 jnthn My gut feeling tells me this one will be reproducible outside of it.
13:26 lizmat jnthn: if I change the gather/take by a map, the problem goes away
13:26 lizmat *to
13:27 lizmat spectesting (temporary) fix now
13:28 jnthn lizmat: Hm...can it be golfed to something involving gather/take but not needing map?
13:28 jnthn uh
13:28 jnthn not needing permutations, even...
13:28 grondilu m: use MONKEY_TYPING; augment class List { method foo { gather .take for self[my @ = ^2] } }; say List.new(<foo bar>).foo
13:28 camelia rakudo-moar 362f3f: OUTPUT«foo bar␤»
13:29 grondilu (well that was naive)
13:32 dalek rakudo/nom: 55bf027 | (Elizabeth Mattijsen)++ | src/core/List.pm:
13:32 dalek rakudo/nom: Temporary fix to get List.permutations to work
13:32 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/55bf02751f
13:32 PerlJam might it have something to do with the recursion in permutations?
13:32 jnap joined #perl6
13:33 lizmat feels to me "self" becomes Mu or so
13:33 PerlJam i.e. moar's implementation of gather/take is not recursion-safe
13:34 lizmat and permutations is using gather take, and itself calling permutations *inside* the gather
13:35 guru joined #perl6
13:35 jnap left #perl6
13:35 jnthn If you use the block form of gather instead, does it fix things?
13:36 lizmat testing...
13:38 lizmat 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
13:38 grondilu s/is you see/you see/
13:39 lizmat sub permutations itself is calling sub permutations
13:39 grondilu yeah but the subroutine works fine
13:39 grondilu m: say permutations 3
13:39 camelia rakudo-moar 362f3f: OUTPUT«0 1 2 0 2 1 1 0 2 1 2 0 2 0 1 2 1 0␤»
13:40 lizmat indeed, it does not seem to be the recursion, but the blocklessness of the gather take in permutations
13:40 grondilu ok
13:40 lizmat jnthn: ^^^ not sure if you seen it
13:42 Alula joined #perl6
13:42 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:43 grondilu m: say <foo bar>.combinations(1)
13:43 camelia rakudo-moar 362f3f: OUTPUT«foo bar␤»
13:43 grondilu j
13:44 * 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 ?
13:45 jnthn lizmat: Oh, workaround can be just doen for all platforms
13:45 jnthn lizmat: I mean ticket can just be marked as moar only
13:46 lizmat okidoki
13:50 dayangkun joined #perl6
13:51 masak I just re-ran http://strangelyconsistent.org/blog/et-tu-bruteforce with Rakudo Moar.
13:52 masak happy news: it does the N = 4 case in under a second.
13:52 masak it does N = 7 in 22.3 seconds.
13:54 masak N = 8: 127 s.
13:54 jnthn Try running with --optimize=3 also
13:54 dalek rakudo/nom: 529aa9b | (Elizabeth Mattijsen)++ | src/core/List.pm:
13:54 dalek rakudo/nom: Temporary fix for #121830
13:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/529aa9b5fe
13:54 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=121830
13:56 masak jnthn: will do.
13:56 masak hm, the fan just spun up :)
13:57 masak top says moar is hogging 80% CPU but not much memory. nice.
13:57 lizmat masak: would "is cached" make sense there ?
13:58 masak whoa.
13:58 masak jnthn: "Internal error: zeroed target thread ID in work pass"
13:58 masak jnthn: what does *that* mean? :)
13:58 jnthn masak: Nothing good.
13:58 treehug88 joined #perl6
13:58 jnthn Internal VM panic.
13:58 masak lizmat: possibly.
13:59 masak trying with --optimize=3 first, then with 'is cached'.
14:00 btyler joined #perl6
14:04 mtk joined #perl6
14:04 Ven s/grep({ langford($_) })/grep(&langford)/
14:05 masak eta conversion saves the day, again! :)
14:05 masak yes, I will make that substitution.
14:05 timotimo that should also be a nice win
14:06 timotimo given we don't have to clone a closure every time now
14:07 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 #perl6
14:08 lizmat well, one should assume the plan is right, I would think
14:08 rurban joined #perl6
14:08 lizmat but if we're not sure about that, then maybe all test files should have a "done" ?
14:10 mtk joined #perl6
14:11 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␤»
14:11 camelia ..rakudo-jvm 362f3f: OUTPUT«("a" => 1, "c" => 2).hash␤("a" => 1, "c" => 2).hash␤»
14:13 lizmat yuck, that seems like a weird way to change keys
14:13 lizmat and a bug
14:14 skids I was riffing off what Timbus wanted and that was the blocker.
14:15 skids 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.
14:16 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.
14:16 lizmat PerlJam: me too
14:18 masak with --optimize=3: N = 7: 21.2 s; N = 8: 132 s; N = 9: 884 s (but didn't crash this time).
14:19 masak 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
14:19 PerlJam masak: but where's the pretty graph?  ;)
14:19 nnunley joined #perl6
14:19 masak :P
14:20 xenoterracide__ joined #perl6
14:20 skids masak, FROGGS, I did some testing with the original RT#115966 fix and it still seems to work for me.  https://gist.github.com/skids/2b069b02b2a9b6e0ee45
14:20 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=115966
14:21 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 #perl6
14:22 lizmat what would be the quick way to turn that into a right value list ?
14:22 salv0 joined #perl6
14:22 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␤»
14:23 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?
14:23 moritz donaldh: implementing in NQP is possible
14:24 FROGGS skids: you don't have to rebuild nqp or rakudo when you change moarvm
14:25 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
14:26 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:27 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...
14:27 masak after 10 minutes, the script fails with "Internal error: zeroed target thread ID in work pass" for N = 10.
14:28 retupmoca joined #perl6
14:28 jnthn masak: OK, then probably it wants running with nwc10++'s GC torture to expose where things are going wrong
14:29 masak huh. adding 'is cached' changes the *output* of the script!
14:29 lizmat r: my $a = (a=>1); $a.key = "b"; say $a
14:30 masak (and doesn't seem to speed it up)
14:30 camelia rakudo-{parrot,jvm,moar} 362f3f: OUTPUT«"b" => 1␤»
14:30 lizmat well, if it doesn't speed up, it will slow it down, as there is quite some overhead involved :-)
14:30 PerlJam masak: so .. "is cached" is broken?
14:30 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
14:30 PerlJam masak: or ... how does it change the output?
14:32 lizmat S02:3332 doesn't seem to mention anything about Pair.key being a left value
14:32 synopsebot Link: http://perlcabal.org/syn/S02.html#line_3332
14:32 lizmat but I guess the "immutable" part covers it
14:33 lizmat r: my $a = (a=>1); $a.key = "b"; say $a # expecting a blowup
14:33 camelia rakudo-{parrot,jvm,moar} 362f3f: OUTPUT«"b" => 1␤»
14:35 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 lizmat m: my %h=a=>1; say %h; %h.values[0] = "b"; say %h  # expecting a blowup here as well
14:35 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
14:36 camelia std ec3d853: OUTPUT«ok 00:01 127m␤»
14:36 lizmat n: my %h=a=>1; say %h; %h.values[0] = "b"; say %h
14:36 camelia niecza v24-109-g48a8de3: OUTPUT«{"a" => 1}␤{"a" => "b"}␤»
14:37 skids When you init a hash with pairs, are the keys/values still supposed to be considered pairs?
14:38 lizmat skids: conceptually I would say: yes
14:38 lizmat but that would go for any key/value, regardless of initialization
14:39 lizmat in any case, since we don't know the order in which .keys cs are being delivered
14:39 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:40 skids Yeah, I just used that to show it could be done before using <k>:k
14:41 clkaoud joined #perl6
14:41 isacloud__ joined #perl6
14:42 skids Same applies to keys[0], really.
14:42 jtpalmer joined #perl6
14:43 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...
14:44 lizmat spectesting after having removed "is rw" :-)
14:44 lizmat pretty sever breakage :-(
14:44 ggherdov_ joined #perl6
14:44 skids It severed? :-)
14:44 lizmat in sets/bags mainly
14:46 sctt joined #perl6
14:47 clkaoud joined #perl6
14:50 masak PerlJam: instead of "231213\n312132", it output " 2 3 1 2 1 33 1 2 1 3 2"
14:51 lizmat r: (a => 1).value++
14:51 masak PerlJam: feels like a problem with item/list context.
14:51 camelia rakudo-jvm 529aa9: OUTPUT«(timeout)»
14:51 camelia ..rakudo-{parrot,moar} 529aa9: ( no output )
14:51 lizmat masak: if you can condense this to a test=case, I'd be happy to look at it
14:57 thou joined #perl6
14:58 kaare_ joined #perl6
14:59 * lizmat found http://www.nntp.perl.org/group/perl.perl6.language/2005/11/msg23984.html
15:01 lizmat but that seems outdated
15:09 igorsutton joined #perl6
15:15 kaleem joined #perl6
15:18 daniel-s joined #perl6
15:21 masak lizmat: here is a simple one-liner that exposes the discrepancy:
15:21 masak m: sub foo($n) { return 0 unless $n; my @result = $n; @result.push( foo($n - 1) ); return @result }; say foo(3).join
15:21 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
15:22 camelia rakudo-moar 529aa9: OUTPUT«32 1 0␤»
15:22 lizmat masak: thanks
15:22 lizmat masak: any thoughts on the validity of (a => 1).key++ ?
15:23 masak oh, hold on, I managed to golf it down a bit more:
15:23 masak m: sub foo($n) { return 0 unless $n; return $n, foo($n - 1) }; say foo(2).join
15:23 camelia rakudo-moar 529aa9: OUTPUT«210␤»
15:23 masak m: sub foo($n) is cached { return 0 unless $n; return $n, foo($n - 1) }; say foo(2).join
15:23 camelia rakudo-moar 529aa9: OUTPUT«21 0␤»
15:23 hoverboard joined #perl6
15:23 masak lizmat: I think S02 or S03 weigh in on Pairs having mutable values.
15:24 lizmat S02:1704
15:24 synopsebot Link: http://perlcabal.org/syn/S02.html#line_1704
15:24 lizmat "As with C<Hash> types, C<Pair> and C<PairSeq> are mutable in their
15:24 lizmat values but not in their keys."
15:24 masak right.
15:25 lizmat so Pair.key being "is rw" is *wrong*
15:25 masak aye.
15:25 masak trivially so, if you ask me.
15:25 lizmat ok, there is 1 test specifically checking that
15:25 lizmat and some other obscure test with =:= failing
15:26 dalek rakudo/nom: 1ba6931 | (Elizabeth Mattijsen)++ | src/core/Pair.pm:
15:26 dalek rakudo/nom: Pair.key is *not* rw, as per S02:1704
15:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1ba6931fac
15:26 synopsebot Link: http://perlcabal.org/syn/S02.html#line_1704
15:27 Vlavv joined #perl6
15:29 lizmat n: my $key = "key"; my $p = ($key => "foo"); $p.key = "bar"; say $key
15:30 camelia niecza v24-109-g48a8de3: OUTPUT«bar␤»
15:30 lizmat yuck  :-)
15:30 lizmat now I understand where Niecza was taking shortcuts
15:31 FROGGS O.o
15:33 thou joined #perl6
15:36 guru joined #perl6
15:37 dalek roast: 0cbbe06 | (Elizabeth Mattijsen)++ | S02-types/pair.t:
15:37 dalek roast: Pair.key has become immutable, as perl S02:1704
15:37 dalek roast: review: https://github.com/perl6/roast/commit/0cbbe06554
15:37 synopsebot Link: http://perlcabal.org/syn/S02.html#line_1704
15:38 [particle]1 joined #perl6
15:39 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␤»
15:39 lizmat hehe
15:39 lizmat above patch seems to fix that as well
15:41 skids That... is evil.
15:42 lizmat skids: well, you put me up to it :-)
15:43 skids lizmat++ kill it with fire
15:45 retupmoca r: class A { }; my $a = A.new but role { method foo { self!bar; }; method !bar { say "Hello" } }; $a.foo
15:46 camelia rakudo-moar 529aa9: OUTPUT«Hello␤»
15:46 camelia ..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␤␤»
15:46 camelia ..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␤␤»
15:46 retupmoca ^ is that supposed to work?
15:48 FROGGS I'd say yes
15:48 skids I think so.
15:50 jnthn Moar agrees :)
15:52 dalek roast: 9d1bcb0 | (Elizabeth Mattijsen)++ | S12-methods/chaining.t:
15:52 dalek roast: Mark broken test as "todo"
15:52 dalek roast:
15:52 dalek roast: Now that Pair.key is no longer a left value, this test is probably bogus anyway.
15:52 dalek roast: review: https://github.com/perl6/roast/commit/9d1bcb008e
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
15:52 jnthn aha
15:52 jnthn that'd do it
15:52 FROGGS why didn't you say that earlier? :o)
15:53 donaldh :D
15:53 lizmat jnthn: is there an easy way to make a HashIter read only ?
15:54 jnthn Iterators are read only, no?
15:54 jnthn Oh, or you mean the iteration values they pump out?
15:55 lizmat yes, the latter
15:55 lizmat HashIter.new(self, :keystore($!keys), :k).list
15:55 lizmat to be precise
15:55 lizmat r: my %h = (a=>1,b=>2); %h.values[*] = (3,4); say %h
15:55 camelia rakudo-jvm 529aa9: OUTPUT«("a" => 4, "b" => 3).hash␤»
15:55 camelia ..rakudo-{parrot,moar} 529aa9: OUTPUT«("a" => 3, "b" => 4).hash␤»
15:56 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␤»
15:56 camelia ..rakudo-{parrot,moar} 529aa9: OUTPUT«("a" => 3, "b" => 4).hash␤»
15:56 lizmat assign values depending on unknown sort order :-(
15:57 FROGGS that's the nature of a hash, no?
15:57 skids I bet there's a use case out there somewhere :-)
15:58 skids A warning might be more appropriate.
15:58 lizmat r: my %h = (a=>1,b=>2); %h.values = (3,4); say %h
15:58 camelia rakudo-moar 529aa9: OUTPUT«No such method 'STORE' for invocant of type 'List'␤  in block  at /tmp/tmpfile:1␤␤»
15:58 camelia ..rakudo-{parrot,jvm} 529aa9: OUTPUT«Cannot modify an immutable value␤  in block  at /tmp/tmpfile:1␤␤»
15:59 lizmat need the whatever-slice to make it work, but rather not fix that
15:59 lizmat but the underlying problem
15:59 masak all those parens above are superstitious, no?
16:00 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␤»
16:00 camelia ..rakudo-{parrot,moar} 529aa9: OUTPUT«("a" => 3, "b" => 4).hash␤»
16:00 lizmat apparently, yes  :-)
16:02 Rotwang joined #perl6
16:03 treehug8_ joined #perl6
16:04 dalek rakudo/nom: e4e1274 | (Elizabeth Mattijsen)++ | src/core/HashIter.pm:
16:04 dalek rakudo/nom: Add some comments, make error message show value
16:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e4e12743a2
16:08 jnap1 joined #perl6
16:27 lue joined #perl6
16:32 Psyche^ joined #perl6
16:35 raiph joined #perl6
16:41 lizmat r: my $a=1; ($a,$a,$a) = (3,4,5); say $a
16:41 camelia rakudo-jvm e4e127: OUTPUT«(timeout)»
16:41 camelia ..rakudo-{parrot,moar} e4e127: OUTPUT«5␤»
16:41 hummeleB1 joined #perl6
16:41 lizmat seems valid, but should this be:
16:41 lizmat my $a=1; ($a,$a,$a) = (3,4,5)[*]; say $a
16:42 lizmat m: my $a=1; ($a,$a,$a) = (3,4,5)[*]; say $a
16:42 camelia rakudo-moar e4e127: OUTPUT«5␤»
16:51 dalek rakudo/nom: cbe7728 | (Elizabeth Mattijsen)++ | docs/ChangeLog:
16:51 dalek rakudo/nom: Mention ro-ness of Pair.key
16:51 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/cbe7728b05
16:56 * TimToady doesn't see why [*] should make any difference
16:57 lizmat then there is nothing to fix :-)
16:57 lizmat TimToady: wrt to Hash.values being left value
16:58 lizmat that feels wrong, as we cannot know the order in which they will appear
16:58 lizmat or am I missing something?
16:58 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'
17:00 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()?
17:01 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 }
17:02 lizmat jnthn: because in the @a case, you would know which element you would be assigning
17:02 jnthn Do you?
17:02 lizmat because the order of .values is undetermined
17:02 retupmoca I can see cases where the order doesn't matter
17:02 jnthn If I'm doing the same thing on all the values, I often don't care much about order anyway.
17:02 jnthn Most of the for loops I write don't actually use the orderedness...
17:03 lizmat do you mean %a{ .=foo } ?
17:03 TimToady no, that's a for loop
17:03 FROGGS joined #perl6
17:03 jnthn lizmat: No, I mean looping over the values in a hash and mutating each of them.
17:04 lizmat ah, hmmm... good point
17:04 TimToady there's no reason to make that readonly that I can see
17:04 lizmat Hash.values = (...) is just : don't do that
17:04 TimToady and subscripting does not strip writeability
17:05 TimToady Has.values = 42 xx * is perfectly fine
17:05 TimToady *Hash
17:05 lizmat r: my %h{Any} =a=>1,b=>2; %h.values = (3,4); say %h
17:05 TimToady it is not our job to protect people from a DIHWIDT such as that
17:06 camelia rakudo-moar e4e127: OUTPUT«No such method 'STORE' for invocant of type 'List'␤  in block  at /tmp/tmpfile:1␤␤»
17:06 camelia ..rakudo-{parrot,jvm} e4e127: OUTPUT«Cannot modify an immutable value␤  in block  at /tmp/tmpfile:1␤␤»
17:07 FROGGS : my %h = (a=>1,b=>2); %h.values[*] = (3,4); say %h
17:08 FROGGS 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␤»
17:08 camelia ..rakudo-{parrot,moar} e4e127: OUTPUT«("a" => 3, "b" => 4).hash␤»
17:08 lizmat right: that one
17:08 thou lizmat: I think that looks for /xyz\.pm6?/; I get Could not find xyz in any of: ./ext/xyz/bin, …
17:08 lizmat that's a case of DIHWIDT,, is what you're saying, TimToady?
17:10 lizmat thou: no further ideas atm
17:13 lizmat 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␤␤»
17:13 camelia ..rakudo-{parrot,jvm} e4e127: OUTPUT«Cannot modify an immutable value␤  in block  at /tmp/tmpfile:1␤␤»
17:13 TimToady lizmat: if you have to forbid valid uses along with invalid uses, it's getting dangerously close to pythonic constriction
17:16 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 lizmat 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
17:17 lizmat (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 #perl6
17:18 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
17:18 dalek rakudo-star-daily: 96421a2 | coke++ | log/ (5 files):
17:18 dalek rakudo-star-daily: today (automated commit)
17:18 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/96421a22f1
17:18 dalek perl6-roast-data: 2d54d1f | coke++ | / (6 files):
17:18 dalek perl6-roast-data: today (automated commit)
17:18 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/2d54d1ffcf
17:18 TimToady .oO(all is unfair if you predeclare)
17:18 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: https://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
17:18 thou scripts.
17:19 lizmat thou: I think there is a ticket for that already, FROGGS would know I think
17:19 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
17:20 masak Pauekn: it's generally quite active.
17:20 Pauekn Awesome
17:20 masak Pauekn: though it does have cycles, because there's a concentration of Americans and Europeans on here.
17:20 masak not exclusively, but predominantly.
17:21 [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
17:21 masak Pauekn: we are hilarious.
17:22 thou I'm not
17:23 masak :)
17:23 masak well, we're all individuals...
17:23 thou (That was in a Monty Python voice in my head.)
17:23 Pauekn All have their strengths and weaknesses, I guess ^^
17:23 lizmat ..oO( is it time to mention a parrot? )
17:24 * lizmat just went into the wrong room and got hit on the head
17:24 thou no you didn't
17:24 lizmat .oO( I could be getting hit on the head in my spare time )
17:24 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
17:25 lizmat Pauekn: on of the VM''s rakudo is running on, is "parrot"
17:25 virtualsue http://www.parrot.org/
17:25 Pauekn Ahh. I see
17:27 masak Pauekn: which makes it very hard to joke about Parrot being dead... because everyone's already done that, like, always.
17:27 masak you could say that the joke has been done to death.
17:27 Pauekn *Rimshot*
17:30 Pauekn Oh, masak: This is what made me visit this channel: http://strangelyconsistent.org/blog/perl-6-is-my-mmorpg
17:31 masak neat.
17:31 masak ages since I wrote that... as you can't see from the date in the URL :/
17:32 masak I think the points in that post very much still hold, though.
17:32 Pauekn It is a really great post, by the way :)
17:33 [Coke] (parrot dead) that joke was how the name itself was picked.
17:34 masak Pauekn: thank you.
17:37 masak 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
17:38 masak ooh
17:38 masak yep, we need those.
17:39 masak 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 ^^
17:39 masak Pauekn++
17:39 masak Pauekn: I think you'll find that wanting to learn is more important, long term, than being very good.
17:40 Pauekn masak: Thanks. I'm glad to hear that :D  Just finished downloading Rakudo now
17:43 masak \o/
17:43 masak Pauekn: let us know if there's anything we can assist you with.
17:44 guru joined #perl6
17:45 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:48 woolfy1 joined #perl6
17:49 eternaleye joined #perl6
17:50 grep0r joined #perl6
17:55 FROGGS lizmat / thou: I'm not sure if there is a ticket yet...
17:55 FROGGS lizmat / thou: and what is it about? should we fake up an &EXPORT sub?
17:56 lizmat I guess this is mostly about S11:318
17:56 synopsebot Link: http://perlcabal.org/syn/S11.html#line_318
17:57 masak Pauekn: sure thing. good luck today!
18:01 Pauekn http://en.wikibooks.org/wiki/Perl_6_Programming/Control_Structures#Loops  <-- I see what you mean by "More than one way of doing things" :)
18:01 dalek roast: 74ad6f7 | (Elizabeth Mattijsen)++ | S0 (10 files):
18:01 dalek roast: Added plan, removed "done" where appropriate
18:01 dalek roast: review: https://github.com/perl6/roast/commit/74ad6f794c
18:01 dalek roast: 2f79418 | (Elizabeth Mattijsen)++ | S02-types/array-shapes.t:
18:01 dalek roast: Some preliminary work on getting this into shape
18:01 dalek roast: review: https://github.com/perl6/roast/commit/2f79418d5a
18:01 dalek roast: d07b16d | (Elizabeth Mattijsen)++ | S03-operators/div.t:
18:01 dalek roast: Fix typo in message
18:01 dalek roast: review: https://github.com/perl6/roast/commit/d07b16dd5c
18:02 dalek nqp: 9dd4604 | (Andrew Egeler)++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
18:02 dalek nqp: Add write barrier to JVM push ops
18:02 dalek nqp:
18:02 dalek nqp: This was done on moarvm a while back, and fixes a precompilation issue.
18:02 dalek nqp: review: https://github.com/perl6/nqp/commit/9dd4604449
18:09 anaeem1 joined #perl6
18:11 anaeem1 joined #perl6
18:21 [particle] joined #perl6
18:31 FROGGS ohh, retupmoca++
18:31 lizmat FROGGS: throws_like has a variable number of tests
18:31 FROGGS ahh, yeah
18:32 daniel-s joined #perl6
18:33 jnthn .oO( throws like a banana... )
18:36 anaeem1_ joined #perl6
18:39 zakharyas joined #perl6
18:40 sqirrel joined #perl6
18:41 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␤»
18:41 camelia ..rakudo-jvm cbe772: OUTPUT«(timeout)»
18:41 camelia ..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␤␤»
18:41 retupmoca ^ parrot-bug?
18:42 retupmoca (jvm does the same as moar locally)
18:42 FROGGS must be
18:43 grondilu_ joined #perl6
18:43 retupmoca that bug is now causing XML to fail tests on parrot
18:43 retupmoca (my last patch to XML is triggering it now)
18:44 dalek roast: b04665c | (Elizabeth Mattijsen)++ | / (20 files):
18:44 dalek roast: Some more plans added
18:44 dalek roast: review: https://github.com/perl6/roast/commit/b04665c652
18:50 thou tadzik: pull request incoming
18:52 retupmoca FROGGS: https://github.com/supernovus/exemel/pull/11 works around the parrot bug
18:52 retupmoca FROGGS: if you would like to merge it
18:54 dalek roast: b5e0541 | (Elizabeth Mattijsen)++ | S (13 files):
18:54 dalek roast: Make sure throws_like also has "done"
18:54 dalek roast:
18:54 dalek roast: Since throws_like has a variable number of tests.
18:54 dalek roast: review: https://github.com/perl6/roast/commit/b5e0541e99
18:55 FROGGS retupmoca: I added more information to the PR as well, because your title did not tell enough :o)
18:55 retupmoca FROGGS: tyvm
18:55 FROGGS you're welcome
18:56 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 #perl6
18:57 retupmoca I haven't done anything with it, no
18:57 Sqirrel joined #perl6
18:57 * masak rakudobugs it
18:57 retupmoca masak++
18:59 FROGGS masak++
19:01 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␤␤»
19:01 masak p: grammar G { regex TOP { <stuff "foo"> }; regex stuff($*FOO) { . } }; 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/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␤␤»
19:01 masak p: grammar G { regex TOP { <stuff> }; regex stuff($*FOO = "bar") { . } }; G.parse("x"); say 1
19:01 camelia rakudo-parrot cbe772: OUTPUT«1␤»
19:01 masak p: grammar G { regex TOP { <stuff "foo"> }; regex stuff($FOO) { . } }; 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/GFq75tTp2S:1␤  in regex TOP at /tmp/GFq75tTp2S:1␤  in method parse at gen/parrot/CORE.setting:13020␤  in block  at /tmp/GFq75tTp2S:1␤␤»
19:02 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␤␤»
19:02 masak p: grammar G { regex TOP { <stuff 5> }; regex stuff($) { . } }; G.parse(""); say 1
19:02 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␤␤»
19:02 masak sorry about the noise.
19:02 masak was just curious about the exact cause, so needed to golf it a little.
19:03 masak m: grammar G { regex TOP { <stuff 5> }; regex stuff($) { . } }; G.parse(""); say 1
19:03 camelia rakudo-moar cbe772: OUTPUT«1␤»
19:09 tadzik thou: I wonder, maybe it should all be a method on Panda::Ecosystem?
19:09 tadzik then just Panda::Ecosystem.default or so
19:13 lizmat masak: you know you can p: to camelia privately  :-)
19:21 Zaegnair joined #perl6
19:23 [particle]1 joined #perl6
19:26 masak lizmat: yes :/
19:26 masak lizmat: expected to do not so many steps. apologies.
19:26 * lizmat has been guilty of that as well...
19:27 lizmat we just need to be reminded of it more often, as the channel gets busier and busier  :-)
19:27 Pauekn Is Camelia the evalbot?
19:29 jnthn Yes.
19:30 Pauekn Alright, thanks. I'll check it out
19:30 lizmat m: signal(SIGBREAK)
19:30 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␤␤»
19:31 lizmat jnthn: ^^^ is that expected ?
19:31 grondilu joined #perl6
19:32 [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␤␤»
19:32 timotimo .o( someone could start a blog named "justrakudobugit" )
19:33 lizmat m: Signal::.keys.say
19:33 camelia rakudo-moar cbe772: OUTPUT«SIGINT SIGBREAK SIGHUP SIGWINCH␤»
19:33 lizmat [Coke]: those are the ones supported until now
19:35 jnthn Looks like a platform-specific thing
19:35 jnthn #ifdef SIGBREAK case MVM_SIG_BREAK:     signum = SIGBREAK;  break;
19:35 jnthn #endif
19:36 lizmat ok
19:36 jnthn Believe it's defined as the signal for Ctrl+Break on Windows
19:36 lizmat also: inside the signal handler, you get the actual signal value rather than the Enum value
19:37 lizmat in $_: perhaps we would need to map that ?
19:37 jnthn yeah, that may make more sense :)
19:37 treehug88 joined #perl6
19:37 jnthn Mostly I just Made Something Work in hope/expectation others would be able to fill in the gaps :)
19:38 lizmat starting to fill gaps now  :-)
19:38 jnthn ('cus it's easier to evolve a working thing than create it from scratch)
19:38 jnthn lizmat++
19:38 jnthn Feel free to add more, just be a little careful about what's available where
19:38 jnthn Though I guess you can #ifdef the problem away like I did with SIGBREAK :)
19:39 lizmat yup
19:39 timotimo if you could ifdef all your problems away ...
19:40 lizmat #ifdef problems
19:40 lizmat problem
19:40 molaf_ joined #perl6
19:40 lizmat #endif
19:40 lizmat done  :-)
19:43 askz joined #perl6
19:46 lizmat jnthn: is there a 1-1 correspondence between nqp::const::SIG_INT and Signal::SIGINT ?
19:46 lizmat or is that coincedence?
19:47 lizmat m: say +SIGWINCH; say nqp::const::SIG_WINCH
19:47 camelia rakudo-moar cbe772: OUTPUT«4␤4␤»
19:49 jnthn lizmat: The nqp:: codes are used to match the IDs that MoarVM is clueful about
19:51 jnthn bbi10
19:52 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␤␤»
19:53 lizmat :-(
19:59 lizmat is there a reason why we don't have List.vk  ?
20:00 lizmat use case: ("",qx/kill -l/.words ).vk.hash to fill a hash with valid signal names and their values
20:05 colomon map(* R=> *) doesn't seem that hard to type
20:05 colomon (Do we have anything with a vk method?)
20:05 lizmat no
20:06 lizmat I have been thinking about it, but this was the first use case I found
20:07 lizmat 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 timotimo don't we have Hash.invert?
20:09 lizmat well, yes, but seems a bit overkill to create a hash first just to invert it
20:09 hoverboard joined #perl6
20:09 * colomon does not think we should have a .vk just because we could.
20:10 lizmat I hear ya  :-)
20:13 denis_boyun_ joined #perl6
20:13 PerlJam lizmat; What OS are you on?   My kill -l outputs a 0 for the zeroth signal (ubuntu).
20:13 lizmat OS X
20:15 timotimo i'm on a fedora system and my kill starts at HUP
20:15 lizmat hence my initial ""
20:15 lizmat I guess we can't depend on that
20:16 timotimo great!
20:16 lizmat PerlJam: what is your signal #1 ?
20:16 lizmat HUP ?
20:16 PerlJam yep
20:16 timotimo -L, --table
20:16 timotimo Similar  to  -l,  but will print signal names and their corresponding num‐
20:16 timotimo bers.
20:16 lizmat --table probably isn't portable
20:16 timotimo d'oh :(
20:16 lizmat wondering even whether kill -l works on Win
20:17 lizmat probably not  :-(
20:17 PerlJam https://gist.github.com/perlpilot/42c5fbc3e456054e9526  (what I see on ubuntu)
20:17 lizmat wow quit a number I haven't seen yet ever
20:26 masak 'night, #perl6
20:28 lizmat gnight masak!
20:35 [Coke] *sigh* I really want to like atom2.
20:35 [Coke] (http://atom.io/)
20:36 jnthn .kv is often used for iteration, so you just named the k and v variables appropriately... :)
20:37 berekuk joined #perl6
20:42 arnsholt Atom sounds like an interesting venture. It'll be fun to see what comes of it
20:42 arnsholt Sounds a lot like a modern-day emacs
20:42 hoelzro I was thinking of creating a language-perl6 addon for Atom
20:42 hoelzro after Kate, that is ;)
20:43 hoelzro we'll see if people want to use Atom for Perl 6
20:43 * _sri loves atom
20:44 PerlJam the alternative to RSS or the editor?  :)
20:44 _sri WHY NOT BOTH
20:44 hoelzro I like a banana.
20:44 hoelzro along with the time flies
20:44 ssutch OData
20:45 jnthn ?$where=public_run=expensive_queries
20:45 jnthn uh, eq :)
20:46 benabik joined #perl6
20:46 * 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:47 ssutch haha
20:50 ssutch jnthn: did you advise they hook it up to mongo instead?
20:50 dmol joined #perl6
20:50 sftp joined #perl6
20:51 timotimo the what now.
20:52 sftp joined #perl6
20:52 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 Vlavv joined #perl6
20:52 lizmat aka:  <a b c>.vk.hash would give you (a => 0, b=> 1, c=>2).hash
20:53 lizmat 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:55 sftp_ joined #perl6
20:57 daniel-s joined #perl6
20:58 lizmat this brings back mamories: http://talko.cc
20:58 lizmat *memories rather
21:00 lizmat I've opened a "Rakudo" chat room there
21:00 lizmat it's like IRC, but with a twist  :-)
21:10 sivoais joined #perl6
21:17 dayangkun joined #perl6
21:21 rindolf joined #perl6
21:37 benabik joined #perl6
21:38 dalek rakudo/nom: 698d208 | (Elizabeth Mattijsen)++ | src/core/signals.pm:
21:38 dalek rakudo/nom: Make signal() a bit more picky on what to accept
21:38 dalek rakudo/nom:
21:38 dalek rakudo/nom: At compile time, if only 1 signal
21:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/698d2085e7
21:38 * lizmat wishes #perl6 a good *
21:43 Vlavv joined #perl6
21:51 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:27 BenGoldberg joined #perl6
22:34 daniel-s joined #perl6
22:42 rurban joined #perl6
22:43 daniel-s joined #perl6
22:53 rurban joined #perl6
22:59 daniel-s joined #perl6
23:04 daniel-s joined #perl6
23:18 daniel-s joined #perl6
23:34 tmt joined #perl6
23:45 hoverboard joined #perl6
23:58 xragnar_ joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo