Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2014-04-03

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:02 raiph lue: I'm wondering if the term "NFG" is cute today but...
00:03 BenGoldberg joined #perl6
00:03 lue ...?
00:04 raiph lue: I'll sleep on it and see if I understand why I got confused
00:05 lue raiph: I think I might know what you mean, but I never heard of NFG as anything other "that special Perl 6 NF" until someone pointed out its other meaning. AFAICT no American will get weirded out :)
00:05 * lue afk
00:18 kbaker_ joined #perl6
00:43 Mouq joined #perl6
00:43 Mouq o/
00:44 Mouq Perl 6 feature request: an idiomatic way to iterate over groupings of an array
00:45 Mouq for @array[0..70 X*
00:45 Mouq for @array[0..70 X+ 70*(state$)++] { } is a little clunky :P
00:45 Mouq Err
00:46 Mouq for @array[0...70*(state$)++] { }
00:46 * Mouq keeps messing this up
00:46 Mouq I think the 0..70 X+ 70*(state$)++ was right
00:46 Mouq m: for (1..*)[0..70 X+ 70*(state$)++] { .elems.say }
00:47 camelia rakudo-moar e87281: OUTPUT«1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤1␤…»
00:47 Mouq m: while (1..*)[0..70 X+ 70*(state$)++] { $^l.elems.say }
00:47 camelia rakudo-moar e87281: OUTPUT«(timeout)71␤»
00:48 Mouq m: while (1..*)[^70 X+ 70*(state$)++] { $^l.elems.say } # almost...
00:48 camelia rakudo-moar e87281: OUTPUT«(timeout)70␤»
00:48 Mouq Hm...
00:48 Mouq m: while (1..560)[^70 Z+ 70*(state$)++] { $^l.elems.say } # almost...
00:48 camelia rakudo-moar e87281: OUTPUT«1␤1␤1␤1␤1␤1␤1␤1␤»
00:49 Mouq m: while (1..560)[^70 »+» 70*(state$)++] { $^l.elems.say }
00:49 camelia rakudo-moar e87281: OUTPUT«70␤70␤70␤70␤70␤70␤70␤70␤»
00:49 * Mouq wonders why X+ didn't work…
00:50 Mouq m: say ^70 X+ 70
00:50 camelia rakudo-moar e87281: OUTPUT«70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139␤»
00:50 Mouq m: say ^70 X+ 70*1
00:50 camelia rakudo-moar e87281: OUTPUT«70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139␤»
00:53 Mouq Anyway, a (1..560).group(70) or something would be great, unless there is something like it already that I'm not aware of...
00:56 araujo joined #perl6
01:00 bjz_ joined #perl6
01:26 FROGGS_ joined #perl6
01:32 benabik joined #perl6
01:40 klapperl_ joined #perl6
01:40 lustlife joined #perl6
01:45 xenoterracide joined #perl6
01:57 lue With the way I imagine pack and unpack being defined for Perl 6, I don't think the two functions belong in S32::Str(ingy) anymore...
02:02 dayangkun joined #perl6
02:03 lue (I'm taking the "more human-readable" cue and imagining a pack() and unpack() using adverbs, though it's just an idea right now.)
02:22 colomon adverbs aren't ordered, are they?  they seems like a big problem for pack / unpack.
02:24 lue colomon: yeah. The contents of *%var seem ordered, but that's not reliable.
02:24 lue It's a shame, adverbs feel like the right solution, while some special formatting string feels less so.
02:25 colomon you could maybe do it as a string of methods.
02:26 lue (not to say I'm ruling out the formatting string way, just that I would like something a bit different.)
02:27 xragnar_ joined #perl6
02:47 BenGoldberg Surely it could be colon pairs which look like adverbs?
02:50 lue colon pairs are adverbs :)
02:50 BenGoldberg Hmm
02:51 BenGoldberg Is there any way to prevent adverbs from going into *%var, and force them into @_ ?
02:51 lue nope.
02:52 colomon you could send a list of color pairs
02:52 colomon colon
02:52 colomon m: sub pack(@pairs) { say :@pairs.perl; }; pack((a => 10, b => 20));
02:52 camelia rakudo-moar e87281: OUTPUT«"pairs" => $("a" => 10, "b" => 20)␤»
02:53 colomon but that seems a sort of fragile syntax.
02:58 colomon for something like unpack, I'd love to see "grammars" that work on binary data.
02:59 lue yeah, one of the ideas floating through my head was another language on the braid, but that seems like overkill for two functions.
03:08 hoverboard joined #perl6
03:33 robinsmidsrod joined #perl6
04:01 kaare_ joined #perl6
04:05 kaare__ joined #perl6
04:28 zby_home joined #perl6
04:56 moritz \o
04:58 lue Updated with a hopefully decent description of sprintf:  https://gist.github.com/lue/9941658
05:00 rurban1 joined #perl6
05:07 lue g'night #perl6 o/
05:09 denisboyun joined #perl6
05:13 rurban2 joined #perl6
05:20 kaare__ joined #perl6
05:44 rurban2 joined #perl6
05:49 [Sno] joined #perl6
06:08 jlaire joined #perl6
06:15 darutoko joined #perl6
06:16 telex joined #perl6
06:20 bjz joined #perl6
06:29 kaleem joined #perl6
06:41 FROGGS_ joined #perl6
06:45 rurban1 joined #perl6
06:58 fhelmberger joined #perl6
07:03 bjz joined #perl6
07:04 Woodi morning #perl6 ppls :)
07:05 Woodi thanx FROGGS++ # links and things
07:06 FROGGS Woodi: you're welcome
07:07 hoelzro joined #perl6
07:07 Woodi yesterday I read something about LINQ 4 C++ (article was dated 1st this month) but there was links for some older pages. anyway idea is: a) nice; b) weird...
07:07 yakudza joined #perl6
07:08 arnsholt o/
07:08 Woodi there was pseudocode with select/group/other sql-like things used on native array and that was looking usefull
07:08 FROGGS o/+
07:08 FROGGS -+
07:08 Woodi hallo arnsholt
07:09 Ven Woodi: I think "Microsoft C++" is pretty horrible, tbh :x
07:09 FROGGS I've talked to somebody at the german perl workshop who is interested in querying hashes with sql
07:10 * arnsholt <3 git
07:10 Woodi but "sql inlined" into main language is weird
07:10 zakharyas joined #perl6
07:11 Woodi it's from Web 1.0 times :) php or C mixed with SQL construction
07:11 arnsholt LINQ is pretty awesome, IMO
07:12 Woodi but it is alien language
07:12 arnsholt Since it's actually part of the language, it's properly typed, unlike the stringly typed stuff you end up with in your C/PHP example
07:12 arnsholt Sure, the syntax is a bit funky, but it's just sugar for a normal object-based API under the hood
07:13 arnsholt If you don't like the syntax the functionality is available through method calls as well
07:14 Woodi ok, I just skimmed some examples but it is _other_ language inlined. idea of native operations on data structures has something usefull. I think SQL features should be cherry-picked
07:16 rurban joined #perl6
07:20 Woodi and jnthn idea of anti-sql-injections (and other mini languages) via grammar approach looked interesting too. but active records/data sources are nice. I think that ways can be merged somehow
07:21 FROGGS Woodi: inlined SQL has the benefit that you would have compile time checking of the sql syntax
07:22 Woodi with "prepare", yes
07:23 brrt joined #perl6
07:25 arnsholt With prepare, it's still run-time. With something like LINQ your program won't even compile if there's a mismatch in your "SQL"
07:26 FROGGS WAT
07:26 FROGGS jnthn++ is younger than me??
07:26 Woodi I think it prepare and linq is same functionality... you need supply some user names etc at runtime
07:26 FROGGS what is wrong with this world??
07:26 FROGGS I almost accepted that mst is, but now jnthn?
07:26 FROGGS >.<
07:27 Woodi but linq is safer probably
07:31 Woodi and lizmat was thinking about native-looking arrays with concurrent access, if I understand correctly... on the other hand you sometimes can partition work/matrix parts on threads and then locking is unnecesary. no free lunch, as jnthn++ said, but looking/dreaming for something ideal have bright sides :)
07:44 dalek rakudo/nom: 1bc429c | (Tobias Leich)++ | src/Perl6/World.nqp:
07:44 dalek rakudo/nom: prevent calling getstaticcode on something NQPMu-ish
07:44 dalek rakudo/nom:
07:44 dalek rakudo/nom: On MoarVM we get away with checking for isnull, but this is not enough for
07:44 dalek rakudo/nom: JVM. This unbusts SVG::Plot and Pod::To::HTML. The error is triggered when
07:44 dalek rakudo/nom: we apply a trait to a sub or an Attribute and the module gets precompiled.
07:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1bc429c989
07:45 FROGGS jnthn: sadly, URI is still broken (the lexical access thingy): https://gist.github.com/FROGGS/0ea5537eb675588baaa2
07:46 rurban1 joined #perl6
07:50 dmol joined #perl6
07:51 AW3i joined #perl6
07:53 lizmat FROGGS: about that younger thing?  I have that all the time
07:53 FROGGS lizmat: yes, but...
07:54 lizmat :-)
07:54 lizmat I've been thinking about the sleep sort thing
07:55 lizmat where we would want to have a list of promises be returned in the order that they're kept/broken
07:55 lizmat it feels to me that we would either want to change such a list of promises to a channel, or to a lazy list
07:57 lizmat so I was wondering how this would work:
07:57 lizmat *could
07:57 rurban1 joined #perl6
07:57 lizmat (^10).pick(*),map( { start { sleep $_; $_ } } ).list
07:58 lizmat aka, can we create a MMD candidate with a signature of Array of Promise ?
07:58 virtualsue joined #perl6
07:58 FROGGS I am unable to reply because I do not even touch the surface of this topic
07:58 lizmat without actually needing to create the array
07:59 hummeleB1 joined #perl6
08:01 rurban2 joined #perl6
08:28 lizmat m: my @a = gather for (^10).pick(*) {.take}; say @a  # works nicely
08:28 camelia rakudo-moar e87281: OUTPUT«8 3 6 0 4 7 9 1 5 2␤»
08:29 lizmat m: my @a = gather for (^5).pick(*) { start { sleep $_; .say; .take } }; sleep 6; say @a  # but this doesn't ?
08:29 camelia rakudo-moar e87281: OUTPUT«(signal ABRT)0␤1␤2␤3␤4␤␤»
08:29 lizmat m: my @a = gather for (^3).pick(*) { start { sleep $_; .say; .take } }; sleep 3; say @a  # but this doesn't ?
08:29 camelia rakudo-moar e87281: OUTPUT«(signal ABRT)0␤1␤2␤␤»
08:29 lizmat afk&
08:31 dakkar joined #perl6
08:35 timotimo o/
09:26 FROGGS joined #perl6
09:29 kurahaupo joined #perl6
09:31 sergot hey o/ !
09:32 rurban1 joined #perl6
09:32 FROGGS hey
09:43 AW3i joined #perl6
10:07 timotimo nqp: class Foobar { }; class Foo is Foobar { }; say(nqp::istype(Foo, Foobar));
10:07 camelia nqp-moarvm, nqp-jvm, nqp-parrot: OUTPUT«1␤»
10:10 aborazmeh joined #perl6
10:14 sergot #perl6: I work on a summary of VMs for Perl 6, I want to write a big presentation about this and I need your help! Could you fill this poll: https://gist.github.com/sergot/9951466 ?
10:15 sergot I'd probably extend this poll in the nearest future, but I'll be awesome if you fill it anyway.
10:16 FROGGS sergot: #3 asks about a single VM... is that intentional
10:16 FROGGS ?
10:17 sergot FROGGS++: oh, my fault, thanks!
10:18 sergot fixed
10:21 FROGGS what do you mean by VM btw? do you really mean the thing underneath the compiler?
10:22 sergot I just need some information about VMs like Parrot, Jvm, Moar.
10:22 FROGGS k
10:23 sergot I noticed that Moar is the fastest one, I need information about this too.
10:23 sergot etc.
10:23 sergot :)
10:23 * timotimo forks the gist and fills it in
10:23 sergot timotimo++ thanks! :)
10:25 sergot Generally I want to do a big comparison of VMs, that's why I need those information.
10:41 xinming_ joined #perl6
10:42 SamuraiJack__ joined #perl6
10:46 FROGGS I commented
10:47 bjz joined #perl6
10:49 bjz_ joined #perl6
10:53 timotimo https://gist.github.com/timo/9952041 ← sergot
10:54 Ven "good: it runs everywhere, even on coffeemachines" you did your job FROGGS
10:59 sergot FROGGS++ thanks
10:59 sergot timotimo++ thanks
11:01 Ven IO ~~ :e is for `exists`, right?
11:01 timotimo aye
11:04 Ven I'm happy to have gotten an interest about Perl6 only now, because the project seems to be almost mature enough now (and will look "usable" to most people in 1 or 2 years) :)
11:04 Ven "MoarVM: A metamodel-focused runtime for NQP and Rakudo (YAPC::EU 2013) (Slides)" That was the moarvm announcement ?
11:05 FROGGS Ven: it was announced on the sunday before the YAPC::NA
11:26 rindolf joined #perl6
11:32 yakudza joined #perl6
11:33 rurban1 joined #perl6
11:37 arnsholt Yeah, I remember sitting in the hackathon room that day while scanning my inbox and suddenly going WAAAAAAAT
11:37 FROGGS yeah :o)
11:37 FROGGS been there, done that
11:39 Ven I await for the perl6 conference in france/paris then ;)
11:40 FROGGS my first impression was: ohh no, not another vm from scratch again
11:41 FROGGS but well, it turned out be the best thing that could happen to perl6
11:42 Ven Just wait for Perl6 on the BEAM ;)
11:43 Ven ("that's why they're all talking about actors !")
11:45 FROGGS I am not going to wait for anything :o)
11:46 Ven You're going to be an actor anyway !
11:46 FROGGS hehe
11:48 AW3i joined #perl6
11:49 LLamaRider joined #perl6
12:10 logie__ joined #perl6
12:16 pecastro joined #perl6
12:21 denisboyun joined #perl6
12:21 dalek nqp/execname: 7970930 | (Tobias Leich)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp:
12:21 dalek nqp/execname: implement op execname which returns ARGV[0]
12:21 dalek nqp/execname:
12:21 dalek nqp/execname: This will only get useful when we provide a proper binary for nqp-m and perl6-m
12:21 dalek nqp/execname: review: https://github.com/perl6/nqp/commit/7970930d88
12:23 LLamaRider what was the command to shuffle an array?
12:24 FROGGS pick?
12:25 arnsholt r: @a = [1, 2, 3, 4, 5]; say @a.pick: * # IIRC
12:25 lustlife1 joined #perl6
12:25 camelia rakudo-jvm 1bc429: OUTPUT«(timeout)»
12:25 camelia ..rakudo-parrot 1bc429, rakudo-moar 1bc429: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Variable '@a' is not declaredâ�¤at /tmp/tmpfile:1â�¤------> [32m@a[33mâ��[31m = [1, 2, 3, 4, 5]; say @a.pick: * # IIR[0mâ�¤    expecting any of:â�¤        postfixâ�¤Â»
12:25 arnsholt r: my @a = [1, 2, 3, 4, 5]; say @a.pick: * # IIRC
12:25 arnsholt Durr
12:25 camelia rakudo-parrot 1bc429, rakudo-jvm 1bc429, rakudo-moar 1bc429: OUTPUT«1 2 3 4 5␤»
12:26 LLamaRider pick gives you one, i was looking for something like @a.shuffle that gives me a new array with all elements jumbled up
12:26 sergot r: my @a = [1, 2, 3, 4, 5]; say @a.roll: *
12:27 LLamaRider what does the ": *" syntax mean?
12:27 camelia rakudo-parrot 1bc429, rakudo-jvm 1bc429, rakudo-moar 1bc429: OUTPUT«(timeout)»
12:27 arnsholt Here we go:
12:27 arnsholt r: my @a = (1, 2, 3, 4, 5); say @a.pick(*)
12:27 sergot : my @a = <1, 2, 3, 4, 5>; say @a.pick: *;
12:27 arnsholt It's the whatever star
12:27 camelia rakudo-parrot 1bc429: OUTPUT«4 1 2 5 3␤»
12:27 camelia ..rakudo-moar 1bc429: OUTPUT«3 5 2 1 4␤»
12:27 camelia ..rakudo-jvm 1bc429: OUTPUT«2 1 3 5 4␤»
12:27 LLamaRider r: (^10).pick(*).say;
12:27 camelia rakudo-moar 1bc429: OUTPUT«6 8 7 1 0 3 4 2 9 5␤»
12:28 camelia ..rakudo-parrot 1bc429: OUTPUT«5 0 8 7 9 3 6 1 2 4␤»
12:28 camelia ..rakudo-jvm 1bc429: OUTPUT«7 5 2 6 9 0 8 4 1 3␤»
12:28 LLamaRider got it!
12:28 arnsholt .pick takes an optional argument saying how many times you want to pick. Whatever star means all of the elements
12:28 yoleaux arnsholt: You must provide at least two options.
12:28 LLamaRider arnsholt++ I see, thanks
12:29 arnsholt And .roll does the same, but .roll is with replacement, so you can get the same element several times
12:30 LLamaRider So I tried '(^10000).pick(*).sort;'  . It took 14 seconds in MoarVM :/
12:31 LLamaRider I guess I should give the core team time to do optimizations
12:31 FROGGS LLamaRider: how long does that take on Perl 5?
12:31 LLamaRider FROGGS: Let me write it in P5,
12:31 LLamaRider will get back to you
12:31 FROGGS thanks
12:34 rurban1 joined #perl6
12:34 LLamaRider 0.02 seconds
12:34 arnsholt time perl -MList::Util -E 'sort shuffle(1..9999)' takes 0.012s on my machine
12:34 LLamaRider arnsholt: that's almost exactly the program i am running here too
12:35 lizmat $ time perl6 -e '(^10000).pick(*)'
12:35 lizmat real0m0.971s
12:35 lizmat $ time perl6 -e '(^10000).pick(*).sort'
12:35 lizmat real0m12.024s
12:35 lizmat so it's really the .sort being slow, not the pick(*)
12:36 arnsholt I wonder why sort is so slow
12:36 lizmat compared to each other, not to perl5   :-)
12:37 FROGGS perl6-p is even slower
12:37 FROGGS 41.8s
12:37 arnsholt Is our sort implemented in Perl 6, perhaps?
12:37 rurban2 joined #perl6
12:38 lizmat yes, in src/core/List.pm
12:39 lizmat it first builds a list of values to sort by
12:39 lizmat then sorts those with nqp::p6sort
12:39 lizmat and then slices the list with the ordered indexes
12:40 arnsholt Oh. In that case, I'm guessing it's the slice being slow
12:41 lizmat could well be
12:41 xenoterracide joined #perl6
12:42 lizmat nope
12:42 lizmat $ time perl6 -e 'my @a = (^10000)'
12:42 lizmat real0m0.309s
12:42 lizmat $ time perl6 -e 'my @a = (^10000); @a[^10000]'
12:42 lizmat real0m0.518s
12:42 SamuraiJack__ joined #perl6
12:44 Woodi sorting native type values could be optimized to native sorter...
12:45 Woodi C++ templates comes to mind :)  j/k badly !
12:45 arnsholt Oh, p6sort takes a closure argument. It could just be the invocation overhead of invoking the lambda O(n log n) times
12:45 retupmoca moar precompilation bugs: https://gist.github.com/retupmoca/9953591
12:46 lizmat arnsholt: that seems like a good explanation to me
12:46 retupmoca I now have two of my modules being broken by that bug :/
12:47 retupmoca (when compiled, anyway)
12:48 dalek ecosystem: df9dfb7 | (Andrew Egeler)++ | META.list:
12:48 dalek ecosystem: Add Net::DNS
12:48 dalek ecosystem:
12:48 dalek ecosystem: Simple DNS resolver. Needs refactoring work, better tests, and more DNS
12:48 dalek ecosystem: query/response types, but it's a start!
12:48 dalek ecosystem: review: https://github.com/perl6/ecosystem/commit/df9dfb706d
12:48 LLamaRider Dream: all ground P6 operations should be crazy fast, as near to C speed as possible
12:49 LLamaRider and sort is maybe one of the most obvious ones
12:49 LLamaRider but i also remember reading P6 is not in a stage of optimizing the interpreter yet, so i'll give it a rest for now
12:55 kbaker_ joined #perl6
12:56 FROGGS LLamaRider: look at #moarvm and at GSoC, there is progress
12:57 FROGGS but on the other hand, optimizing precomp bugs that not only retupmoca++ has, is not very helpful
12:58 a3gis joined #perl6
13:00 pdcawley joined #perl6
13:05 Woodi LLamaRider: probably we should stop to comparing scripting languages to C/C++ . until operations on native types will be _native_. for now that are just two different classes of languages   http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?test=all&amp;lang=gcc&amp;lang2=perl&amp;data=u64q
13:07 Woodi btw. do "compilation" means: no any jit required ?
13:11 LLamaRider Woodi: I am aware of that benchmark, we even discussed it with some colleagues recently.
13:12 LLamaRider We kind of had the feeling 10x-30x slower than C is the acceptable range for a scripting language
13:12 Woodi I will be happy with 1% better then perl5 or python :)
13:13 Woodi maybe not happy but content :)
13:13 LLamaRider I would be content with that too, I am using P5 for production already and it's doing great for my nature of work
13:16 colomon retupmoca++ # I'm seeing the same moar precomp bug in ABC
13:19 Woodi LLamaRider: scripting/interpreted languages are good for moust cases. but when company have no money to buy more servers and is starting to cut costs by firing employes then hell gates opens for humans there and you can start to disliking all unnesesary 'interpretations' of native values... then eg. html pages done by plain C programs could help...
13:23 lizmat If a company does not have enough money to buy more servers, and starts firing personnel, get the hell out of there
13:23 lizmat it only means that the company values hardware over people, and that's never good
13:23 lizmat the people of a company should be its greatest asset
13:24 bjz joined #perl6
13:24 AW3i joined #perl6
13:24 retupmoca colomon: I've filed a bug at https://github.com/MoarVM/MoarVM/issues/88 for the time being
13:25 dalek rakudo/nom: 09fbdc7 | (Elizabeth Mattijsen)++ | src/Perl6/Actions.nqp:
13:25 dalek rakudo/nom: Remove unneeded extra level of if
13:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/09fbdc74d0
13:25 retupmoca I don't know if it's moarvm-level, but hopefully that will start a discussion about it at least
13:34 sergot r: pir::time__N()
13:34 camelia rakudo-jvm 1bc429: OUTPUT«(timeout)»
13:34 camelia ..rakudo-parrot 1bc429: ( no output )
13:34 camelia ..rakudo-moar 1bc429: OUTPUT«===SORRY!===␤Error while compiling op call: To compile on the MoarVM backend, QAST::VM must have an alternative 'moar' or 'moarop'␤»
13:34 sergot How can I execute time__N without vm dependency?
13:34 sergot withour pir::, moar:: etc.
13:35 sergot without'
13:39 moritz r: say nqp::time_n()
13:39 camelia rakudo-moar 1bc429: OUTPUT«1396532359.87163␤»
13:39 camelia ..rakudo-jvm 1bc429: OUTPUT«1.39653235921E9␤»
13:39 camelia ..rakudo-parrot 1bc429: OUTPUT«1396532348.73757␤»
13:39 moritz sergot: ^^
13:41 [Coke] lizmat++
13:42 Woodi hmm, nqp and rakudo installs into parrot subdirs. same case with moarvm ?
13:44 a3gis joined #perl6
13:47 lizmat m: winner * { done (Promise.new,Promise.new) {...} }
13:47 camelia rakudo-moar 1bc429: OUTPUT«Type check failed in assignment to '&block'; expected 'Callable' but got 'Promise'␤  in method STORE at src/gen/m-CORE.setting:7092␤  in block  at src/gen/m-CORE.setting:18481␤  in sub WINNER at src/gen/m-CORE.setting:18476␤  in block  at /tmp/lTOg…»
13:48 bluescreen10 joined #perl6
13:48 sergot moritz++: thanks! :)
13:48 lizmat jnthn: I think the above is caused by improper AST setup in src/Perl6/Actions.nqp, line 1369 and following
13:49 lizmat actually it's line 1371, I guess, as that sets up the Promise instead of a Callable in the call to WINNER
13:49 grondilu joined #perl6
13:52 rurban joined #perl6
13:58 Woodi I have 'moar' binary location in patch but nqp configure couldn't find it...
13:58 lizmat jnthn: or maybe I should adapt WINNER to handle the list of Promises case ?
13:58 retupmoca Woodi: it looks for the moar binary in $PREFIX/bin IIRC
13:59 Woodi retupmoca: but I installed parrot and moar in other locations and prefix can point onlyto one :)
13:59 jnap joined #perl6
14:00 retupmoca I think they need to be in the same prefix for nqp. Not sure if you can cheat with 'ln -s' or somesuch
14:04 Woodi I already have some environment polluted with lots of symlinks :) I install packages to some subdirs and then everything is linked to some standard prefix. must see how it will go with more backends then one
14:06 Woodi looks 'nqp-x' naming helped
14:08 Woodi but: perl Configure.pl --backend=parrot  worked without --prefix
14:11 FROGGS there is a default prefix
14:12 FROGGS but yeah, I bet there are a few issues we need to address, not only the directory structure which is put into PEFIX
14:12 FROGGS PREFIX*
14:15 Woodi I installed backends to /some/dir/backend-2014.03  then linked to /opt prefix  and nqp detected parrot without problem. do --prefix for nqp means just: put nqp-x there or something more ?
14:20 Woodi probably I need something like: --parrotlocation= and --moarvmlocation
14:20 FROGGS it puts nqp + modules + libs + headers + docs there
14:20 dalek rakudo-star-daily: 7474dc2 | coke++ | log/ (5 files):
14:20 dalek rakudo-star-daily: today (automated commit)
14:20 dalek rakudo-star-daily: review: https://github.com/coke/rakudo-star-daily/commit/7474dc20d2
14:21 Woodi so only one backend installed at once is allowed ?
14:23 Woodi no, probably it's just in my /opt links case...
14:25 FROGGS I always install all three backends to nqp/install
14:25 FROGGS and that works well
14:28 [Coke] if I add the repository's sha, is it preferred to put it in the .csv ?
14:28 [Coke] er, for perl6-roast-data
14:28 hoverboard joined #perl6
14:29 Ven `CATCH` is basically `given $!`, when I think about it ?
14:31 FROGGS [Coke]: in the MODULES.txt?
14:32 thou joined #perl6
14:32 FROGGS I think you have to
14:34 lizmat jnthn: the problem is actually in line 1370 in src/Perl6/Actions.nqp
14:35 lizmat in the case of "done @p", it seems it pushes all elements of @p as a list, not as an item
14:36 lizmat this causing it to take the wrong element for the block in WINNER, src/core/asyncops.pm line 48
14:37 lizmat so it would seem that we would need to itemize in 1370, and then handle multiple promises in WINNER
14:37 bluescreen100 joined #perl6
14:37 lizmat the latter I can do, the former I'm not sure what to do
14:37 lizmat away for a few hours&
14:37 Ven but `given` should `my`, uh
14:37 Ven r: given 5 { .say; given 1 { .say; }; .say; }
14:37 [Coke] FROGGS: there is no modules text in the perl6-roast-data.
14:38 camelia rakudo-jvm 1bc429: OUTPUT«(timeout)»
14:38 camelia ..rakudo-parrot 1bc429, rakudo-moar 1bc429: OUTPUT«5␤1␤5␤»
14:38 Ven Why does the JVM Timeouts ?!
14:38 FROGGS [Coke]: ahh, I was thinking about star for some reason
14:39 Ven r-j: say "alive"
14:39 FROGGS [Coke]: but yeah, I think it makes sense to know which version was smoked
14:39 camelia rakudo-jvm 1bc429: OUTPUT«(timeout)»
14:39 [Coke] I'm looking at code now wondering "how has this worked for the past few months..."
14:41 camelia joined #perl6
14:41 FROGGS j: say "alive" # the first one will take minutes
14:41 Ven r-j: say "alive"
14:41 Ven I'll get you one day, FROGGS
14:42 camelia rakudo-jvm 1bc429: OUTPUT«(timeout)»
14:42 camelia rakudo-jvm 1bc429: OUTPUT«(timeout)»
14:42 Ven m: say 1
14:42 camelia rakudo-moar 1bc429: OUTPUT«1␤»
14:42 Ven Basically, `try` swallows any exception unless it has a `CATCH` block in it that doesn't catch the exception ?
14:42 Ven Or will it swallow a non-catched exception for a later `CATCH` block ?
14:45 TurkmIRC87578 joined #perl6
14:49 FROGGS j: say 1
14:49 camelia rakudo-jvm 1bc429: OUTPUT«(timeout)»
14:49 FROGGS :o(
14:51 treehug88 joined #perl6
14:56 mmachenry joined #perl6
14:56 moritz j: say 1
14:57 camelia rakudo-jvm 1bc429: OUTPUT«(timeout)»
14:57 salv0 joined #perl6
14:57 btyler joined #perl6
15:00 kaare_ joined #perl6
15:01 Ven `CHECK say now - BEGIN now; ` What is this supposed to do ?
15:02 xfix joined #perl6
15:02 Ven I get that BEGIN now will be calculated when entering the scope, but what's CHECK ?
15:02 Ven Can I do `LEAVE say now - BEGIN now;` in a function ?
15:03 Ven r: sub a { LEAVE say now - BEGIN now; say "hello"; for ^500 {}; }; a();
15:03 camelia rakudo-jvm 1bc429: OUTPUT«hello␤0.958␤»
15:03 camelia ..rakudo-parrot 1bc429: OUTPUT«hello␤0.22373523␤»
15:03 camelia ..rakudo-moar 1bc429: OUTPUT«hello␤0.08899836␤»
15:03 Ven You can see how much faster moar is ..
15:04 [Coke] ok, just adding "impl sha1" to the end of the CSV.
15:05 [Coke] (because re-ordering the columns is a PITA)
15:05 [Coke] should start showing up tomorrow.
15:06 [Coke] was it lue++ who originally asked for that?
15:09 bluescreen100 joined #perl6
15:10 jnthn o/, #perl6
15:12 retupmoca \o
15:12 * jnthn is done with teaching for the day :)
15:26 nwc10 jnthn: time to rehydrate? :-)
15:28 hoelzro ahoy #perl6!
15:29 jnthn nwc10: yeah, kinda debating where to do that
15:29 nwc10 in a place that also sells food? :-)
15:30 moritz oh hai
15:30 jnthn I could go over the sea to the main bit of the city, and find $interesting_bar, but I woke up with a sore foot and then stood on it teaching all day, so the hotel bar (which I believe has some decent things to drink, and nice food) is a tempting option :)
15:30 moritz question for the linguists: are there puns in all human languages?
15:31 jnthn I don't happun to know the answer
15:32 moritz jnthn: I knew there were puns in English, thank you very much :-)
15:40 jnap1 joined #perl6
15:48 kurahaupo joined #perl6
16:09 denis_boyun joined #perl6
16:13 jnap joined #perl6
16:15 Ulti moritz find it hard to imagine a pun in a click language...
16:16 geekosaur don't see why
16:19 [Coke] wow, I have access to another perl bug queue that has 10 year old tickets.
16:19 nwc10 perl5?
16:19 [Coke] (and is not perl5)
16:19 nwc10 qsmtpd?
16:19 Ulti geekosaur because the sounds are kind of more discrete and harder to confuse
16:19 [Coke] aye.
16:19 [Coke] qpsmtpd, whoops.
16:22 dalek perl6-roast-data: 297be1b | coke++ | / (2 files):
16:22 dalek perl6-roast-data: Add the sha1 of the implementation used to test
16:22 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/297be1bfb0
16:31 [Coke] I'll do a fixup on today's commit to make sure the sha1s are there going forward. also, I have no idea how the sha1s were working for the past few months on the roast repo.
16:35 isBEKaml joined #perl6
16:49 rindolf joined #perl6
16:54 guru joined #perl6
16:54 [Sno] joined #perl6
17:13 retupmoca timotimo, *: Imlib2 now builds with this PR applied: https://github.com/mrhdias/perl6-Imlib2/pull/3
17:13 retupmoca some tests fail, but most seem to pass
17:27 SamuraiJack__ joined #perl6
17:27 kaleem joined #perl6
17:27 isBEKaml joined #perl6
17:32 hoverboard joined #perl6
17:44 timotimo \o/
17:45 timotimo for the moment, i only really need to open an image file and get the pixel values
17:47 retupmoca I don't recall offhand which tests were failing, but I *think* that part tested fine
17:47 timotimo great
17:47 timotimo i'm focusing on moarvm bytecode specializing for the moment, though
17:48 retupmoca yes, I'm very excited to see that hit master
17:50 Ven ( timotimo, what's that ? )
17:51 timotimo the bytecode specializer?
17:53 timotimo well, when moarvm considers a piece of bytecode belonging to one particular callsite "hot", it will now use information gathered from the callsite (at run time) to create better bytecode for this particular callsite
17:54 timotimo jnthn already implemented a cache to speed up method lookups if the given type of an argument doesn't change often as well as removing decontainerize operations if it's known that the passed value is already decont'd
17:55 timotimo and he also made an optimization to remove checks for argument counts if the callsite "knows" the amount is correct
17:55 timotimo i extended this argument count check thing to also cover optional arguments and now i'm working on making "istype" extremely cheap for specialized routines/methods
17:58 a3gis joined #perl6
18:01 xinming__ joined #perl6
18:03 timotimo sadly, the spectest suite revealed that the bytecode specializer currently causes trigonometry to no longer work
18:03 benabik tests++
18:06 xfix joined #perl6
18:13 moritz colomon
18:13 moritz erm
18:13 moritz colomon++ # writing most trig tests
18:14 moritz timotimo: do you have any numbers on the speedup?
18:16 nwc10 right now, #11912 :-)
18:16 synopsebot Link: https://rt.perl.org/rt3//Public/Bug/Display.html?id=11912
18:18 jnap joined #perl6
18:28 timotimo moritz: at the moment we specialize after 10 calls, so we end up doing much, much, much more specializing work than would actually pay off
18:29 moritz timotimo: but of course it's easier to test if you specialize more often
18:31 timotimo exactly
18:32 timotimo how do i use valgrind's profiler again?
18:34 timotimo ah
18:34 timotimo there i go
18:37 timotimo i can't open the file valgrind puts out o_O
18:37 timotimo ah, it's empty
18:37 timotimo ... what?
18:37 timotimo oh, duh
18:38 timotimo forgot that perl6-m is a shell script
18:39 timotimo it seems like time spent in the specializer is not that big
18:40 timotimo maybe i'll just do a benchmark run and see where it leads
18:50 lizmat r: sub a { for ^10 { return "foo" if $_ == 9 } }; say a
18:50 camelia rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«foo␤»
18:51 rurban_ joined #perl6
18:51 * lizmat is just checking whether return from a sub from within a loop could be a problem
18:51 timotimo r: sub a { for ^10 { return "foo" when 9 } }; say a
18:51 camelia rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«foo␤»
18:51 timotimo ^ shorter :P
18:51 lizmat true, but not the point  :-)
18:51 lizmat looking at WINNER and wondering why things are set up the way they are
18:52 * lizmat is going to refactor that and hopefully fix winner * { done @p { ... } } on the fly
18:52 jnthn lizmat: (return from within a loop) only if you do something to make the loop lazy
18:53 lizmat ok, I don't think we have any lazy loops inside WINNER
18:54 lizmat specifically trying to get rid of $action = {...}; last } $action()
18:54 timotimo that was for some reason
18:54 bluescreen10 joined #perl6
18:54 timotimo i made that mistake :)
18:55 lizmat ok, lemme see if I can recover that reason  :-)
18:55 jnthn The specializer is relatively fast at what it does
18:56 jnthn But yes, we need more data to tweak the threshold
18:56 jnthn And it wants to be proportional to code size
18:59 btyler joined #perl6
19:03 jnthn lizmat: I think issue is last not being properly lexotic so if $action does a last it terminates le loop.
19:04 lizmat but if the loop would live inside a sub, then we could just return out of it, no ?
19:04 lizmat and simplify the logic in the loop
19:06 arnsholt jnthn: Did you see the sort() slowness in the scrollback? Looks like the invoking the callback argument to p6sort is pretty expensive
19:07 jnthn arnsholt: It *may* be that, but I think it's also because sort does...uh...a few things oddly
19:07 jnthn Like, projecting out the indicses, sorting those, then slicing
19:07 jnthn Which is way too much work to be doing.
19:07 lizmat yeah, why?
19:07 arnsholt Yeah, I was a bit surprised that was what it did, but assumed there was a good reason for it
19:08 lizmat as did I
19:08 jnthn There's no good reason at all on JVM and Moar
19:08 lizmat aha, a parrot leftover then
19:08 jnthn It's a Parrot hangover; it was a way you could use RPA's .sort
19:08 lizmat but if we change it, will it break parrot?
19:08 arnsholt Ooooooh, right
19:08 jnthn lizmat: Yeah but #?if parrot... :)
19:08 lizmat :-)
19:09 timotimo moritz: running some benchmarks now
19:09 timotimo to see if we can already see a difference in run times
19:09 arnsholt Or we could do the NQP #89 work, and remove all uses of RPA from NQP
19:09 jnthn arnsholt: That doesn't really help us here, though.
19:09 jnthn arnsholt: Well, I mean, it may, but...
19:10 jnthn arnsholt: ...it just means we can't use its sort. :)
19:10 jnthn To be honest, I think there's better ways to use time thatn #89
19:10 arnsholt 'k
19:11 arnsholt Completely unrelated: Whoa, MS open-sourcing large parts of .Net? Did not see that coming
19:12 jnthn I didn't see what license yet
19:12 moritz arnsholt: mostly the compiler, not the runtime
19:12 moritz jnthn: apache 2.0
19:12 jnthn But yeah, the Roslyn open source is big news.
19:12 jnthn moritz: wow, that's, like, decent. :)
19:12 moritz jnthn: aye, not some CDDL or microsoft research license thingy
19:13 arnsholt Yeah, when I saw the headline I assumed it'd be MS's shared source licence or whatever, but Apache is pretty impressive
19:13 jnthn One other thing that surprised me is that java.lang.concurrent is in the public domain.
19:13 arnsholt Like, actual open source
19:13 jnthn arnsholt: New CEO for the win, maybe... :)
19:14 arnsholt Perhaps =)
19:15 vendethiel timotimo: (WRT bytecode specializer) actually JITing stuff, looks neat
19:16 timotimo no, JIT comes later :)
19:16 jnthn Well, this is arguably JIT :)
19:16 timotimo er ... i guess
19:16 jnthn Just back to bytecode :)
19:16 benabik What licence is mono?  Can they just start importing big chunks of code now?  :-)
19:16 moritz jnthn: I think that open sourcing something as big as what MS did takes more time for preparation than the new CEO is in office
19:16 jnthn What's important is, it's doing a lot of the decision making a good JIT would.
19:16 denis_boyun_ joined #perl6
19:17 dwarring joined #perl6
19:17 jnthn moritz: Yeah, I suspect so to...
19:17 jnthn moritz: otoh, vetoing it woulda been quick.
19:17 moritz benabik: wikipedia says "MIT, LGPLv2 and GPLv2"
19:18 benabik moritz: I also found http://mono-project.com/FAQ:_Licensing  Turns out the answer depends on which bit of mono.  :-[
19:19 benabik And it turns out mono already ships a fair amount of MS code.
19:20 moritz .oO( stereo licensing for mono )
19:20 benabik moritz: And there’s a little bit of X11 license as well.  O.o
19:21 * benabik should probably read up on the CLR.
19:21 jnthn The CLR is fairly nice, overall.
19:22 benabik Mono on OS X hasn’t really been ideal to work with, and I haven’t really wanted to poke too much at MS’s tech.  But apparently a lot more of it is open than I had realized.
19:22 jnthn benabik: Yeah, it's been gradually opening
19:24 benabik Looks like mono doesn’t need X11 on OS X anymore?
19:25 tokuhirom perl6-m -e 'Thread.new(code => { (1..10).say }).run' cause SEGV..
19:25 jnthn tokuhirom: Yes, exit time is poorly handled and explosive at present.
19:26 tokuhirom oh, i see.
19:26 jnthn tokuhirom: Will get to it shortly.
19:26 tokuhirom :)
19:26 thou joined #perl6
19:26 jnthn m: Thread.new(code => { (1..10).say }).run.finish
19:26 camelia rakudo-moar 09fbdc: OUTPUT«1..10␤»
19:27 tokuhirom oh. i should fix my code
19:31 timotimo first of two benchmark runs done
19:32 timotimo so probably another 20 minutes until we see results
19:40 vendethiel can I just `shell "abc > myfile"` ? What do I remember another syntax ?
19:46 dalek roast: 83f1c30 | (David Warring david.warring@gmail.com)++ | integration/advent2013-day15.t:
19:46 dalek roast: adding advent 2013 day 15
19:46 dalek roast: review: https://github.com/perl6/roast/commit/83f1c308e7
19:46 dalek perl6-roast-data: 0b17734 | coke++ | bin/cull:
19:46 dalek perl6-roast-data: Fix typo, column placement
19:46 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/0b1773483b
19:46 dalek perl6-roast-data: bb66a67 | coke++ | perl6_pass_rates.csv:
19:46 dalek perl6-roast-data: today (automated commit)
19:46 dalek perl6-roast-data: review: https://github.com/coke/perl6-roast-data/commit/bb66a67756
19:47 ssutch joined #perl6
19:48 [Coke] ^^ that has the sha1 from the implementation used to run roast.
19:48 vendethiel r: say 5..1;
19:48 camelia rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«5..1␤»
19:48 vendethiel r: say (5..1).list;
19:48 camelia rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«␤»
19:49 [Coke] huh. https://github.com/coke/perl6-roast-data/blob/master/perl6_pass_rates.csv isn't showing them.
19:49 [Coke] vendethiel: say (1..5).reverse
19:49 [Coke] m: say (1..5).reverse
19:49 camelia rakudo-moar 09fbdc: OUTPUT«5 4 3 2 1␤»
19:49 vendethiel [Coke]: thanks. Kinda "surprising"
19:49 [Coke] m: say 5,4,...1
19:49 camelia rakudo-moar 09fbdc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/CyLX2OMKG3â�¤Comma found before apparent series operator; please remove comma (or put parensâ�¤    around the ... listop, or use 'fail' instead of ...)â�¤at /tmp/CyLX2OMKG3:1â�¤------> [32msay 5,4,…»
19:49 [Coke] m: say 5,4...1
19:49 camelia rakudo-moar 09fbdc: OUTPUT«5 4 3 2 1␤»
19:50 vendethiel yep
19:50 vendethiel r: say (^5).reverse
19:50 japhb_ joined #perl6
19:50 camelia rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«4 3 2 1 0␤»
19:50 vendethiel r: say (^5).map: {*+1}.reverse
19:50 camelia rakudo-parrot 09fbdc: OUTPUT«No such method 'count' for invocant of type 'List'␤  in method reify at gen/parrot/CORE.setting:7466␤  in method reify at gen/parrot/CORE.setting:7381␤  in method reify at gen/parrot/CORE.setting:7381␤  in method reify at gen/parrot/CORE.setting:…»
19:50 camelia ..rakudo-moar 09fbdc: OUTPUT«No such method 'count' for invocant of type 'List'␤  in method reify at src/gen/m-CORE.setting:7521␤  in method reify at src/gen/m-CORE.setting:7432␤  in method reify at src/gen/m-CORE.setting:7432␤  in method reify at src/gen/m-CORE.setting:7432…»
19:50 camelia ..rakudo-jvm 09fbdc: OUTPUT«No such method 'count' for invocant of type 'List'␤  in method reify at gen/jvm/CORE.setting:7462␤  in method reify at gen/jvm/CORE.setting:7373␤  in method reify at gen/jvm/CORE.setting:7373␤  in method reify at gen/jvm/CORE.setting:7373␤  in met…»
19:50 vendethiel r: say (^5).map({*+1}).reverse
19:50 camelia rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«WhateverCode.new() WhateverCode.new() WhateverCode.new() WhateverCode.new() WhateverCode.new()␤»
19:50 vendethiel r: say (^5).map({$_+1}).reverse
19:50 camelia rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«5 4 3 2 1␤»
19:51 vendethiel WHAT DO YOU WANT FROM ME :(
19:51 jnthn .map(*+1) :)
19:53 vendethiel {*+1} is like {{$_+1}} ?
19:53 jnthn Right.
19:59 timotimo the performance different is tiny, but visible
19:59 timotimo and i'm not sure in which direction it points %)
20:01 jnthn We're a bit of work off having it smart enough to really get wins, I think.
20:01 jnthn I measured a small one already in a few informal bits of testing.
20:07 vendethiel r: shell "say $_" for ^5.
20:07 vendethiel r: shell "say $_" for ^5;
20:07 camelia rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/tmpfileâ�¤Confusedâ�¤at /tmp/tmpfile:1â�¤------> [32mshell "say $_" for ^5.[33mâ��[31m<EOL>[0mâ�¤    expecting any of:â�¤        postfixâ�¤        dotty …»
20:07 camelia rakudo-jvm 09fbdc: ( no output )
20:07 camelia ..rakudo-parrot 09fbdc, rakudo-moar 09fbdc: OUTPUT«shell is disallowed in restricted setting␤  in sub restricted at src/RESTRICTED.setting:2␤  in sub shell at src/RESTRICTED.setting:7␤  in block  at /tmp/tmpfile:1␤␤»
20:07 vendethiel jvm isn't restricting shell ?!
20:08 PerlJam maybe it is, but it's not telling you :)
20:08 vendethiel Sneaky
20:11 rindolf joined #perl6
20:16 benabik r-j: say shell ‘echo oops’
20:17 camelia rakudo-jvm 09fbdc: OUTPUT«[31m===[0mSORRY![31m===[0m Error while compiling /tmp/7h4YwS1Ws2â�¤Two terms in a rowâ�¤at /tmp/7h4YwS1Ws2:1â�¤------> [32msay shell [33mâ��[31m‘echo oops’[0mâ�¤    expecting any of:â�¤        argument listâ�¤        prefix or termâ�¤        pre…»
20:17 benabik Bah.
20:17 vendethiel r-j: say shell "echo oops"
20:17 camelia rakudo-jvm 09fbdc: OUTPUT«Proc::Status.new(exit => 0, pid => Any, signal => 0)␤»
20:18 vendethiel r-j: say shell "ls"
20:18 camelia rakudo-jvm 09fbdc: OUTPUT«Proc::Status.new(exit => 0, pid => Any, signal => 0)␤»
20:18 vendethiel doesn't look good anyway. FROGGS ?
20:18 moritz pleaes don't do anything to break rakudo-jvm on camelia
20:18 vendethiel I was there :P
20:19 FROGGS hmmm, I dunno why that says exit 0 :/
20:19 vendethiel 'cause that worked :p ?
20:19 FROGGS :o)
20:19 FROGGS I hope not
20:19 vendethiel try it.
20:20 vendethiel better to see if it's a real problem when you can control it
20:20 moritz it's a limitation of the evalserver setup that camelia uses for perl6-j
20:21 FROGGS vendethiel: yeah, perhaps try it locally
20:22 FROGGS perl6-j -e 'say shell "echo oops"'
20:22 FROGGS oops
20:22 FROGGS Proc::Status.new(exit => 0, pid => Any, signal => 0)
20:36 ssutch joined #perl6
20:44 timotimo https://gist.github.com/timo/96786ad28c974fdaa9d9   \o/
20:48 vendethiel timotimo++
20:48 [Coke] ok. the *CSV has the number, but have to scroll to the right to see the sha1s once it is done rendering.
20:48 [Coke] I will switch this and make the notes the last field, and the sha1 the second to last, so for the common case, no scrolling.
20:48 [Coke] but for now, you can click and hit the -> key
20:51 colomon joined #perl6
20:53 hoverboard joined #perl6
21:04 dwarring masak: I've changed eval(...) => EVAL(...)  http://perl6advent.wordpress.com/2013/12/15/day-15-numbers-and-ways-of-writing-them/
21:07 vendethiel joined #perl6
21:13 vendethiel joined #perl6
21:25 [Coke] moritz: pcre-config on host07 - not installed. any idea how to see what version of pcre is installed there?
21:25 [Coke] (and how to make sure it has UTF support?)
21:26 geekosaur look for libpcre.so.*
21:26 geekosaur (pcre-config would only be installed with a devel package on most linuxes)
21:27 [Coke] /usr/lib/x86_64-linux-gnu/libpcreposix.so.3.13.1
21:27 segomos old
21:29 [Coke] .ask moritz if we can get a recent pcre on host07 with UTF support to try to fix Pugs. Thanks!
21:29 yoleaux [Coke]: I'll pass your message to moritz.
21:38 lizmat r: sub a (*@a) { @a.push: "foo"; say @a }; a <a b>   # this feels wrong
21:38 camelia rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«a b foo␤»
21:38 lizmat should we mark *@a as "is copy" for .push to work on it without problems?
21:39 jnthn lizmat: No, I think it's fine - it's "your" array really
21:41 lizmat ok, just wondering
21:41 lizmat I mean, for scalar we must mark them as "is copy", and their "mine" as well  :-)
21:41 [Coke] r: sub a (@a) { @a.push: "foo"; say @a }; a <a b>
21:41 camelia rakudo-jvm 09fbdc: OUTPUT«Cannot call 'push'; none of these signatures match:␤:(Any:U \SELF: *@values, *%_)␤  in any  at gen/jvm/BOOTSTRAP.nqp:1212␤  in any  at gen/jvm/BOOTSTRAP.nqp:1202␤  in method push at gen/jvm/CORE.setting:1610␤  in sub a at /tmp/tmpfile:1␤  in blo…»
21:41 camelia ..rakudo-parrot 09fbdc: OUTPUT«Cannot call 'push'; none of these signatures match:␤:(Any:U \SELF: *@values, *%_)␤  in any  at gen/parrot/BOOTSTRAP.nqp:1219␤  in any  at gen/parrot/BOOTSTRAP.nqp:1210␤  in method push at gen/parrot/CORE.setting:1614␤  in sub a at /tmp/tmpfile:…»
21:41 camelia ..rakudo-moar 09fbdc: OUTPUT«Cannot call 'push'; none of these signatures match:␤:(Any:U \SELF: *@values, *%_)␤  in method push at src/gen/m-CORE.setting:1610␤  in sub a at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
21:42 lizmat r: sub a ($a) { $a.push: "foo"; say $a }; a [<a b>]
21:42 camelia rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«a b foo␤»
21:42 [Coke] that one bothers me more.
21:43 lizmat r: my $b= [<a b>]; sub a ($a) { $a.push: "foo" }; a $b; say $b  # [Coke] : you mean like this action at a distance ?
21:43 camelia rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«a b foo␤»
21:44 denis_boyun___ joined #perl6
21:45 grondilu joined #perl6
21:49 woolfy1 joined #perl6
21:57 lizmat r: my @b = <a b>; sub a (@a) { @a.push: "foo" }; a @b; say @b   # actually the same with arrays
21:57 camelia rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«a b foo␤»
21:58 lizmat r: my @b = <a b>; sub a (@a) { @a = "foo" }; a @b; say @b   # resetting array at a distance
21:58 camelia rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«foo␤»
21:59 lizmat r: my $b= [<a b>]; sub a ($a) { $a = ["foo"] }; a $b; say $b  # only if we assign to a scalar, we get told we can't
21:59 camelia rakudo-parrot 09fbdc, rakudo-jvm 09fbdc, rakudo-moar 09fbdc: OUTPUT«Cannot assign to a readonly variable or a value␤  in sub a at /tmp/tmpfile:1␤  in block  at /tmp/tmpfile:1␤␤»
22:04 dmol joined #perl6
22:04 DarthGandalf joined #perl6
22:04 dalek nqp/jnthn-lex-loc: 44181ad | jonathan++ | src/NQP/Optimizer.nqp:
22:04 dalek nqp/jnthn-lex-loc: Start recording var decls/usages.
22:04 dalek nqp/jnthn-lex-loc: review: https://github.com/perl6/nqp/commit/44181ada13
22:04 dalek nqp/jnthn-lex-loc: d062aa3 | jonathan++ | src/NQP/Optimizer.nqp:
22:04 dalek nqp/jnthn-lex-loc: Implement lexical => local lowering.
22:04 dalek nqp/jnthn-lex-loc: review: https://github.com/perl6/nqp/commit/d062aa3ca9
22:04 dalek nqp/jnthn-lex-loc: a83cec1 | jonathan++ | src/NQP/Optimizer.nqp:
22:04 dalek nqp/jnthn-lex-loc: Can lower $/ and self also.
22:04 dalek nqp/jnthn-lex-loc: review: https://github.com/perl6/nqp/commit/a83cec12bc
22:08 [Coke] jnthn: poisened -> poisoned, prolly.
22:09 bjz_ joined #perl6
22:09 [Coke] weird that you got it everywhere but the comment. :)
22:09 [Coke] so this is making this block local where possible?
22:09 [Coke] jnthn++
22:09 jnthn [Coke]: yeah :)
22:10 [Coke] jnthn++, continuing to be awesome.
22:10 jnthn [Coke]: Well, not just the block, but the variables.
22:10 jnthn [Coke]: It'll help spesh do its thing on NQP code much better once I get the next round of patches in there.
22:10 jnthn Apart from that'll make it clever enough I'll actually have to imlement deopt.
22:11 jnthn *imlement
22:12 geekosaur an imp stole your p
22:13 geekosaur (or your implement)
22:13 timotimo jnthn: does it already turn blocks into stmts?
22:14 dalek nqp/jnthn-lex-loc: 39e7a00 | jonathan++ | src/NQP/Optimizer.nqp:
22:14 dalek nqp/jnthn-lex-loc: Fix spello; [Coke]++.
22:14 dalek nqp/jnthn-lex-loc: review: https://github.com/perl6/nqp/commit/39e7a006bf
22:15 jnthn timotimo: yes
22:15 bjz joined #perl6
22:17 timotimo that's excellent news :)
22:17 timotimo tested with how many backends so far? :)
22:18 jnthn Moar only.
22:18 timotimo should i test more than just moar?
22:18 jnthn If anybody wants to take up testing this more widely, that'd be wonderful.
22:18 jnthn Yeah, 'cus the optimizer affects all backends.
22:18 jnthn I don't immediately see why it'd break things.
22:18 jnthn But should try on all of them.
22:20 hoverboard joined #perl6
22:20 jnthn If no NQP and Rakudo spectests regressions are observed in any backend, I'm happy for it to be merged
22:22 jnthn Will be away teaching tomorrow, so I won't get to it for a bit.
22:22 jnthn But if somebody else would like to, that's great. :)
22:22 rurban joined #perl6
22:24 jnthn Also a p6bench run for NQP on the various backends before/after this could be wise.
22:24 timotimo Exception in thread "main" org.perl6.nqp.runtime.UnwindException
22:24 telex joined #perl6
22:24 timotimo not quite sure how to interpret and/or fix this
22:26 jnthn :/
22:26 jnthn Me either.
22:26 jnthn Where's that from?
22:27 BenGoldberg joined #perl6
22:29 timotimo ./nqp-j --target=jar --output=NQPP5QRegex.jar \
22:29 timotimo gen/jvm/stage2/NQPP5QRegex.nqp
22:30 timotimo so "first piece of code to translate with the stage1"
22:30 jnthn Try adding --stagestats to see where it blows up
22:31 timotimo will d
22:31 timotimo immediately
22:33 timotimo as in:
22:33 timotimo it dies before it outputs anything
22:33 jnthn ugh :(
22:34 jnthn ok, no idea
22:34 jnthn There's an env var you can set that gives explicit exceptions.
22:34 jnthn (the jvm ones)
22:34 jnthn I need to sleep now
22:34 jnthn 'night
22:35 timotimo okay
22:35 timotimo i'll continue with parrot and moar only
22:41 timotimo Stage parse      : make: *** [CORE.setting.moarvm] Segmentation fault
22:42 denisboyun joined #perl6
22:52 timotimo doesn't crash without spesh branch
22:57 a3gis joined #perl6
22:58 dalek rakudo/nom: 972ef02 | (Elizabeth Mattijsen)++ | src/core/Numeric.pm:
22:58 dalek rakudo/nom: Allow for .sleep on numbers
22:58 dalek rakudo/nom:
22:58 dalek rakudo/nom: Getting tired of typing "sleep $_" all the time, while ".sleep" sits in my fingers
22:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/972ef025ac
22:59 lizmat aka: $ perl6 -e 'say time; $_ = 2; .sleep; say time'
22:59 lizmat 1396565955
22:59 lizmat 1396565957
22:59 lizmat and with that inspiration, I bid you all a good night!
23:00 lizmat git diff
23:04 timotimo was a dumb idea to try to run the spectests with spesh
23:05 timotimo but without spesh i get all except roles/anonymous and the concurrency tests workin'
23:06 timotimo this is more serious, though: Stage parse      : Null PMC access in get_string()
23:10 colomon joined #perl6
23:11 bjz_ joined #perl6
23:18 hoverboard joined #perl6
23:18 xenoterracide joined #perl6
23:28 Khisanth joined #perl6
23:48 xinming_ joined #perl6
23:55 xenoterracide joined #perl6
23:59 colomon joined #perl6

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

Perl 6 | Reference Documentation | Rakudo