Camelia, the Perl 6 bug

IRC log for #perl6, 2013-04-25

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs

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

All times shown according to UTC.

Time Nick Message
00:10 adu_ joined #perl6
00:26 adu does anyone here use clang?
00:27 Tene I have a few times.
00:28 TimToady I think diakopter++ has used it.
01:06 sorear i've used it a few times as a black box
01:07 sorear c code goes in, executables come out
01:16 drbean joined #perl6
01:44 FROGGS_ joined #perl6
01:55 woolfy left #perl6
02:03 dayangkun joined #perl6
02:03 lustlife joined #perl6
02:11 fgomez joined #perl6
02:11 japhb .oO( C code goes in, sausage comes out )
02:12 xinming_ joined #perl6
02:17 colomon TimToady!  \o/
02:38 Targen joined #perl6
02:42 orafu joined #perl6
02:44 cooper joined #perl6
02:44 cooper joined #perl6
02:52 Rix joined #perl6
02:57 adu joined #perl6
03:01 nebuchad` joined #perl6
03:04 xenoterracide joined #perl6
03:08 adu Tene: I'm getting an undefined symbol, and ##C++ is saying it's off topic
03:09 adu https://gist.github.com/andydude/5456709
03:19 foo_ joined #perl6
03:19 foo_ left #perl6
03:23 x2 joined #perl6
04:04 Chillance joined #perl6
04:29 Psyche^ joined #perl6
05:19 SamuraiJack joined #perl6
05:35 erkan joined #perl6
05:35 erkan joined #perl6
05:37 diakopter http://i.imgur.com/vXMuRqB.png  # YAPC Austin registrations so far
05:38 erkan joined #perl6
05:38 erkan joined #perl6
06:05 frdmn joined #perl6
06:07 tadzik for some reason I thought there's 120,000
06:08 diakopter o)
06:14 kaleem joined #perl6
06:22 immortal joined #perl6
06:24 xinming joined #perl6
06:27 erkan joined #perl6
06:27 erkan joined #perl6
06:31 immortal joined #perl6
06:31 immortal joined #perl6
06:33 rindolf joined #perl6
06:34 kurahaupo joined #perl6
06:35 erkan joined #perl6
06:35 erkan joined #perl6
06:40 sqirrel joined #perl6
06:47 immortal joined #perl6
06:47 immortal joined #perl6
07:03 domidumont joined #perl6
07:09 nwc10 diakopter: to two decimal places :-)
07:10 moritz \o
07:13 baest joined #perl6
07:18 sorear ack, I need to get that dealt with pdq
07:20 labster Well, I spent the past few hours finding out what doesn't like to compile in core.setting.  regex { }, BEGIN { }, and method handles trait all made my code die when I moved it into the setting.
07:28 domidumont joined #perl6
07:37 moritz we should document that somewhere
07:41 FROGGS joined #perl6
07:41 diakopter nwc10: yes. :) Excel doesn't recognize they can be collapsed to integers... o_O
07:55 labster Well, I'm hoping that I'm wrong, at least for the rx// and handles cases, because code readability will suffer a lot.
07:57 moritz I have run into the same problem with 'handles'
08:15 woolfy joined #perl6
08:17 domidumont joined #perl6
08:24 census joined #perl6
08:44 erkan joined #perl6
08:47 spider-mario joined #perl6
08:52 erkan joined #perl6
08:52 erkan joined #perl6
08:52 snearch joined #perl6
08:54 masak good antenoon, #perl6
08:55 arnsholt 'lo masak
08:56 MrMeek joined #perl6
08:57 tadzik hello hello
08:59 dakkar joined #perl6
09:00 tgt joined #perl6
09:01 jnthn morning, #perl6
09:02 hoelzro o/ jnthn
09:02 masak jnthn! \o/ antenoon!
09:05 hoelzro jnthn: are you busy right now? I found a "fun" behavior with NativeCall and thought I'd have you take a look
09:05 jnthn .oO( what's it got against the noon? )
09:05 jnthn hoelzro: I can take a quick look but I don't want to get bogged down with NativeCall stuff today.
09:05 hoelzro ok
09:06 hoelzro I'll just give you a link and you can take a look whenever you like
09:06 hoelzro it's not urgent
09:07 jnthn ok
09:11 hoelzro jnthn: http://hoelz.ro/files/perl6-posix.tar.gz
09:11 hoelzro if you run test.p6 in that tarball, there's a really odd error about unboxing and such
09:12 jnthn hoelzro: Will this work on Windows?
09:12 * jnthn is guessing not
09:12 hoelzro also, when I started to remove functions from the module, I started to see segfaults or garbage values
09:12 hoelzro I haven't tried
09:12 arnsholt I'll have a look
09:13 jnthn arnsholt: Ah, cool. :)
09:13 arnsholt I need to recompile NQP/Rakudo/Zavolaj so it'll be a while before I can actually run it thought =)
09:13 jnthn arnsholt: Well, I have a funny tangle of branches and stuff built here too, so... :)
09:13 arnsholt Heh
09:17 drbean joined #perl6
09:24 cognominal joined #perl6
09:32 berekuk joined #perl6
09:40 arnsholt hoelzro: That's odd
09:40 hoelzro yeah, I know!
09:41 hoelzro my NQP fu isn't good enough to figure it out
09:41 hoelzro I'm going to spend more time on Perl 6 stuff after I'm done with my coursera stuff
09:41 arnsholt jnthn: How much of the sixmodelisation replacement of Parrot types with NQP types has happened so far?
09:42 arnsholt As a first guess, this might be the dyncall bits returning a Parrot STRING* where that isn't allowed any more
09:42 jnthn arnsholt: Very little.
09:42 jnthn arnsholt: str is still a Parrot STRING
09:42 arnsholt Hmm
09:43 jnthn arnsholt: Is it something to do with string memory getting corrupted?
09:43 arnsholt Nope
09:43 arnsholt "This type cannot unbox to a native string"
09:44 jnthn Hmm
09:44 jnthn Do you know where it's coming from?
09:44 jnthn I mean, Perl 6 Str objects have to be unboxed like this
09:44 arnsholt The line info in the backtrace points at: nqp::getattr(nqp::p6decont($args), Capture, '$!list')
09:44 jnthn It's possible a non-string is being passed somewhere a Str is expected?
09:45 jnthn Huh!
09:45 arnsholt Which is part of a larger call: nqp::nativecall(nqp::p6decont(​map_return_type($r.returns)), self, nqp::getattr(nqp::p6decont($args), Capture, '$!list'))
09:45 jnthn Oh...hmm.
09:45 jnthn So it could be on the inside of the call
09:45 arnsholt Although the actual error might be happening inside the C code
09:45 jnthn Yeah, that's my guess. What is being called? The argument really is a Str, yes?
09:47 arnsholt The sub decl is "our sub ttyname(int $fd) returns Str is native", invoked as "ttyname(0)"
09:47 jnthn Oh...very odd.
09:47 arnsholt Yeah. Grepping for "This type cannot unbox" in NQP, the only matching file is P6opaque.c
09:48 jnthn I'd have thought "unbox" would refer to calling, not handling result...and hat's the only Str in there.
09:48 arnsholt Yeah
09:54 dalek nqp: 8c9a25c | jnthn++ | src/vm/jvm/QAST/Compiler.nqp:
09:54 dalek nqp: Map HLL interop ops (though not implemented yet).
09:54 dalek nqp: review: https://github.com/perl6/nqp/commit/8c9a25cd8c
09:54 dalek nqp: 906e635 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/ (2 files):
09:54 dalek nqp: Implement nqp::settypehll[role]? on JVM.
09:54 dalek nqp: review: https://github.com/perl6/nqp/commit/906e6357c2
09:54 dalek nqp: b18c101 | jnthn++ | src/vm/jvm/ (2 files):
09:55 dalek nqp: Implement nqp::isbig_I.
09:55 dalek nqp: review: https://github.com/perl6/nqp/commit/b18c1016c6
09:55 dalek nqp: f28e949 | jnthn++ | src/vm/jvm/ (2 files):
09:55 dalek nqp: Implement nqp::getpayload.
09:55 dalek nqp: review: https://github.com/perl6/nqp/commit/f28e9493f3
09:56 dalek rakudo/jvm-support: b51e852 | jnthn++ | tools/build/Makefile-JVM.in:
09:56 dalek rakudo/jvm-support: Start building Perl6::World in JVM build.
09:56 dalek rakudo/jvm-support:
09:56 dalek rakudo/jvm-support: It'll need a few more changes and depends on a couple of missing ops,
09:56 dalek rakudo/jvm-support: but it does now cross-compile.
09:56 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/b51e852689
10:03 pecastro joined #perl6
10:05 cognominal I am implementing permutations using gather/take but I am getting something wrong. get_attr_str() not implemented in class 'Coroutine'   https://gist.github.com/cognominal/5458754
10:06 cognominal btw, the rest of the error message is useless :  current instr.: 'print_exception' pc 111585
10:06 jnthn That looks like an error reporting fail rather than the actual error.
10:06 arnsholt Yeah
10:06 jnthn Try running with --ll-exception to see if it gives anything more helpful
10:07 arnsholt Looks like the exception printer expects all callables to have some property, which Coroutines don't have
10:07 jnthn Doing return unless @l; inside a gather/take looks highly suspect though.
10:07 cognominal jnthn: I thought so to but what is the alternative to stop the recursion
10:08 jnthn cognominal: Put the return outside of the gather block?
10:09 cognominal ok, no error now but no output either but I can go from there
10:14 cognominal afk&
10:40 kresike joined #perl6
10:40 kresike hello all you happy perl6 people
10:52 dalek nqp: adfa9c8 | jnthn++ | src/vm/parrot/ (2 files):
10:52 dalek nqp: Add nqp::isint/nqp::isnum/nqp::isstr for Parrot.
10:52 dalek nqp: review: https://github.com/perl6/nqp/commit/adfa9c8d13
10:52 dalek nqp: 9c79d1f | jnthn++ | src/vm/jvm/ (2 files):
10:52 dalek nqp: Add nqp::isint/nqp::isnum/nqp::isstr for JVM.
10:52 dalek nqp: review: https://github.com/perl6/nqp/commit/9c79d1f12c
10:55 lizmat joined #perl6
10:56 dalek rakudo/jvm-support: 26dc105 | jnthn++ | / (2 files):
10:56 dalek rakudo/jvm-support: Eliminate final pir:: in Perl6::Pod.
10:56 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/26dc105a38
10:56 dalek rakudo/jvm-support: 70c0109 | jnthn++ | / (3 files):
10:56 dalek rakudo/jvm-support: Eliminate final pir:: in optimizer.
10:56 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/70c0109083
10:56 dalek rakudo/jvm-support: 97f7855 | jnthn++ | tools/build/Makefile-JVM.in:
10:56 dalek rakudo/jvm-support: Add Perl6::Pod to the JVM build.
10:56 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/97f78554b4
11:03 colomon \o/
11:12 FROGGS jnthn: btw, do you "like" the way the options are passed to load_module? https://gist.github.com/FR​OGGS/59b7f7a890381005eda7
11:15 erkan joined #perl6
11:15 erkan joined #perl6
11:15 jnthn FROGGS: Passing them as names seems reasonable.
11:16 jnthn *nameds
11:16 FROGGS thanks
11:16 jnthn :$name?, :$file?, :$from?, :$auth?, :$ver?
11:16 jnthn Rendundant use of ?
11:16 jnthn Named args are optional by default
11:16 FROGGS ahh, yeah, now that you say it *g*
11:17 FROGGS <jnthn> Rendundant use of ? <-- you are already speaking like perl
11:19 tadzik :D
11:19 tadzik Useless use of ? in named context
11:19 FROGGS I would like to pass --ll-exceptions sometimes to jnthn though :P
11:20 Gruber joined #perl6
11:20 moritz named params are optional by default
11:21 LordVorp joined #perl6
11:21 mathw_ joined #perl6
11:21 sergot_ joined #perl6
11:21 FROGGS ohh, I got it already, thanks :P
11:21 bonsaikitten joined #perl6
11:21 kst`` joined #perl6
11:21 nwc10_ joined #perl6
11:22 ironcame1 joined #perl6
11:23 jercos_ joined #perl6
11:24 broquain1 joined #perl6
11:30 dukeleto joined #perl6
11:30 felher joined #perl6
11:30 hypolin joined #perl6
11:40 stevan_ joined #perl6
11:47 daxim joined #perl6
11:56 kaleem joined #perl6
11:58 araujo joined #perl6
12:09 dpk joined #perl6
12:12 yoleaux joined #perl6
12:16 dalek nqp: 12b0eb8 | jnthn++ | tools/build/Makefile-JVM.in:
12:16 dalek nqp: Start building/installing P5Regex library on JVM.
12:16 dalek nqp: review: https://github.com/perl6/nqp/commit/12b0eb8be6
12:19 bluescreen10 joined #perl6
12:20 kaleem joined #perl6
12:28 [Coke] jnthn++
12:30 kaleem joined #perl6
12:32 [Coke] jnthn: No registered operation handler for 'isstr' (building rakudo-jvm)
12:33 [Coke] jnthn: No registered operation handler for 'hllizefor'
12:33 jnthn [Coke]: I didn't put the stuff in to do NQP version checks on the JVM side yet; it's probably just a not-new-enough nqp-jvm (I added that op this morning)
12:34 [Coke] ah, I forgot about that arms race, roger.
12:41 cognominal stuck anew with the same message; no return in the gather though.  https://gist.github.com/cognominal/5458754
12:43 mtk joined #perl6
12:46 moritz curious, I get "get_attr_str() not implemented in class 'Coroutine'"
12:47 moritz with cognominal's code
12:47 nwc10 jnthn: your NQP changes have not yet broken the Rakudo build for Parrot. Please try harder :-)
12:47 cognominal can we use gather in a recursive setting?
12:48 [Coke] jnthn: upped nqp, tried to build nqp-jvm, got: Unknown compilation target 'classfile'
12:51 cognominal r: sub a($n) { gather { take $n; take $n-1 if $n != 0  }};  say a(2);
12:51 camelia rakudo 37c995: OUTPUT«2 1␤»
12:52 cognominal This simpler recursion case works
12:52 pecastro joined #perl6
12:53 masak moritz: I'm getting the same.
12:54 masak minimizing.
12:54 nwc10 [Coke]: I just tried and I get that too
12:54 dayangkun joined #perl6
12:54 moritz cognominal: iirc [Coke] has hit another limitation of gather/take recentely; if you reuse the same gather/take block, the first iterator has to be exhausted before the second one is started
12:56 cognominal arf
12:56 jnthn [Coke], nwc10: cd nqp ; perl Configure.pl --prefix=..\install-jvm ; make install ; cd .. ; perl ConfigureJVM.pl ; make
12:56 jnthn Argh
12:56 [Coke] Aye, used to work in b.
12:56 jnthn [Coke], nwc10: cd nqp ; perl ConfigureJVM.pl --prefix=..\install-jvm ; make install ; cd .. ; perl ConfigureJVM.pl ; make
12:57 nwc10 jnthn: this is nqp failing to build itself
12:57 cognominal afk for ~45 minutes
12:57 cognominal thx moritz
12:57 jnthn nwc10: Oh.
12:58 jnthn I need to see how it fails in a bit more detail, then.
12:58 jnthn Since it works here :)
12:58 dalek nqp: d228c92 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
12:58 dalek nqp: Error reporting tweak.
12:58 dalek nqp: review: https://github.com/perl6/nqp/commit/d228c929f8
12:58 dalek nqp: 2ac90f3 | jnthn++ | src/vm/jvm/ (2 files):
12:58 dalek nqp: Implement neg_I and abs_I for JVM.
12:58 dalek nqp: review: https://github.com/perl6/nqp/commit/2ac90f3d3e
12:58 dalek nqp: 115b38c | jnthn++ | src/vm/jvm/ (2 files):
12:58 nwc10 http://pasta.test-smoke.org/489
12:58 dalek nqp: Implement nqp::radix_I.
12:58 dalek nqp: review: https://github.com/perl6/nqp/commit/115b38c4b0
12:58 [Coke] One moment.
12:59 jnthn It sounds like it's somehow invoking a Parrot NQP, not a JVM one.
12:59 [Coke] what nwc10 said.
12:59 [Coke] ah. "nqp --target=c"
12:59 [Coke] pulls from nqp in path.
13:00 [Coke] you're on windows, so that that probably JFW there.
13:00 jnthn Ahh
13:01 masak r: sub p(*@l) { gather { if @l == 1 { take @l } else { @l.shift; for p(@l) -> @p {} } } }; p 1..4
13:01 camelia rakudo 37c995: OUTPUT«Nominal type check failed for parameter '@p'; expected Positional but got Int instead␤current instr.: '' pc 470 ((file unknown):228) (/tmp/rbAFU_hQSA:1)␤called from Sub '' pc 279978 (src/gen/CORE.setting.pir:122782) (src/gen/CORE.setting:5741)␤called from Sub 'reif…
13:01 masak g'ah.
13:01 masak I got this error locally during some of the experimenting.
13:01 masak oh, no, sorry. it's consistent.
13:01 masak hold on.
13:01 nwc10 ./nqp --target=classfile --output=NQPP5QRegex.class src/stage2/gen/NQPP5QRegex.nqp
13:01 nwc10 works
13:01 moritz for p(@l) -> @p
13:01 masak r: sub p(*@l) { gather { if @l == 1 { take @l } else { @l.shift; for p(@l) -> @p {} } } }; say p 1..4
13:02 camelia rakudo 37c995: OUTPUT«get_attr_str() not implemented in class 'Coroutine'␤current instr.: 'print_exception' pc 111628 (src/gen/CORE.setting.pir:50166) (src/gen/CORE.setting:9743)␤called from Sub '' pc 481 ((file unknown):229) (/tmp/Ey81jJgi4k:1)␤called from Sub '' pc 279978 (src/gen/COR…
13:02 masak there we go.
13:02 * masak submits rakudobug
13:02 masak moritz: yes, I know.
13:02 moritz 'for' flattens, so if p(@l) returns a list of arrays of integers, that's what you get
13:02 [Coke] so, looks like the def for RUNNER is wrong.
13:02 masak moritz: the internal error seems to happen before that, though.
13:02 jnthn r: sub x() { gather { die 'oops' } }; x
13:02 camelia rakudo 37c995: OUTPUT«oops␤current instr.: 'throw' pc 358206 (src/gen/CORE.setting.pir:156326) (src/gen/CORE.setting:9557)␤called from Sub 'die' pc 36476 (src/gen/CORE.setting.pir:14282) (src/gen/CORE.setting:578)␤called from Sub 'die' pc 36374 (src/gen/CORE.setting.pir:14222) (src/gen/…
13:03 jnthn r: sub x() { gather { for 1..10 { take 1; die 'oops' } } }; x
13:03 camelia rakudo 37c995: OUTPUT«oops␤current instr.: 'throw' pc 358206 (src/gen/CORE.setting.pir:156326) (src/gen/CORE.setting:9557)␤called from Sub 'die' pc 36476 (src/gen/CORE.setting.pir:14282) (src/gen/CORE.setting:578)␤called from Sub 'die' pc 36374 (src/gen/CORE.setting.pir:14222) (src/gen/…
13:03 jnthn Hm.
13:04 nwc10 is camelia still doing (historical) nqp-jvm, but not (yet) real nqp (on the JVM) ?
13:04 moritz nwc10: correct
13:05 timotimo std: [.perl] 1, 2, 3, 4
13:05 camelia std 86b102f: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row (preceding is not a valid reduce operator) at /tmp/Q9GdpfQt5T line 1:�------> [32m[.perl] [33m�[31m1, 2, 3, 4[0m�    expecting any of:�       infix or meta-infix�    infixed function�       statement modifier loop�Parse
13:05 camelia ..failed␤F…
13:05 [Coke] nwc10: look for "nqp.bat" in ConfigureJVM.pl
13:05 nwc10 jnthn: got test failures, but they are out of date as teh goalposts moved: http://pasta.test-smoke.org/490
13:06 timotimo er, that also doesn't make sense
13:06 timotimo things you come up with when you're kind of asleep
13:06 dalek nqp: 14266b9 | jnthn++ | tools/build/Makefile-JVM.in:
13:06 dalek nqp: Try to unbust Linux/Unix build.
13:06 dalek nqp:
13:06 dalek nqp: nwc10++ and [Coke]++ for reporting/diagnosis.
13:06 dalek nqp: review: https://github.com/perl6/nqp/commit/14266b9523
13:08 jnthn nwc10: Yeah, I'm currently focusing on the Rakudo porting rather than clearing those up. But I'll get them eventually. :)
13:08 jnthn nwc10: Already incidentally fixed something there today anyway.
13:12 drbean joined #perl6
13:14 nwc10 jnthn++ # yep, "works" on "my" machine again
13:14 nwc10 fails those 5 tests. ie - build works once more.
13:16 jnthn Time for a break/walk; bbiab
13:16 [Coke] jnthn++
13:17 masak timotimo: you can't put method names inside reduction metaops like that.
13:17 masak oops, talking to the backlog.
13:17 [Coke] with that, rakudo-jvm now builds 4 jvm files.
13:18 masak std: (1, 2, 3, 4)>>.perl
13:18 camelia std 86b102f: OUTPUT«ok 00:00 43m␤»
13:18 masak timotimo: maybe you meant this?
13:20 timotimo i was kind of derping what a reduction does, but i was also at that moment napping and decided to type what came to my mind into the calculating machine
13:21 PerlJam .oO( What would an infix:<perl> op do? )
13:22 moritz today's mini challenge: define a custom meta operator that can take an identifier, and applies the string as a method to all args
13:23 moritz [Mperl] 1, 2, 3   would be the same as  (1, 2, 3)>>.perl
13:23 * moritz is not quite serios
13:23 moritz *serious
13:23 dakkar joined #perl6
13:24 lizmat joined #perl6
13:25 PerlJam moritz: that would be sort of like a meta-map  (but the reduction doesn't make enough sense there)
13:25 masak moritz++ # mini-challenge
13:26 masak my (pessimistic) prediction: defining metaops will not work in Rakudo. :/
13:26 masak maybe in Niecza.
13:26 colomon I'd be surprised if it worked in Niecza.
13:26 masak timotimo: have you seen the great quote by Charles Babbage? :)
13:26 moritz also note that it's not quite a meta op
13:26 moritz because it doesn't take an op as argument, but an identifier
13:27 colomon unless you mean in the grand sense that it's reasonable to implement code that allows you to define metaops.
13:27 masak timotimo: 'On two occasions I have been asked, — "Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?" [...] I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.' https://en.wikiquote.org/wiki/Charles_Babbage
13:27 * moritz should have termed it a "macro-challenge" :-)
13:28 PerlJam masak: that last bit of the quote "I am not rightly to apprehend ..." comes to mind *all the time* on IRC  ;)
13:28 timotimo masak: i have
13:28 masak timotimo: it's like the 19th-century version of 'Two different users asked me: "Will the program get the output right if I get the input wrong?", and I'm like "WTF!"'
13:29 timotimo the output may be right even if the input is wrong. but it'll be right for the wrong inputs. or if the inputs are truly bogus, they'll be wrong or - hopefully! - an exception or some defined error state at least
13:29 hoelzro I love that quote
13:30 colomon PerlJam: on the internet in general!
13:38 arnsholt hoelzro: Could you do me a favour and add your problem to the Zavolaj issues?
13:39 arnsholt I'm a bit too busy at work ATM to deal with it right now, sadly =/
13:39 timotimo what's a good way to let a user supply a filter to a method that will be passed to .grep? i tried method frob($crit) { $something.something.grep({$_<frob> ~~ $crit}).something.something }, but that didn't seem to work properly. is that because of a bogus $crit or something else?
13:43 PerlJam timotimo: I don't even understand what you're asking for.
13:44 hoelzro arnsholt: sure!
13:44 colomon timotimo: the natural way is just frob($crit) { $something.something.grep(​$crit).something.something } unless you want to not smartmatch $crit against the entire object passed to grep
13:44 FROGGS timotimo: if grep accepts a block, why dont you just pass a block?
13:44 hoelzro I could even post more tarballs that illustrate different problems later tonight
13:46 timotimo because the most common usage would be to pass in just a number
13:46 timotimo or a list
13:46 timotimo but sometimes you want "everything but the number 1"
13:47 FROGGS I think you can do that only by passing a pointy block
13:47 isBEKaml joined #perl6
13:47 FROGGS and maybe wrap the param if it isnt a block already
13:48 colomon r: say (1..20).grep(&is-prime)
13:48 camelia rakudo 37c995: OUTPUT«2 3 5 7 11 13 17 19␤»
13:48 colomon r: say (1..20).grep(not &is-prime)
13:48 camelia rakudo 37c995: OUTPUT«␤»
13:48 colomon r: say (1..20).grep({not $_.is-prime})
13:48 camelia rakudo 37c995: OUTPUT«1 4 6 8 9 10 12 14 15 16 18 20␤»
13:48 timotimo is there a swartzian transform for grep yet? :)
13:48 PerlJam timotimo: so you want multis; one for the common case and another for the general case?
13:48 colomon r: say (1..20).grep({!$_.is-prime})
13:48 camelia rakudo 37c995: OUTPUT«1 4 6 8 9 10 12 14 15 16 18 20␤»
13:48 colomon I really don't think you'll easily do better than that
13:48 timotimo that sounds kind of like what i want
13:49 colomon r: sub test-numbers($crit) { (1..20).grep($crit); };  say test-numbers(&is-prime)
13:49 camelia rakudo 37c995: OUTPUT«2 3 5 7 11 13 17 19␤»
13:49 colomon r: sub test-numbers($crit) { (1..20).grep($crit); };  say test-numbers({ !$_.is-prime })
13:49 camelia rakudo 37c995: OUTPUT«1 4 6 8 9 10 12 14 15 16 18 20␤»
13:51 pmichaud good morning, #perl6
13:51 moritz good am, pm
13:51 masak rn: multi negate(&F) { return -> $x { !&F($x) } }; say (1..20).grep(negate &is-prime)
13:51 isBEKaml pmichaud: good morning
13:51 camelia rakudo 37c995, niecza v24-37-gf9c8fc2: OUTPUT«1 4 6 8 9 10 12 14 15 16 18 20␤»
13:52 masak HOP FTW, people.
13:52 colomon \o
13:52 masak pmichaud! \o/
13:52 moritz note that this HOP is even built into Perl 6
13:52 colomon HOP++
13:52 moritz r: say grep !*.is-prime, 1..20
13:52 camelia rakudo 37c995: OUTPUT«1 4 6 8 9 10 12 14 15 16 18 20␤»
13:52 masak ooh
13:52 colomon moritz++
13:52 * jnthn back
13:52 * colomon feels stupid for not thinking of that.
13:53 * isBEKaml likes HOP in what he read so far. :)
13:53 isBEKaml but too many books, the list just keeps piling up. :|
13:57 skids joined #perl6
13:59 [Coke] ETOOLITTLETIME
14:00 isBEKaml exactly
14:00 PerlJam sleep less  ;)
14:00 isBEKaml nah, been there - only to get panic attacks in the middle of the day. :/
14:04 stevan_ joined #perl6
14:06 moritz you'll automatically sleep less as you become older
14:06 crab2313 joined #perl6
14:08 PerlJam I don't think people actually sleep less as they get older.  They only sleep less *at night*
14:08 moritz might be
14:10 masak like cats.
14:12 spider-mario speaking of cats: https://www.youtube.com/watch?v=BkgOzxKPJXQ
14:12 spider-mario :>
14:16 crab2313 joined #perl6
14:24 xantamoc joined #perl6
14:33 SmokeMachine joined #perl6
14:33 [Coke] .meow
14:33 yoleaux DeadlineExceededError: Deadline exceeded while waiting for HTTP response from URL: http://edgecats.net/random
14:35 xilo joined #perl6
14:37 rindolf joined #perl6
14:41 isBEKaml .cats
14:54 fgomez joined #perl6
14:57 FROGGS .meow
14:57 yoleaux http://moar.edgecats.net/cats/tu​mblr_lk64ayaE4h1qbhtrto1_500.gif
14:57 FROGGS \o/
14:57 kbenson joined #perl6
14:58 FROGGS boring
14:58 FROGGS .meow
14:58 yoleaux http://moar.edgecats.net/cats/z1fLa.gif
14:58 FROGGS ohh, this one is good :oD
14:59 dalek nqp: 1fd7f29 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/Ops.java:
14:59 dalek nqp: Correction to freshcoderef.
14:59 dalek nqp: review: https://github.com/perl6/nqp/commit/1fd7f29664
14:59 dalek nqp: 1c43791 | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/s​ixmodel/SerializationWriter.java:
14:59 dalek nqp: Improve error reporting.
14:59 dalek nqp: review: https://github.com/perl6/nqp/commit/1c4379118e
14:59 dalek nqp: e8b076b | jnthn++ | src/NQP/Actions.nqp:
14:59 dalek nqp: Fix compiling our-scoped subs.
14:59 dalek nqp:
14:59 dalek nqp: Not sure why we ever got away without this on Parrot.
14:59 dalek nqp: review: https://github.com/perl6/nqp/commit/e8b076b690
14:59 ggoebel joined #perl6
15:01 dalek rakudo/jvm-support: a996710 | jnthn++ | / (3 files):
15:01 dalek rakudo/jvm-support: Perl6::Ops is backend-specific.
15:01 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/a996710296
15:01 dalek rakudo/jvm-support: 32f7240 | jnthn++ | / (2 files):
15:01 dalek rakudo/jvm-support: Add a partly translated Perl6::Ops for JVM.
15:01 dalek rakudo/jvm-support:
15:01 dalek rakudo/jvm-support: We'll have some Perl 6 specific ops in JVM land. This translates the
15:01 dalek rakudo/jvm-support: mappings, though of course the ops all still need implementing. This
15:01 dalek rakudo/jvm-support: just means we can compile things that refer to them.
15:01 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/32f7240843
15:01 dalek rakudo/jvm-support: 8c05ec6 | jnthn++ | src/Perl6/Actions.nqp:
15:01 dalek rakudo/jvm-support: nqp::concat => nqp::concat_s
15:01 dalek rakudo/jvm-support:
15:01 dalek rakudo/jvm-support: They are just synonyms by now.
15:01 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/8c05ec66d5
15:01 dalek rakudo/jvm-support: 72ab250 | jnthn++ | / (2 files):
15:01 dalek rakudo/jvm-support: Add Perl6::Actions to the JVM build.
15:01 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/72ab250168
15:02 FROGGS "Not sure why we ever got away without this on Parrot." <-- I really do like these kind of weirdness
15:03 jnthn I don't 'cus it tends to tell me I've missed something somewhere...
15:07 moritz http://www.perlmonks.org/?node=1030688 # nice algorithm question; I'd appreciate an answer with Perl 6 code :-)
15:07 moritz (though I'm not the OP)
15:09 Pleiades` joined #perl6
15:12 kresike bye folks
15:12 [Coke] ~~
15:16 ggoebel joined #perl6
15:18 tgt joined #perl6
15:19 tadzik this "not sure why we got away with this" is sometimes paired with "oh look, for reasons unknown this weird bug is now fixed" :P
15:19 FROGGS that is exactly what I was thinking
15:19 isBEKaml hey, tadzik!
15:20 ggoebel_ joined #perl6
15:25 isBEKaml_ joined #perl6
15:27 isBEKaml joined #perl6
15:30 tadzik \o/
15:30 tadzik hey hey
15:30 isBEKaml tadzik: how goes GUInification? One GUILib to rule them all? :)
15:32 isBEKaml tadzik: Still picking leaves of the great forest? :P
15:32 isBEKaml s/of/off/
15:34 pmichaud nqp's ohloh page was finally updated.   http://www.ohloh.net/p/nqp
15:37 jnthn ..
15:37 jnthn is mostly written in C
15:37 jnthn with a well-commented source code
15:37 jnthn :D
15:37 pmichaud jnthn: you should claim your projects.  http://www.ohloh.net/people?q=jnthn
15:37 jnthn hm, do I have an account there...
15:38 jnthn oh, seems so
15:38 tadzik isBEKaml: haha. No, I don't remember thinking about it at all
15:40 timotimo of course a site such as ohloh would have trouble classifying such a niche language as nqp or even as perl6
15:42 jnthn "4510 total commits to 6 projects" :)
15:43 arnsholt hoelzro: Thanks for the bug report! More examples would be great as well. Might be useful to figure out WTH is going on
15:43 isBEKaml joined #perl6
15:48 * moritz claimed a few of the projects on ohloh
15:51 ruoso joined #perl6
15:52 frdmn joined #perl6
15:53 isBEKaml tadzik: All in good time. :D
16:08 Chillance joined #perl6
16:09 spider-mario joined #perl6
16:12 FROGGS joined #perl6
16:16 dmol joined #perl6
16:22 lizmat joined #perl6
16:24 dalek nqp: 7853513 | jnthn++ | src/vm/jvm/ (2 files):
16:24 dalek nqp: Greatly shrink lexical name list code size.
16:24 dalek nqp:
16:24 dalek nqp: Can further optimize this later as many times the names are not needed
16:24 dalek nqp: at all in execution.
16:24 dalek nqp: review: https://github.com/perl6/nqp/commit/7853513555
16:25 dalek rakudo/jvm-support: a79969d | jnthn++ | tools/build/Makefile-JVM.in:
16:25 dalek rakudo/jvm-support: Add Perl6::Grammar to JVM build.
16:25 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/a79969d0f3
16:25 dalek rakudo/jvm-support: 491bf5e | jnthn++ | tools/build/Makefile-JVM.in:
16:25 dalek rakudo/jvm-support: Add Perl6::Optimizer to the JVM build.
16:25 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/491bf5e362
16:25 dalek rakudo/jvm-support: 2877033 | jnthn++ | tools/build/Makefile-JVM.in:
16:25 dalek rakudo/jvm-support: Add Perl6::Compiler to JVM build.
16:25 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/28770330ec
16:27 jerome_ joined #perl6
16:28 [Coke] so I peeked at olhol for the first time in ages. doesn't seem to be a way to say "all the logins by coke at github are me", instead I have to go project by project and claim them.
16:28 nwc10 that seems a bit, well, suboptimal on their part
16:31 * [Coke] claims 2 or 3 and give sup.
16:39 sizz joined #perl6
16:40 dalek rakudo/jvm-support: 982d91e | jnthn++ | / (2 files):
16:40 dalek rakudo/jvm-support: Add compiler frontend program to the JVM build.
16:40 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/982d91ee48
16:40 dalek rakudo/jvm-support: 911d56b | jnthn++ | .gitignore:
16:40 dalek rakudo/jvm-support: Update .gitignore.
16:40 dalek rakudo/jvm-support: review: https://github.com/rakudo/rakudo/commit/911d56b595
16:47 SunilJoshi joined #perl6
16:52 alester joined #perl6
17:08 snearch joined #perl6
17:10 pecastro joined #perl6
17:13 thou joined #perl6
17:16 pmichaud p6: my $a = 1;  $a.++; say $a;
17:16 camelia niecza v24-37-gf9c8fc2: OUTPUT«2␤»
17:16 camelia ..rakudo 37c995: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&postfix:<.>' called (lines 1, 1)␤»
17:16 pmichaud rakudobug (maybe already reported)
17:20 moritz long-known NYI feature
17:20 moritz at least long known to those that look at roast fudges :-)
17:23 * jnthn bbl; dinner
17:24 japhb_ joined #perl6
17:24 diakopter japhb_: welcome.
17:25 _sri the rust folks are redesigning their I/O API, maybe of interest to some here https://mail.mozilla.org/pipermai​l/rust-dev/2013-April/003746.html
17:25 cognominal moritz: where are roast results dipslayed?
17:25 japhb_ o/
17:25 cognominal … if they are
17:28 moritz on your terminal, when you run 'make spectest'
17:35 diakopter _sri: thanks for the link. If I were imagining undertaking such a thing for a language-dedicated VM (well, "runtime") such as Rust's, I'd steal libuv from node, including exposing the event loops from the VM, port node's JS api directly to a language such as NQP, then implement the currently-standard nqp:: IO ops on top of that "node" API (for short-term compatibility), in addition to adding new ones for async, then implement(/redesign/adapt) ...
17:35 diakopter ... the Perl 6 IO API on top of that, then gradually eliminate the middle layers over the next months/years...
17:35 _sri diakopter: i believe that's exactly where they started
17:35 diakopter hah.
17:36 _sri but now they are moving in a different direction to take advantage of threads
17:37 diakopter do you know why they couldn't use threads with libuv?
17:37 _sri it's quite interesting, apparently they have something very similar to parrot tasks (green threads mapped to a number of real threads)
17:39 _sri it could still use libuv internally, don't know details yet i'm afraid
17:41 _sri the goal seems to be a synchronous looking API that scales really well with dirt cheap green threads (through non-blocking I/O) https://github.com/brson/rust/blo​b/io/src/libcore/rt/io/mod.rs#L11
17:42 _sri very very close to how parrot did it
17:43 tgt joined #perl6
17:45 diakopter eh
17:46 diakopter except parrot has no native event loops or async IO...?
17:46 diakopter .. which makes it completely different...
17:46 _sri afaik it does internally
17:46 erkan joined #perl6
17:46 erkan joined #perl6
17:46 diakopter as far as you know what
17:47 _sri whiteknight explained it to me once
17:47 diakopter parrot has native event loops or async IO?  no.
17:47 _sri implicit yes
17:47 _sri i'm not sure if it ever made it into a real release
17:47 diakopter implicit?
17:48 _sri but it was supposed to use non-blocking I/O for everything
17:48 diakopter *cough*
17:48 diakopter lots of things were supposed to happen
17:48 _sri *all* I/O operations would look blocking, but behind the scenes use non-blocking I/O
17:49 diakopter okay, well, I'm not sure why we're talking about some theoretical parrot that's completely different from the current [or ever existing] one
17:49 _sri i think it might have been part of the parrot release that added threads
17:50 _sri in the end it's just an optimization
17:50 diakopter hm, you seem to have interpreted my msg "except parrot has no native event loops or async IO...?" as me asking whether it had them.. instead of what I meant, which was "it doesn't have those... why do you think it does?"
17:51 _sri ah, ok
17:52 _sri like i said, i'm just interpreting the things i heard from whiteknight and reini, but don't actually know the code
17:54 diakopter ok. such malarkey activates my no-spin-zone persona
18:05 dalek perl6-roast-data: b807d88 | coke++ | / (4 files):
18:05 dalek perl6-roast-data: today (automated commit)
18:05 dalek perl6-roast-data: review: https://github.com/coke/perl6​-roast-data/commit/b807d88eb3
18:05 kaleem joined #perl6
18:06 [Coke] niecza has been dirty for 282 days. pugs has been clean for 4 days. rakudo has been dirty for 1 day.
18:07 [Coke] all in S32-temporal.
18:11 spider-mario joined #perl6
18:15 moritz will probably be fixed the timezone pull request
18:23 tgt joined #perl6
18:26 * [Coke] is all excited that his new office digs have a window.
18:34 Hello9 joined #perl6
18:34 Hello9 Hello! :D
18:34 Hello9 Wanted to share a new programming forum: http://thedevshed.net/forum/
18:34 Hello9 feel free to join
18:34 Hello9 :)
18:37 diakopter Hello9: why?
18:37 fgomez joined #perl6
18:40 diakopter Hello9: that forum has ZERO non-admin/moderator posts.  how could it possibly be helpful to anyone here?
18:42 dmol1 joined #perl6
18:42 timotimo well, he did say it's new ...
18:42 diakopter hm, true.
18:43 diakopter or she.
18:43 estrabd joined #perl6
18:44 timotimo indeed.
18:45 diakopter anyone here work somewhere that uses google apps for business/gmail and formerly used Exchange/Outlook?
18:45 Hello9 The forum is new
18:45 Hello9 launched today
18:45 Hello9 http://thedevshed.net/forum/annou​ncements/46-were-beta.html#post68
18:46 Hello9 Anyways, feel free to join :)
18:46 timotimo hm, the only part that would refer to perl6 at all would be the "perl and ruby development" subforum of "web development"
18:46 stevan_ joined #perl6
18:46 timotimo not sure i agree with that choice
18:46 timotimo both ruby and perl are useful for much more than web development
18:46 diakopter :)
18:46 Hello9 Yes
18:46 Hello9 But where should it be placed then?
18:47 Hello9 "Web Development" is one of it's uses
18:47 timotimo "programming"?
18:47 timotimo python's in "programming", too, even though it has quite a few famous web frameworkey bits
18:48 Hello9 :)
18:48 timotimo i wonder what the filter bubble you come from is, such that you would name one of those subforums "visual basic and .net framework", i always thought c# was the "'poster child' of the .net family of languages and technologies
18:50 flussence .oO( I feel like I've tripped over a crack in the universe and landed face-first in 2002... )
18:50 diakopter er, 1998
18:51 timotimo there was .net in 1998?
18:51 Maddingu1 joined #perl6
18:52 flussence diakopter: I know, but I didn't start doing PHP until '02. I quickly found out people promoting sites like this were a dime a dozen (and they almost always went nowhere :)
18:53 timotimo .o( "this reddit thing? it won't go anywhere" )
18:53 rking1 joined #perl6
18:54 GlitchMr rn: say '一二三四五六七八九十' ~~ m:g/<[一..十]>/
18:54 camelia niecza v24-37-gf9c8fc2: OUTPUT«[31m===[0mSORRY![3​1m===[0m��Regex modifier g not yet implemented at /tmp/xQ6IjuQfXo line 1:�------> [32msay '一二三四五​六七八��' ~~ m:g[33m�[31m/<[一..Ã¥ï​¿½ï¿½]>/[0m��Unhandled exception: Check failed��  at /home/p6eval/niecza/boot/lib/CORE.setting line 1443 (die …
18:54 camelia ..rakudo 37c995: OUTPUT«False␤»
18:55 GlitchMr rn: say '一二三四五六七八ä​¹å'.comb:/<[一..十]>/
18:55 camelia niecza v24-37-gf9c8fc2: OUTPUT«[31m===[0mSORRY![31​m===[0m��Confused at /tmp/Nm1SRRn1Xa line 1:�------> [32msay '一二三四五六ä¸​ƒå…«ä¹�å��'.comb[33m�[31m:​/<[一..�]>/[0m��Parse failed��»
18:55 camelia ..rakudo 37c995: OUTPUT«[31m===[0mSORRY![31m===[0m�Two terms in a row�at /tmp/3MWBeUJwKH:1�------> [32msay '一二三四五六​七八��'.comb[33mâ�​�[31m:/<[一..�]>/[0m�    expecting any of:�        method arguments�        postfix�        infix stopper�        infix or meta-infix�        statement en…
18:55 GlitchMr rn: say '一二三四五六七八ä¹​å'.comb(/<[一..十]>/)
18:55 camelia rakudo 37c995, niecza v24-37-gf9c8fc2: OUTPUT«一 二 三 五 六 七 八 九 十␤»
18:55 xinming joined #perl6
18:55 GlitchMr It doesn't match å››...
18:57 jnthn .u 三四五
18:57 yoleaux No characters found
18:57 jnthn ...what? :)
18:57 Hello9 left #perl6
18:57 jnthn r: say "三四五".ords
18:57 camelia rakudo 37c995: OUTPUT«19977 22235 20116␤»
18:57 GlitchMr .u 三
18:57 yoleaux No characters found
18:57 GlitchMr lolwhat
18:58 GlitchMr n: say +"三"
18:58 camelia niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Cannot parse number: 三␤  at /home/p6eval/niecza/lib/CORE.setting line 1504 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3620 (ANON @ 10) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3622 (NumSyntax.str2num @ 5) ␤  at /h…
18:58 moritz 4E09 三 CJK UNIFIED IDEOGRAPH-4E09
18:58 GlitchMr That's really good name for a character.
18:59 GlitchMr It's three in Chinese.
18:59 GlitchMr It matched everything except for four.
18:59 GlitchMr But, I guess it makes sense
18:59 GlitchMr After all, I cannot do that:
18:59 GlitchMr n: say +"three"
18:59 camelia niecza v24-37-gf9c8fc2: OUTPUT«Unhandled exception: Cannot parse number: three␤  at /home/p6eval/niecza/lib/CORE.setting line 1504 (die @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3620 (ANON @ 10) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3622 (NumSyntax.str2num @ 5) ␤  a…
19:00 GlitchMr Because it isn't an actual number, just a word for it.
19:05 berekuk joined #perl6
19:06 * skids wonders if anyone ever took the ascii/shift_jis art tools to the unicode extreme.
19:30 ggoebel joined #perl6
19:32 GlitchMr skids, http://xahlee.info/comp/unicode_ascii_art.html
19:33 GlitchMr for some example
19:34 GlitchMr Unicode ASCII art Camelia could be interesting.
19:35 arnsholt I guess »ö« is a bit too small scale? =)
19:37 GlitchMr This is ISO-8859-1 art.
19:38 arnsholt I guess
19:39 arnsholt Not if you write ö with a combining umlaut =)
19:39 GlitchMr That's cheating
19:39 GlitchMr I could also use fullwidth characters in ASCII art.
19:39 GlitchMr But IMO, that is cheating.
19:39 arnsholt Hehe, true. It'll still normalise to the ISO subset
19:40 tgt joined #perl6
19:43 ggoebel joined #perl6
19:48 berekuk joined #perl6
20:03 shinobicl joined #perl6
20:06 * masak writes t2 blog post
20:09 adu joined #perl6
20:13 * [Coke] attempts to run rakudo-jvm and gets a stack trace. progress!
20:13 [Coke] jnthn++
20:14 mattp_ joined #perl6
20:15 ggoebel joined #perl6
20:18 kurahaupo joined #perl6
20:23 stevan_ joined #perl6
20:36 ggoebel joined #perl6
20:56 xinming joined #perl6
20:58 MrMeek-afk joined #perl6
21:02 tgt joined #perl6
21:02 masak lol, I blug! http://strangelyconsistent.o​rg/blog/t2-rectangle-haikus
21:02 masak moritz: FINALLY
21:02 masak now please start nagging me about t3 instead :P
21:03 kurahaupo joined #perl6
21:07 jnthn masak: When's t3 coming? :P
21:10 TimToady_ joined #perl6
21:10 labster masak:  typo: part-of-speec
21:10 orevdiabl joined #perl6
21:10 masak labster: thanks, fixing.
21:10 masak jnthn: within two months :P
21:11 mls joined #perl6
21:12 xantamoc left #perl6
21:12 labster Well, I'm off to make my code less elegant, because regex and rx { } don't seem to work when I add them to the setting.
21:12 masak living in the undistributed future sometimes requires making one's code less elegant.
21:13 masak labster: just be glad it isn't still 2008 :P
21:14 jnthn What's being added to the setting, ooc?
21:15 labster File::Spec.  It's needed for IO::Path to work properly.
21:15 labster I'm probably going to add it as IO::Spec instead.
21:16 labster .oO ( 'ooc' still means 'out of character' to me, too much roleplaying habit )
21:17 masak "What's being added to the setting, out of character?" :P
21:17 raiph more on pinto/stratopan: http://perlmaven.com/videos/jeffre​y-thalhammer-perl-critic-and-pinto # relevant to panda? relevant to lizmat and other #p6p5ers re p6 & cpan?
21:19 labster Properly on non-unix OSes, I guess I should say.  It's a bunch of string operations, so it shouldn't affect jvm work at all.
21:22 arnsholt labster: Proper path handling on non-Unix is a very laudable goal, IMO
21:23 sitaktif1 joined #perl6
21:23 markov joined #perl6
21:24 Yappo______ joined #perl6
21:24 dalek nqp: a33f00e | jnthn++ | src/vm/jvm/runtime/org/perl6/nqp/runtime/ (6 files):
21:24 dalek nqp: Simplify invokeInternal exception handling.
21:24 dalek nqp:
21:24 dalek nqp: Part of preparation for moving it into the generated code.
21:24 dalek nqp: review: https://github.com/perl6/nqp/commit/a33f00eb86
21:24 dalek nqp: 3326be2 | jnthn++ | src/vm/jvm/ (2 files):
21:24 dalek nqp: Generate handler currently in invokeInternal.
21:24 dalek nqp: review: https://github.com/perl6/nqp/commit/3326be2642
21:24 dalek nqp: fbf65e4 | jnthn++ | src/vm/jvm/ModuleLoader.nqp:
21:24 dalek nqp: Eliminate use of a hack.
21:24 dalek nqp: review: https://github.com/perl6/nqp/commit/fbf65e4041
21:25 lizmat raiph: pinto is most definitely very interesting and stratopan should be watched
21:26 labster I had a prototype working as IO::Path::More in the ecosystem.  I'm not sure, but I might have broken it with the changes to IO::Path in the core.  Well, it should still work with Star.
21:26 lizmat but before we can think about that, we need some perl 6 internals to fix
21:27 labster Is anyone making a Star for this month?
21:27 lizmat sleep&
21:27 raiph lizmat: thanks. it's a great video too. .oO ( crowdfund jnthn )
21:28 lizmat fwiw, I don't think funding is the pb, tuits is
21:28 raiph right
21:28 lizmat really sleep&
21:28 raiph gnite
21:29 PerlJam lizmat: jnthn would have more tuits if Perl6 were his full-time job  ;)
21:29 PerlJam er, more tuits for perl 6 anyway
21:29 woolfy left #perl6
21:30 dalek nqp: 2a34af7 | jnthn++ | src/vm/jvm/ (3 files):
21:30 dalek nqp: Basic usage of invokedynamic for sub calls.
21:30 dalek nqp:
21:30 dalek nqp: Plenty left to improve yet, but this gets the basics in place.
21:30 dalek nqp: review: https://github.com/perl6/nqp/commit/2a34af7865
21:30 BenGoldberg joined #perl6
21:30 masak PerlJam: I'm pretty sure jnthn wouldn't make Perl 6 his full-time job, given the chance, though.
21:31 masak PerlJam: thing is, with our job at edument.se, that it's pretty much the perfect combination of teaching, consulting, and 20% time over for Perl 6.
21:31 PerlJam whatever keeps it fun  :)
21:31 masak yeah.
21:31 masak this mix seems to be more or less what the combustion engine needs to work.
21:31 jnthn I could see myself wanting to shuffle the percentage more Perl 6-wards in the future, but I don't think I'd want to leave my teaching work completely behind. :)
21:32 masak oh, agree.
21:32 jnthn There's a chance I'll need to refactor various aspects of my life in a year or so anyways, though... :)
21:32 masak and if someone were to offer me a 100% Perl 6 job, I'd certainly be willing to discuss terms... :)
21:32 masak jnthn.phase++
21:35 jnthn The teaching is enjoyable, but also physically helpful: it gives me a form of work that doesn't involve being crouched over a keyboard. :)
21:35 jnthn I'm pretty sure if I did that all day every day it'd start hurting.
21:36 * PerlJam needs something more physical to do in his job/life
21:36 PerlJam Really I just need to walk in the woods every once in a while.  the problem is that where I live there aren't really woods to walk in.
21:37 [Coke] masak: hey, when's t3 coming (oh wait, I don't care I didn't submit one to those. ;)
21:38 masak PerlJam: we're hiring. we have woods.
21:38 masak [Coke]: :P
21:38 PerlJam masak: you're also on another continent.  I doubt I'll get my wife and kids to go for that  :)
21:38 masak I have six t3 solutions here.
21:39 * masak .oO( no, *you're* on another continent... ) :P
21:39 PerlJam :-P
21:40 mikemol joined #perl6
21:40 labster Huh, I could use a job.  It might be nice to live in a country that doesn't invade other countries every few years.
21:41 BenGoldberg I'm confused.  How do you know which of you is on this continent, and which of you is on another one?  :)
21:41 avuserow joined #perl6
21:41 BenGoldberg For various definitions of "this" continent ;)
21:41 avuserow rn: say 1_000
21:42 PerlJam BenGoldberg: we use continental junctions.
21:42 camelia rakudo 37c995, niecza v24-37-gf9c8fc2: OUTPUT«1000␤»
21:42 avuserow \o/
21:42 jnthn .oO( this was so much easier back in the good old Pangaea days... )
21:42 labster I don't think any of us live on yonder continent.
21:42 masak avuserow: hey, long time no see.
21:42 avuserow hi masak!
21:43 [Coke] git st
21:43 avuserow I've been busy with $dayjob but occasionally keep up on stuff here
21:44 * avuserow hopes everyone is doing well
21:44 [Coke] er, ww.
21:46 kurahaupo labster: I do. :-)
21:47 BenGoldberg So, I've been thinking about &is-prime since last night... and wondering, how difficult would it be to change it so that instead of returning True and False, it would only return True if the number is known (absolutely) to be prime, false if the number is known to be composite, or lastly, a Num, $p, between 0 and 1 (exclusive) indicating that the number is prime with probability at least $p.
21:49 masak BenGoldberg: "how difficult" != "how desirable"
21:49 PerlJam BenGoldberg: sounds weird.
21:49 PerlJam BenGoldberg: if you were going to go through that trouble, why not "True but $probability"
21:49 PerlJam ?
21:49 masak simple protocols have their clear advantages.
21:50 PerlJam BenGoldberg: i.e. *always* give the probability
21:51 BenGoldberg Oh, I didn't think of that :)
21:54 BenGoldberg Ok, second is-prime related question: How desirable would it be to change the spec so that it requires that multiple calls to is-prime on any Int do multiple independent tests?
21:54 masak isn't the probability simply 1/2 ** $tries ?
21:55 BenGoldberg Normally, yes
21:55 masak why would you need that back from the function? when it's you who passes $tries, I mean?
21:55 BenGoldberg But libtommath uses an internal lookup table
21:56 BenGoldberg Well, in the case of the library being used, if $tries is bigger than 256, it simply returns an error code, instead of doing the tests
21:57 BenGoldberg Secondly, if do $x.is-prime(4) twice, the second call will perform the exact same computations as the first call, due to that lookup table.
21:58 PerlJam BenGoldberg: why do you want to change is-prime in these ways?  What's the motivation?
21:59 PerlJam Are you trying to minimize surprises when someone passes a low value for $tries?
21:59 PerlJam (or a too-high value)
21:59 BenGoldberg rn: 5.is-prime(10000)
21:59 camelia rakudo 37c995, niecza v24-37-gf9c8fc2:  ( no output )
21:59 BenGoldberg rn: say 5.is-prime(10000)
21:59 camelia rakudo 37c995: OUTPUT«False␤»
21:59 camelia ..niecza v24-37-gf9c8fc2: OUTPUT«True␤»
22:00 PerlJam Seems to me that one would be better served by a constraint on $tries
22:01 PerlJam If nothing else, you could get a meaningful message when you do something screwy  :)
22:01 BenGoldberg rn: say 5.is-prime(257)
22:01 camelia rakudo 37c995: OUTPUT«False␤»
22:01 camelia ..niecza v24-37-gf9c8fc2: OUTPUT«True␤»
22:06 BenGoldberg If separate calls to is-prime were specified to use independent, random numbers for the tests, then $x.is-prime(1000) would be semantically the same thing as doing [&&] map *.is-prime, 1..4
22:07 BenGoldberg err, make that [&&] map *.is-prime(250), 1..4
22:07 BenGoldberg err, make that [&&] map $x.is-prime(250), 1..4
22:09 BenGoldberg But do to libtommath (used by nqp, used by rakudo) using the same "random" numbers each and every time, the results cannot be combined that way.
22:11 japhb_ masak: blog typo: "rectangula haiku"
22:13 masak japhb_: thanks, fixing.
22:15 xilo joined #perl6
22:15 ruoso joined #perl6
22:15 Grrrr joined #perl6
22:15 kshannon joined #perl6
22:15 lue joined #perl6
22:15 BinGOs joined #perl6
22:15 masak BenGoldberg: that does sound like a serious issue.
22:21 cognominal I suppose that if I want to avoid infinite recursion on some of my rules in my bast grammar, I must express them using <EXPR> and precedence?
22:21 tgt joined #perl6
22:22 jnthn cognominal: Main thing is be sure to avoid left-recursion.
22:23 cognominal ya, that's exactly what I mean
22:23 japhb_ I understand the desire for independent tests in is-prime, but couldn't the immediate solution be to just cap the test count so that Rakudo does the right thing on insanely high inputs?  After all, I suspect 2**-256 is a WAY smaller probability than the chance of bit error, even with ECC.
22:23 fgomez joined #perl6
22:23 japhb_ *insanely high test counts
22:24 cognominal also I will need to hook the top of my grammar in nqp <EXPR>
22:30 skids joined #perl6
22:30 kurahaupo joined #perl6
22:32 masak 'night, #perl6
22:35 FROGGS gnight masak
22:37 stevan_ joined #perl6
22:37 dalek nqp: ba958d2 | jnthn++ | src/vm/jvm/ (2 files):
22:37 dalek nqp: Support calling invokedynamic BS with extra args.
22:38 dalek nqp: review: https://github.com/perl6/nqp/commit/ba958d2123
22:38 dalek nqp: b1d4669 | jnthn++ | src/vm/jvm/ (2 files):
22:38 dalek nqp: Pass name as extra string arg.
22:38 dalek nqp:
22:38 dalek nqp: This avoids running into issus where we use chars that are not allowed
22:38 dalek nqp: in JVM method names, fixing the 11-sub.t regression.
22:38 dalek nqp: review: https://github.com/perl6/nqp/commit/b1d4669580
22:38 dalek nqp: 55e954c | jnthn++ | src/vm/jvm/ (2 files):
22:38 dalek nqp: Pass call site index as static data, not per call.
22:38 dalek nqp: review: https://github.com/perl6/nqp/commit/55e954c9bd
22:42 cognominal g'night
22:44 Timbus joined #perl6
22:45 sivoais joined #perl6
22:51 dalek v5: 6b5eea2 | (Tobias Leich)++ | lib/Perl6/P5World.pm:
22:51 dalek v5: use nqp::getenvhash
22:51 dalek v5: review: https://github.com/rakudo-p5/v5/commit/6b5eea221f
22:51 dalek v5: 31ca7ab | (Tobias Leich)++ | lib/Perl5.pm:
22:51 dalek v5: move slang setup to EXPORT sub, and fiddle with CUSTOM_LIB<Perl5>, which is our @INC
22:51 dalek v5: review: https://github.com/rakudo-p5/v5/commit/31ca7abe22
22:51 dalek v5: ff9ed03 | (Tobias Leich)++ | lib/Perl6/P5Actions.pm:
22:51 dalek v5: add implicit :from<Perl5> for require and dispatch @INC to %CUSTOM_LIB<Perl5>
22:51 dalek v5: review: https://github.com/rakudo-p5/v5/commit/ff9ed03e79
22:51 dalek v5: e88c222 | (Tobias Leich)++ | lib/Perl6/P5Grammar.pm:
22:51 dalek v5: add implicit :from<Perl5> for use
22:51 dalek v5: review: https://github.com/rakudo-p5/v5/commit/e88c222c99
22:52 dalek v5: 2e5ba5e | (Tobias Leich)++ | t/test_summary:
22:52 dalek v5: sort the tests by pass and plan
22:52 dalek v5: review: https://github.com/rakudo-p5/v5/commit/2e5ba5e7a7
22:55 sivoais joined #perl6
22:58 census joined #perl6
23:01 timotimo masak++ # t2 review
23:02 timotimo "because it bleads through into the whole" - probably typo'd "bleeds" here?
23:05 sivoais joined #perl6
23:07 japhb_ The problem with being around punsters all the time is that your sense of spelling goes to hell.
23:15 sivoais joined #perl6
23:20 BenGoldberg rn: my @a = 0; push @a, map 1-*, @a for 1..6; say @a
23:20 camelia rakudo 37c995, niecza v24-37-gf9c8fc2: OUTPUT«0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0␤»
23:21 BenGoldberg Just for fun, how would I make a lazy infinite list similar to that one?
23:22 BenGoldberg (That's the Thue-Morse, in case anyone's curious)
23:22 BenGoldberg (That's the Thue-Morse sequence, in case anyone's curious)
23:25 timotimo you can always gather/take, can't you?
23:25 berekuk joined #perl6
23:28 japhb_ camelia is responding quite slowly; is everyone else trying stuff out?  :-)
23:30 japhb_ r: my @a = 0, -> *@b {map 1-*, @b} ... *; say @a[^50];
23:30 camelia rakudo 37c995: OUTPUT«0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1␤»
23:30 BenGoldberg :)
23:31 [Coke] japhb_++
23:33 japhb_ I find it interesting that the operational part of the infinite stream answer (the part before say) is actually shorter than the finite list code
23:36 timotimo do i see correctly that that sequence just kind of repeats after a pretty shord period?
23:38 BenGoldberg It never repeats exactly
23:39 japhb_ timotimo, I don't see it -- it is tricky on the eye, but so far I'm seeing almost-the-same for 8 or 10 bits and then a missing or flipped bit
23:39 timotimo ah, ok
23:39 timotimo i could just look up the wikipedia article ;)
23:42 berekuk joined #perl6
23:43 japhb_ Wow, that is one cool sequence, for how simply it is defined.
23:45 timotimo it reminds me a bit of how you generate a whatsitcalled code, where going +1 or -1 will always be one bit flipped
23:45 japhb_ The third paragraph in the WP article under "Some properties" reminds me a lot of Penrose tilings ... while non-periodic, any layout of radius R is guaranteed to appear again within a distance of nR (and I think for the classic dart/kite, n == 2?)
23:45 timotimo but that one's made rather recursive
23:48 japhb_ Grey code?
23:49 japhb_ Sorry, Gray Code
23:49 japhb_ I always forget which way his name was spelled
23:50 timotimo i think that's the one, yes
23:50 timotimo you take the sequence so far, prepend it with a 0 and a 1 and flip one of them around i believe
23:59 BenGoldberg Here's another way of generating it
23:59 BenGoldberg r: my @a = 0; @a := map {$_,1-$_}, @a for 1..6; say @a
23:59 camelia rakudo 37c995: OUTPUT«0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0␤»

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

Perl 6 | Reference Documentation | Rakudo | Niecza | Specs