Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2012-06-05

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:00 gfldex sunfl0wer: i'm using cygwin, what comes with perl and it works just fine
00:00 gfldex no strawberries needed :)
00:02 sunfl0wer did you downloaded active state perl or built it from source?
00:12 gfldex i did not build anything nor did i download anything by hand
00:12 gfldex it's all done by the cygwin installer
00:28 xdbr joined #perl6
00:31 fgomez joined #perl6
00:32 fgomez joined #perl6
00:41 adu joined #perl6
00:42 dalek niecza/non-bootstrap: 167e80d | sorear++ | lib/CompMgr.cs:
00:42 dalek niecza/non-bootstrap: Port NieczaPathSearch
00:42 dalek niecza/non-bootstrap: review: https://github.com/sorear/niecza/commit/167e80dc2b
01:01 spaceships joined #perl6
01:03 icwiener joined #perl6
01:03 icwiener joined #perl6
01:13 leprevost joined #perl6
01:16 scott_ joined #perl6
01:23 tyatpi joined #perl6
01:40 benabik joined #perl6
01:53 leprevost joined #perl6
02:36 fgomez joined #perl6
02:51 fgomez joined #perl6
02:56 tokuhiro_ joined #perl6
03:15 replore_ joined #perl6
03:33 adu joined #perl6
04:02 benabik joined #perl6
04:27 jonaar88 joined #perl6
04:29 jonaar88 Jonathan 2798A437 add only women of Argentina bbm
04:29 sorear jonaar88: this is not the channel you think it is
04:49 thou joined #perl6
04:55 dalek rakudo/map2: 6119246 | pmichaud++ | src/core/MapIter.pm:
04:55 dalek rakudo/map2: Short-circuit 'redo' label in MapIter.reduce, and start a new branch for the MapIter refactor.
04:55 dalek rakudo/map2: review: https://github.com/rakudo/rakudo/commit/61192461aa
05:02 diakopter pmichaud: prerequisits in rakudo's README
05:03 pmichaud diakopter: ?
05:03 diakopter typo
05:03 pmichaud ah, thanks.
05:04 dalek rakudo/nom: b4a3407 | pmichaud++ | README:
05:04 dalek rakudo/nom: Typo reported by diakopter++:  "prerequisits" -> "prerequisites".
05:04 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b4a3407252
05:05 birdwind1pbird joined #perl6
05:05 birdwindupbird joined #perl6
05:12 GlitchMr joined #perl6
05:21 b1rkh0ff joined #perl6
05:31 moritz \o
05:31 sorear o/ moritz
05:32 dalek rakudo/map2: 87b0441 | pmichaud++ | src/core/ListIter.pm:
05:32 dalek rakudo/map2: Code cleanup: Replace some nqp::ops with things the inliner can now do for us.
05:32 dalek rakudo/map2: review: https://github.com/rakudo/rakudo/commit/87b0441e0f
05:32 dalek rakudo/map2: 42659b1 | pmichaud++ | src/core/ (2 files):
05:32 dalek rakudo/map2: Remove (basically unused) :$sink option to .reify().  Sinks will be refactored somewhat differently.
05:32 dalek rakudo/map2: review: https://github.com/rakudo/rakudo/commit/42659b14e8
05:32 dalek rakudo/map2: 50acb53 | pmichaud++ | src/core/ (4 files):
05:32 dalek rakudo/map2: Refactor $!nextiter handling for List and ListIter.
05:32 dalek rakudo/map2: review: https://github.com/rakudo/rakudo/commit/50acb534d9
05:35 moritz what's the difference between the map and map2 branch?
05:35 pmichaud not much, yes -- but I'm taking a different approach and it was easiest to rebranch from nom than to backtrack in what I had in the 'map' branch locally.
05:35 pmichaud besides, branches are cheap.  :)
05:36 moritz ok
05:36 pmichaud also, rebranching from 'nom' meant not needing to merge latest changes in (not hard, I know... just simpler to rebranch and cherry pick the three commits I wanted.)
05:36 moritz (just asking; I don't have a problem with that approach)
05:36 fgomez joined #perl6
05:38 moritz r: class A { method x() { 'A::x' } }; my $a = A.new does role { method x { 'anon x' } }; say $a.A::x
05:38 p6eval rakudo b4a340: OUTPUT«A::x␤»
05:38 moritz \o/
05:41 Entonian joined #perl6
05:47 jnthn ohhai
05:48 * jnthn just about for a moment or two before going for $teaching
05:52 jnthn pmichaud: I guess you've verified the inliner really does do the things you thing it does?
05:52 jnthn It really should catch those cases, though :)
05:52 pmichaud jnthn: I did verify it, yes.
05:53 pmichaud at least it did it for the short sample program I wrote.
05:53 pmichaud I didn't actually verify it in CORE.setting.pir  :-P
05:53 jnthn CORE.setting is compiled with --optimize=3 :)
05:53 sorear o/
05:54 jnthn So yeah, should work out
05:54 jnthn OK, station... o/
05:54 pmichaud you might like this next commit.  :)
05:55 jnthn I'll read it on le train ;)
05:55 * jnthn hurries off so as not to miss said train
05:55 dalek rakudo/map2: b409b83 | pmichaud++ | src/core/ (2 files):
05:55 dalek rakudo/map2: Refactor NEXT and LAST handling in MapIter ...
05:55 dalek rakudo/map2:
05:55 dalek rakudo/map2: ...because using the 'for' construct inside of MapIter.reify() just
05:55 dalek rakudo/map2: feels so very wrong.
05:55 dalek rakudo/map2: review: https://github.com/rakudo/rakudo/commit/b409b83f5a
05:55 kaleem joined #perl6
06:10 TimToady http://rosettacode.org/wiki/Decision_tables#Perl_6
06:12 pmichaud TimToady: nice, I like it!
06:23 cognominal joined #perl6
06:26 pmichaud need sleep here---bbl
06:26 TimToady o/
06:30 moritz +            my $NEXT    := nqp::can($block, 'fire_phasers')
06:30 moritz +                           && $block.phasers('NEXT');
06:30 moritz shouldn't that be  .fire_phasers('NEXT') ?
06:31 moritz hm, never mind, method phasers exists too
06:31 cognominal_ joined #perl6
06:45 wtw joined #perl6
06:55 eiro hello guys
06:57 eiro tadzik, i tried to install bailador from a fresh rakudo star: https://gist.github.com/2873177
06:58 eiro (once again: i haven't investigated: the perl6 classroom is for my spare time
06:59 eiro cognominal_, i'm blackloging and i don't see cat mentionned on your log: you didn't work with him ?
07:02 brrt joined #perl6
07:02 jnthn pmichaud: Huh, you don't like the strange loopiness of MapIter using for? ;-)
07:08 cognominal_ joined #perl6
07:22 moritz eiro: eeks, that's some precompilation nastiness
07:24 moritz jnthn: at your convenience could you please look at http://irclog.perlgeek.de/perl6/2012-06-04#i_5681130?
07:30 eiro moritz, that's why i test: i have no time to investigate but i don't want those kind of things happens during the fpw. we would avoid the "perl6 not ready" message
07:30 eiro that is marketing
07:31 eiro so ... meeting about "managing changes" now
07:33 dalek roast: f49c463 | moritz++ | S04-statements/repeat.t:
07:33 dalek roast: RT #69178, repeat while plus placeholder
07:33 dalek roast: review: https://github.com/perl6/roast/commit/f49c4636f4
07:34 tadzik eiro: argh
07:34 tadzik eiro: try removing ~/.panda/src and installing again
07:34 tadzik eiro: it might be the case of his non-deterministic compilation
07:38 dalek niecza/non-bootstrap: b08e5f6 | sorear++ | lib/ (3 files):
07:38 dalek niecza/non-bootstrap: Port NieczaCompiler
07:38 dalek niecza/non-bootstrap: review: https://github.com/sorear/niecza/commit/b08e5f6d47
07:50 fhelmberger joined #perl6
07:50 TimToady first whack at http://rosettacode.org/wiki/Sorting_algorithms/Strand_sort#Perl_6
07:51 TimToady still think an M list merge operator would be cool though
07:51 TimToady zzz &
07:54 dalek roast: 672a2e5 | moritz++ | S10-packages/basic.t:
07:54 dalek roast: RT #73328, too late for package form
07:54 dalek roast: review: https://github.com/perl6/roast/commit/672a2e53d9
08:03 dalek roast: 8e9f1ef | moritz++ | S02-names-vars/names.t:
08:03 dalek roast: RT #77006, parsing of "rule => term"
08:03 dalek roast: review: https://github.com/perl6/roast/commit/8e9f1ef89a
08:05 moritz down to 100 testneeded tickets
08:06 sorear \o/
08:23 sorear 'k, I think I have enough of the odds and ends done to start worrying about parsing
08:23 sorear sleep&
08:29 am0c joined #perl6
08:31 dalek roast: 16f1074 | moritz++ | integration/error-reporting.t:
08:31 dalek roast: RT #77736, END blocks should run after die
08:31 dalek roast: review: https://github.com/perl6/roast/commit/16f10740e2
09:34 dalek roast: 8cd7b7f | moritz++ | S09-subscript/slice.t:
09:34 thelazydeveloper joined #perl6
09:34 dalek roast: test RT #108508, repeated slicing with 1..^@a
09:34 dalek roast: review: https://github.com/perl6/roast/commit/8cd7b7fc18
09:54 cognominal_ joined #perl6
10:09 kresike joined #perl6
10:09 kresike hello all you happy perl6 people
10:11 moritz \o kresike
10:12 kresike moritz o/
10:20 dalek rakudo/nom: a441882 | moritz++ | / (2 files):
10:20 dalek rakudo/nom: basic module loading tracing
10:20 dalek rakudo/nom:
10:20 dalek rakudo/nom: enabled with env variable RAKUDO_MODULE_DEBUG=1
10:20 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a441882d2c
10:22 moritz with this thing I can verify that the tests in URI do load .pm modules when precompiled modules exist
10:45 [hds] joined #perl6
10:45 mucker joined #perl6
11:07 fgomez joined #perl6
11:14 JimmyZ_ joined #perl6
11:18 thou joined #perl6
11:38 tadzik gah, again
11:43 moritz I have two local patches that I thought might fix the problem
11:43 moritz it makes it worse :(
11:43 moritz and I don't undertstand why :/
11:44 daxim joined #perl6
11:53 eiro tadzik, it didn't help :)
11:54 moritz tadzik: still Panda::Builder needs to consider 'need' and not only 'use'
12:02 adu joined #perl6
12:03 GlitchMr joined #perl6
12:09 grondilu joined #perl6
12:09 grondilu p6: module A { class Foo {}; sub prefix:<+>(Foo) is export { "This is Foo" } }; say +A::Foo;
12:09 p6eval niecza v18-2-gea3d97a: OUTPUT«Use of uninitialized value in numeric context␤  at /home/p6eval/niecza/lib/CORE.setting line 1262 (warn @ 5) ␤  at /home/p6eval/niecza/lib/CORE.setting line 296 (Any.Numeric @ 8) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.se…
12:09 p6eval ..pugs: OUTPUT«*** ␤    Unexpected ")"␤    expecting word character, "|", ":", "*" or parameter name␤    at /tmp/kg6OKQzUgw line 1, column 44␤»
12:09 p6eval ..rakudo a44188: OUTPUT«use of uninitialized value of type Foo in numeric context  in block <anon> at /tmp/je7ZrGsOyY:1␤␤0␤»
12:10 * grondilu doesn't understand how to export an overloaded operator :(
12:10 mj41 joined #perl6
12:20 JimmyZ_ joined #perl6
12:22 colomon nr: module A { class Foo {}; sub prefix:<+>(Foo) is export { "This is Foo" } }; say +A::Foo.new;
12:22 p6eval rakudo a44188: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \$v, Mu *%_)␤␤  in method Numeric at src/gen/CORE.setting:682␤  in sub prefix:<+> at src/gen/CORE.setting:2261␤  in block <anon> at /tmp/OwefQGFidS:1␤␤»
12:22 p6eval ..niecza v18-2-gea3d97a: OUTPUT«Unhandled exception: Cannot use value like Foo as a number␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /home/p6eval/niecza/lib/CORE.setting line 295 (Any.Numeric @ 6) ␤  at <unknown> line 0 (ExitRunloop @ 0) ␤  at /tmp/Q5rjko2IV3 line 1 (mainline @ 5) ␤  …
12:24 colomon nr: module A { class Foo {}; multi sub prefix:<+>(Foo) is export { "This is Foo" } }; say +A::Foo.new;
12:24 p6eval rakudo a44188: OUTPUT«Cannot call 'Numeric'; none of these signatures match:␤:(Mu:U \$v, Mu *%_)␤␤  in method Numeric at src/gen/CORE.setting:682␤  in sub prefix:<+> at src/gen/CORE.setting:2261␤  in block <anon> at /tmp/UU42jCocLV:1␤␤»
12:24 p6eval ..niecza v18-2-gea3d97a: OUTPUT«Potential difficulties:â�¤  &prefix:<+> is declared but not used at /tmp/acn9etAE4T line 1:â�¤------> [32me A { class Foo {}; multi sub prefix:<+>[33mâ��[31m(Foo) is export { "This is Foo" } }; say[0mâ�¤â�¤Unhandled exception: Cannot use value like Foo as a numbe…
12:25 colomon nr: module A { class Foo { method Numeric() { "This is Foo" }; }; }l say +A::Foo.new;
12:25 p6eval niecza v18-2-gea3d97a: OUTPUT«[31m===[0mSORRY![31m===[0m��Strange text after block (missing comma, semicolon, comment marker?) at /tmp/ljnU0UvKBJ line 1:�------> [32mmethod Numeric() { "This is Foo" }; }; }[33m�[31ml say +A::Foo.new;[0m��Parse failed��»
12:25 p6eval ..rakudo a44188: OUTPUT«===SORRY!===␤Confused␤at /tmp/66rXBSHDPw:1␤»
12:25 skids joined #perl6
12:25 colomon nr: module A { class Foo { method Numeric() { "This is Foo" }; }; }; say +A::Foo.new;
12:25 p6eval rakudo a44188, niecza v18-2-gea3d97a: OUTPUT«This is Foo␤»
12:26 colomon That's arguably the right way to solve the particular problem, but doesn't help if you wanted to export other prefix operators.
12:27 tokuhiro_ joined #perl6
12:30 grondilu How would you implement a modular arithmetic role, for instance?  Something that would be used as such:  my Int $n = 7; $n does modular[11]; use Test; is $n + 5, 2;
12:40 PerlJam wouldn't that be "is $n+5, 1" ?
12:40 PerlJam :)
12:42 grondilu r: say (7 + 5) % 11
12:42 p6eval rakudo a44188: OUTPUT«1␤»
12:42 grondilu indeed :)
12:45 crab2313 joined #perl6
12:46 tyatpi joined #perl6
12:49 kaleem joined #perl6
12:50 moritz r: module A { class Foo { }; sub prefix:<+>(Foo) is export { 'A::Foo' } }; import A; say +A::Foo
12:50 p6eval rakudo a44188: OUTPUT«A::Foo␤»
12:51 [Coke] TimToady: is there a perl that http://rosettacode.org/wiki/Decision_tables#Perl_6 works on yet?
12:53 grondilu r: module A { class Foo {}; sub infix:<+>(Foo, Foo) is export { Foo } }; import A; say A::Foo + A::Foo;
12:53 p6eval rakudo a44188: OUTPUT«Foo()␤»
12:53 crab2313 hello #perl6
12:53 grondilu It was actually quite simple.  I had no idea I had to explicitely say "import A";
12:53 [Coke] crab2313: hey, crabbie.
12:54 timotimo moritz: how come you don't need to specify the infix:<+> as multi in that case?
12:55 moritz timotimo: well, it just overrides the prefix:<+> operator from the setting if it's not a multi
12:55 [Coke] TimToady: ah, niecza.
12:55 moritz timotimo: which is fine for demonstrating, but wouldn't be a good idea otherwise :-)
12:56 PacoAir joined #perl6
12:57 GlitchMr r: module A { class Foo {}; sub infix:<+>(Foo, Foo) is export { Foo } }; import A; say 2 + 3
12:57 p6eval rakudo a44188: OUTPUT«===SORRY!===␤CHECK FAILED:␤Calling 'infix:<+>' will never work with argument types (int, int) (line 1)␤    Expected: :(Foo , Foo )␤»
12:57 GlitchMr r: module A { class Foo {}; multi sub infix:<+>(Foo, Foo) is export { Foo } }; import A; say 2 + 3
12:57 p6eval rakudo a44188: OUTPUT«5␤»
12:58 GlitchMr r: module A { class Foo {}; multi sub infix:<+>(Foo, Foo) is export { Foo } }; import A; say 2 + 3; say A::Foo +A+Foo
12:58 p6eval rakudo a44188: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&Foo' called (line 1)␤»
12:58 GlitchMr r: module A { class Foo {}; multi sub infix:<+>(Foo, Foo) is export { Foo } }; import A; say 2 + 3; say A::Foo +A::Foo
12:58 GlitchMr lol
12:58 p6eval rakudo a44188: OUTPUT«5␤Foo()␤»
13:02 bluescreen10 joined #perl6
13:08 tokuhiro_ joined #perl6
13:08 Psyche^ joined #perl6
13:28 dalek mu: cf222bc | moritz++ | docs/exceptions.pod:
13:28 dalek mu: [docs] add some documentation on how to introduce typed exceptions
13:28 dalek mu: review: https://github.com/perl6/mu/commit/cf222bccab
13:33 JimmyZ_ re: codePointToUtf8
13:33 JimmyZ_ here is one https://github.com/facebook/folly/blob/master/folly/Unicode.cpp
13:40 sergot joined #perl6
13:40 sergot hi o/ :)
13:45 cognominal___ joined #perl6
14:11 [Coke] colomon, sorear: niecza has had 3 failures in spectest for a week or so.
14:22 cognominal joined #perl6
14:35 TimToady [Coke]: it works fine in my rakudo too
14:35 TimToady generally, I 'll put a "works with" if it only works with one of them
14:36 TimToady s:2nd/' '//
14:36 sivoais joined #perl6
14:43 TimToady for example, http://rosettacode.org/wiki/Set_consolidation#Perl_6 has a "works with niecza"
14:45 icwiener joined #perl6
14:51 replore_ joined #perl6
15:08 [Coke] TimToady: I must have an older local rakudo.
15:18 colomon [Coke]: longer than that, even.
15:18 colomon [Coke]: sorry I haven't gotten around to cleaning things up.  though I think sorear and I think at least one of the failures is a spectest error...
15:26 sergot joined #perl6
15:26 * TimToady just updated http://rosettacode.org/wiki/Set_consolidation#Perl_6 to a more sigilless style, which works nicely in this case
15:28 kaare_ joined #perl6
15:29 TimToady also shows interesting use of English this/that
15:30 PerlJam .oO( take this-job && shove it )
15:31 PerlJam sigilless weirds me out still.
15:32 PerlJam (it feels less like Perl without the sigils)
15:33 * colomon is definitely pro-sigil
15:34 isBEKaml joined #perl6
15:36 colomon TimToady: why +(this ∩ that)  ?  (as opposed to this ∩ that)
15:41 timotimo would this ∩ that be evaluated as ?(this ∩ that) in this case?
15:42 kresike bye all
15:43 colomon timotimo: sure, but +(this ∩ that) in an if statement is going to be ?+(this ∩ that) anyway
15:43 colomon (errr... or is ?+ already an operator?)
15:44 colomon at any rate, I would expect it to do the same thing...
15:46 TimToady hmm, actually, it works bare in niecza, but I see I've made it give rakudo indigestion with the sigilless style
15:47 TimToady oh, wait, that one didn't work in rakudo already
15:47 PerlJam rakudo groks ∪ and ∩  ?
15:47 jnthn evening o/
15:48 TimToady PerlJam: no, that's what giving it indigestion
15:48 TimToady okay, is now just: if this ∩ that { this ∪= that }
15:49 colomon \o/
15:49 pmichaud good morning, #perl6
15:49 colomon pmichaud, i/
15:49 colomon errr, o/
15:49 TimToady ö/
15:49 jnthn p/michaud!
15:50 jnthn moritz: +1 to the module tracing (which you've already committed something on; will look at the commit, but the idea is good)
15:51 jnthn moritz: Also good idea to include the module trace info...feels like a contextual perhaps.
16:00 adu morning
16:16 tadzik moritz: I thought I commited that already
16:16 tadzik (panda builder)
16:16 tadzik or maybe I didn't because it didn't help
16:39 tokuhiro_ joined #perl6
17:00 fglock joined #perl6
17:00 moritz tadzik: maybe you comitted, but didn't push
17:01 moritz tadzik: and it doesn't help in the sense that it fixes the problem with URI.pm, but it still is a necessary step
17:02 tadzik probably, yeah
17:05 Chillance joined #perl6
17:06 moritz n: use lib 'lib'; say 'OH HAI';
17:06 p6eval niecza v18-2-gea3d97a: OUTPUT«[31m===[0mSORRY![31m===[0mâ�¤â�¤'use' with arguments NYI at /tmp/vG_AmvT84w line 1:â�¤------> [32muse lib 'lib'[33mâ��[31m; say 'OH HAI';[0mâ�¤â�¤Unhandled exception: Check failedâ�¤â�¤  at /home/p6eval/niecza/boot/lib/CORE.setting line 1401 (die @ 5) â�¤  at /home/p…
17:07 spider-mario joined #perl6
17:07 cognominal_ joined #perl6
17:19 dalek roast: 8380ccf | moritz++ | / (2 files):
17:19 dalek roast: move throws_like to Test::Util
17:19 dalek roast: review: https://github.com/perl6/roast/commit/8380ccfc9d
17:21 moritz [Coke]: ping
17:22 xinming joined #perl6
17:35 PacoAir joined #perl6
17:39 [Coke] moritz: pong
17:40 mucker joined #perl6
17:41 moritz [Coke]: I think I'm finally done with my Hague grant
17:42 moritz [Coke]: how should I proceed?
17:42 tadzik \o/
17:42 tadzik moritz++
17:45 [Coke] moritz: I don't know, grant manager doesn't come with an instruction manual. ;)
17:45 [Coke] step 1: post a status report to your blog.
17:45 [Coke] I'll ping the boss.
17:46 moritz ok
17:46 moritz I promised Karen an updated version of the blog post by Friday anyway
17:46 [Coke] does this include the docS?
17:47 moritz yes
17:47 moritz it turned out not to be too much
17:47 moritz I've written some POD for throws_like in Test::Util
17:47 colomon moritz++
17:47 moritz and some pod for compiler writers
17:48 moritz I'll link to both in the status update
17:50 [Coke] moritz++ # coke will have to double check your work, however.
17:50 moritz sure
17:51 mucker joined #perl6
17:53 mucker joined #perl6
17:54 skids joined #perl6
17:57 mucker joined #perl6
18:04 PacoAir joined #perl6
18:06 [Coke] this reminds me, I'm pretty sure I'm "managing" one of pmichaud's grants, also.
18:09 moritz [Coke]: the one about speccing lists and iterators, right?
18:09 [Coke] moritz: I have no dashboard I can check this on. ;)
18:10 moritz [Coke]: /dev/mem :-)
18:11 [Coke] overflow errors.
18:12 moritz [Coke]: http://news.perlfoundation.org/2010/08/hague-grant-acceptance-lists-i.html ther I helped you :-)
18:14 [Coke] moritz: thanks.
18:14 sorear good * #perl6
18:14 [Coke] pmichaud: can we get a blog post about ^^?
18:15 moritz [Coke]: http://perlgeek.de/blog-en/perl-6/2012-grant-report-final-status-update.html # blug again
18:15 colomon sorear, o/
18:16 [Coke] moritz: NYI... isn't there an exception type for that?
18:16 [Coke] moritz: also, GC has no bearing on Hague grants. it's a strange world.
18:17 moritz [Coke]: there is, but since the spec demands everything to be implemented, we don't become more compliant by throwing typed NYI exceptions
18:17 [Coke] ... then why have NYI exceptions? ;)
18:17 moritz to show off :-)
18:18 moritz well, I can change those NYI to typed if it makes you happy, shouldn't be much work
18:29 GlitchMr perl6: print i
18:29 p6eval pugs: OUTPUT«*** No such subroutine: "&i"␤    at /tmp/jO4sqstA3X line 1, column 7 - line 2, column 1␤»
18:29 p6eval ..rakudo a44188, niecza v18-2-gea3d97a: OUTPUT«0+1i»
18:29 GlitchMr nr: print sqrt -1
18:29 p6eval rakudo a44188, niecza v18-2-gea3d97a: OUTPUT«NaN»
18:30 GlitchMr nr: print sqrt((-1).Comp)
18:30 p6eval rakudo a44188: OUTPUT«No such method 'Comp' for invocant of type 'Int'␤  in block <anon> at /tmp/h0GHeUWLnk:1␤␤»
18:30 p6eval ..niecza v18-2-gea3d97a: OUTPUT«Unhandled exception: Unable to resolve method Comp in type Int␤  at /tmp/IY4i0e5Sib line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3911 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3912 (module-CORE @ 558) ␤  at /home/p6…
18:30 GlitchMr nr: print sqrt((-1).Complex)
18:30 p6eval rakudo a44188: OUTPUT«6.12303176911189e-17+1i»
18:30 p6eval ..niecza v18-2-gea3d97a: OUTPUT«6.1230317691118863E-17+1i»
18:30 GlitchMr 6.12303176911189e-17?
18:30 spider-mario nr: print sqrt (-1+0i)
18:30 p6eval rakudo a44188: OUTPUT«6.12303176911189e-17+1i»
18:30 p6eval ..niecza v18-2-gea3d97a: OUTPUT«6.1230317691118863E-17+1i»
18:30 GlitchMr This sounds like a bug
18:31 spider-mario probably not
18:31 spider-mario well, I’m not a specialist regarding floating-point numbers
18:32 spider-mario but rakudo and niecza having the exact same bug and giving exactly the same value would be a funny coincidence to me
18:32 GlitchMr http://msdn.microsoft.com/en-us/library/system.numerics.complex.aspx
18:32 colomon it's not a bug, it's normal floating point inaccuracy
18:32 GlitchMr http://paste.uk.to/7587c1db
18:33 GlitchMr Even Microsoft is aware of this bug...
18:33 sorear it's not a bug, it'ss normal floating point inaccuracy
18:33 spider-mario they mention 32 bits and IA64,
18:33 spider-mario what about x86-64?
18:33 sorear spider-mario: what about it?
18:34 colomon sorear: stop repeating me with more typos!  ;)
18:34 spider-mario it’s supported by .NET too, is it not?
18:34 sorear yes, but it will exhibit exactly the same behavior
18:34 spider-mario as which one?
18:34 GlitchMr http://stackoverflow.com/questions/6082632/math-cos-math-sin-in-c-sharp
18:34 GlitchMr Interesting...
18:34 spider-mario they don’t give exactly the same value, if you look
18:34 sorear spider-mario: they both give values smaller than 1e-16
18:34 spider-mario after the fifth digit, it is slightly different
18:35 sorear spider-mario: the exact value is unimportant
18:35 spider-mario yes, but I was just curious about that :D
18:35 GlitchMr http://blogs.msdn.com/b/oldnewthing/archive/2004/05/25/141253.aspx
18:37 sorear GlitchMr: spider-mario: http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html READ THIS NOW
18:37 dalek rakudo/nom: 559c402 | moritz++ | / (3 files):
18:37 dalek rakudo/nom: typed NYI exception
18:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/559c402a83
18:37 moritz [Coke]: there, NYI exception is also typed now
18:37 colomon sorear++ # was just looking at that lovely document again myself.
18:38 GlitchMr I know that 0.27814812 cannot be represent exact
18:38 GlitchMr And I know that 0.1 cannot be represented exact too
18:38 spider-mario all of it?
18:38 GlitchMr (but 0.5 can)
18:38 moritz spider-mario: all of it. No mercy.
18:38 spider-mario I already knew that floating-point was the cause of the result we got
18:39 spider-mario and I’m not sure how much more I need to know
18:39 GlitchMr But why 6.1230317691118863E-17 even comes to play before doing anything
18:40 GlitchMr I had 0i, not some very small number of i
18:40 fgomez joined #perl6
18:40 sorear n: CLR::System::Console.WriteLine("{0X}", CLR::System::BitConverter.DoubleToInt64Bits(6.1230317691118863E-17))
18:40 p6eval niecza v18-2-gea3d97a: OUTPUT«[31m===[0mSORRY![31m===[0m��Whitespace is required between alphanumeric tokens at /tmp/scBQvMVeaz line 1:�------> [32mCLR::System::Console.WriteLine("{0[33m�[31mX}", CLR::System::BitConverter.DoubleToI[0m��Bogus term at /tmp/scBQvMVeaz line 1:�-----…
18:40 sorear n: CLR::System::Console.WriteLine('{0X}', CLR::System::BitConverter.DoubleToInt64Bits(6.1230317691118863E-17))
18:40 p6eval niecza v18-2-gea3d97a: OUTPUT«Unhandled exception: CLR objects may not be used directly in safe mode␤  at /tmp/plUQR1o0K9 line 1 (mainline @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3911 (ANON @ 3) ␤  at /home/p6eval/niecza/lib/CORE.setting line 3912 (module-CORE @ 558) ␤  at …
18:40 colomon GlitchMr: how do you think you calculate the square root of a complex number?
18:40 sorear hey, who reenabled safe more
18:40 GlitchMr Wait... sandbox isn't broken?
18:41 GlitchMr I should report a bug... not really
18:41 GlitchMr n: print qx/ls/
18:41 p6eval niecza v18-2-gea3d97a: OUTPUT«boot␤docs␤examples␤FETCH_URL␤lib␤LICENSE␤License-MS-PL.txt␤main.pl␤Makefile␤obj␤p5test␤perf␤perl5␤README.pod␤run␤simple-tests␤src␤t␤test2.pl␤test3.pl␤test.pl␤TODO␤tools␤VERSION␤»
18:41 moritz sorear: if I did it, it was years ago
18:41 GlitchMr ok, it is
18:41 GlitchMr So, is sandbox broken or not?
18:41 spider-mario n: print qx/w/
18:41 p6eval niecza v18-2-gea3d97a: OUTPUT« 20:41:40 up 18 days, 12:35,  0 users,  load average: 0.11, 0.04, 0.01␤USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT␤»
18:41 sorear GlitchMr: please stop talking about the sandbox.
18:42 moritz the first rule of the sandbox is: there is no sandbox
18:42 pmichaud 18:14 <[Coke]> pmichaud: can we get a blog post about ^^?
18:43 pmichaud Sure, can do.  I also sent a message to Karen that contained (among other things) a brief status report; I can send you a more detailed report by way of blog post in the next day or so.
18:43 pmichaud Since I'm refactoring some of the List/map internals now, it's very timely.
18:44 colomon pmichaud++
18:46 moritz pmichaud++
18:46 moritz and [Coke]++ for being our grant manager
18:46 colomon [Coke]++
18:49 [Coke] moritz, colomon, pmichaud: so far, the extent of management here involves Karen occasionally cc'ing me on an email.
18:50 moritz [Coke]: that's fine, it earns you a few ++es :-)
18:50 colomon [Coke]: I know, I almost complimented you on that!
18:50 pmichaud [Coke]: I expect you'll have more to do soon on my grant.  Like, review a report.  :-)
18:52 jnthn Oh...grant report... :)
18:52 moritz jnthn: I think your grant should be done too, no? :-)
18:53 [Coke] SYN04/Phasers could stand to declare what order these are called in, and if multiple phasers of the same type are allowed.
18:53 jnthn moritz: I'm pretty sure it is ;)
18:53 dalek nqp: 52736bc | jnthn++ | src/ops/nqp.ops:
18:53 [Coke] I am pretty sure I am not managing that grant, but honestly, how would I know? ;)
18:53 dalek nqp: Toss old, long-replaced NFA evaluation op now it's eliminated from the stage0.
18:53 dalek nqp: review: https://github.com/perl6/nqp/commit/52736bc5d3
18:54 * moritz rereads http://news.perlfoundation.org/2010/07/hague-grant-application-meta-m.html
18:54 [Coke] (e.g.: can I ahve multiple LEAVES? If so, are they called in order? reverse order?)
18:55 moritz "D5. Finish the pieces needed to enable writing custom meta-classes in
18:55 moritz Rakudo and document how it is to be done."
18:55 jnthn [Coke]: Yes, but only in AUTUMN
18:55 moritz the documentation might need to be done
18:55 moritz r: do { LEAVE say 1; LEAVE say 2 }
18:55 p6eval rakudo a44188: OUTPUT«2␤1␤»
18:55 jnthn I'm pretty sure leave is spec'd are running LIFO
18:55 pmichaud [Coke]: S04:1399  "Apart from C<CATCH> and C<CONTROL>, which can only occur once, most
18:55 pmichaud of these can occur multiple times within the block."
18:56 jnthn moritz: Yeah...I wonder where we would put that
18:56 jnthn moritz: At the moment the best docs are my presentations and reading modules like Grammar::Tracer :)
18:56 moritz jnthn: a section in S12 on that wouldn't hurt
18:56 pmichaud [Coke]: in that same paragraph:
18:57 pmichaud " In general, initializing
18:57 pmichaud phasers execute in order declared, while finalizing phasers execute in
18:57 pmichaud the opposite order.
18:57 pmichaud "
18:58 [Coke] https://gist.github.com/2876962 shows a potential issue with LEAVE in p5 psuedo code. can someone write that so it does the right thing in p6?
18:58 [Coke] pmichaud: ... probably a good idea to move that before the list of phasers, I think.
18:58 jnthn moritz: *nod*
18:59 pmichaud [Coke]: wouldn't that be   LEAVE { if $foo->some_condition { $foo->do_extra_cleanup } } ?
18:59 [Coke] also, there is no indication of which phasers are finalizing. (though LEAVE is implied as one, sure.)
18:59 pmichaud or are you wanting some way to conditionally add a LEAVE phaser?
18:59 [Coke] pmichaud: ah, putting the whole block in the LEAVE works.
19:00 [Coke] it's not what the OP wanted, but it works. ;)
19:00 kurahaupo joined #perl6
19:10 moritz well, we don't generally promise to solve every problem the way people want :-)
19:36 kurahaupo joined #perl6
19:39 birdwindupbird joined #perl6
19:40 dalek nqp: d06828e | jnthn++ | src/ops/nqp.ops:
19:40 dalek nqp: The current fates implementation could sometimes push the same candidate twice. While this wouldn't result in an incorrect parse, it could mean extra wasted work if both had to be called and fail. This fixes it, and also starts tracking how many fate edges we crossed at a given position, to prepare to handle other sorting needs.
19:40 dalek nqp: review: https://github.com/perl6/nqp/commit/d06828e0e8
19:40 dalek nqp: 10994ce | jnthn++ | src/ops/nqp.ops:
19:40 dalek nqp: Prevent trying to allocate zero bytes.
19:40 dalek nqp: review: https://github.com/perl6/nqp/commit/10994ce805
19:42 moritz I'm sure that's at least the 3rd patch in nqp or rakudo that avoids allocating 0 bytes
19:43 pmichaud often if zero bytes are needed, the best solution is not to allocate anything at all, and keep the pointer as null or something.
19:43 jnthn I'm a bit surprised the zero byte case can happen
19:44 jnthn As it means we have an NFA...with no fates.
19:46 moritz would the NFA for <?> or <!> have fates?
19:49 jnthn Ah, a proto with no candidates would do it.
20:03 pmichaud jnthn: is there a pirop for fetching a native lexical?
20:03 jnthn pmichaud: find_lex :)
20:03 pmichaud oh, duh.
20:04 pmichaud I kept looking for a __ suffix.  never mind.
20:06 jnthn ;)
20:10 pmichaud http://gist.github.com/2877497   # preliminary timing of new .map implementation vs existing one on  "for 1..200000 { $i++ }"
20:10 pmichaud (new .map implementation is MapIter2)
20:10 tadzik nice, that's something
20:10 tadzik pmichaud++
20:10 pmichaud yes, seems to be about 33% faster
20:10 pmichaud still a couple of pieces to put in, and some optimizations to try
20:10 tadzik where's this all-time picture of mine..
20:10 jnthn Is that with or without QRPA?
20:11 tadzik http://ragefac.es/154
20:11 pmichaud that's using *one* instance of QRPA
20:11 tadzik there we are
20:11 pmichaud i.e., there are other places where we should be using QRPA but aren't yet.
20:11 jnthn ok
20:11 pmichaud For example, the ListIter code still isn't using any QRPAs yet
20:11 pmichaud that's just using a single QRPA in the MapIter itself
20:11 pmichaud so it should become faster still as I move more things over.
20:15 jnthn Why is the second run a bunch slower than the first run?
20:15 pmichaud I'm not quite sure -- gc/mem allocation speed, I suspect.
20:15 pmichaud Or perhaps the earlier runs aren't releasing everything that they should be.
20:16 pmichaud could be that some closures somewhere are holding on to some largish data structures
20:16 PacoAir joined #perl6
20:19 pmichaud that happens even with just the current head impl, though.
20:20 pmichaud a sequence of four executions of the same 'for' loop:
20:20 pmichaud pmichaud@kiwi:~/p6/rakudo-map2$ ./perl6 mi2
20:20 pmichaud 'for' loop: N=200000 2.63096380233765
20:20 pmichaud 'for' loop: N=200000 2.87784004211426
20:20 pmichaud 'for' loop: N=200000 3.66426587104797
20:20 pmichaud 'for' loop: N=200000 3.20598697662354
20:23 kaare_ joined #perl6
20:26 pmichaud yeah, something somewhere leaks memory
20:30 pmichaud http://gist.github.com/2877603  # program to evoke a memory leak (running from nom head, memory usage steadily increases until termination.)
20:30 pmichaud afk, kid pickup
20:41 alvis joined #perl6
20:51 DreamingInCode joined #perl6
20:52 wooden joined #perl6
20:52 wooden joined #perl6
20:54 s1n joined #perl6
21:01 jrbh joined #perl6
21:05 jarubyh left #perl6
21:09 alester joined #perl6
21:28 libertyprime joined #perl6
21:29 dalek nqp/altnfa: 23b8c3e | moritz++ | tools/build/Makefile.in:
21:29 dalek nqp/altnfa: [build] include @optimize@ in CCFLAGS
21:29 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/23b8c3efc7
21:29 dalek nqp/altnfa: 52736bc | jnthn++ | src/ops/nqp.ops:
21:29 dalek nqp/altnfa: Toss old, long-replaced NFA evaluation op now it's eliminated from the stage0.
21:29 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/52736bc5d3
21:29 dalek nqp/altnfa: d06828e | jnthn++ | src/ops/nqp.ops:
21:29 dalek nqp/altnfa: The current fates implementation could sometimes push the same candidate twice. While this wouldn't result in an incorrect parse, it could mean extra wasted work if both had to be called and fail. This fixes it, and also starts tracking how many fate edges we crossed at a given position, to prepare to handle other sorting needs.
21:29 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/d06828e0e8
21:29 dalek nqp/altnfa: 10994ce | jnthn++ | src/ops/nqp.ops:
21:29 dalek nqp/altnfa: Prevent trying to allocate zero bytes.
21:29 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/10994ce805
21:29 dalek nqp/altnfa: b44ede4 | jnthn++ | src/ops/nqp.ops:
21:29 dalek nqp/altnfa: First crack at trying to consistently get declaration order tie-breaking correct.
21:29 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/b44ede4518
21:29 dalek nqp/altnfa: 59d4cb1 | jnthn++ | / (2 files):
21:29 dalek nqp/altnfa: Merge latest master into altnfa.
21:29 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/59d4cb1aec
21:29 dalek nqp/altnfa: bb9bb79 | jnthn++ | src/ops/nqp.ops:
21:29 dalek nqp/altnfa: If we see a fate a second time, and this offset gets multiple, make sure we include it into the sort.
21:29 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/bb9bb79d0a
21:29 dalek nqp/altnfa: 0a0a2d0 | jnthn++ | src/how/NQPClassHOW.pm:
21:29 dalek nqp/altnfa: Retain order of method addition.
21:29 dalek nqp/altnfa: review: https://github.com/perl6/nqp/commit/0a0a2d0a21
21:30 libertyprime joined #perl6
21:31 libertyprime joined #perl6
21:34 libertyprime joined #perl6
21:37 sorear jnthn: What's so bad about allocating zero bytes?
21:38 libertyprime joined #perl6
21:50 jnthn sorear: It causes Parrot to, er, panic with an out of memory error :)
21:51 jnthn (It does say zero byte allocation too :))
21:53 sorear jnthn: ...okay then
21:56 jnthn sorear: I think the problem is that the C standard doesn't specify the behavior of malloc(0).
21:57 jnthn sorear: And thus NULL is a valid return value for malloc(0)...which can't be distinguished from a failed allocation.
21:59 geekosaur which standard?  there is at least one API which specifies that malloc(0) should return a valid but unusable pointer which can be realloc()ed (hence APIs which treat realloc(0, size) as malloc(size), to try to satisfy multiple APIs)
22:04 sorear an allocation of size zero cannot fail
22:04 sorear even if it returns NULL, that's a valid usable pointer to zero bytes
22:05 jnthn sorear: Well, maybe blowing up on a zero byte allocation was just a silly design decision in Parrot then.
22:06 jnthn I'm more interested in fixing LTM in alternations than worrying about that, though.
22:06 TimToady except on a VAX, where address 0 was typically mapped to real memory that usually contained a 0, and many programs came to depend on that, oops...
22:06 jnthn TimToady: wow :)
22:07 TimToady usually expressed ironically as "All the world's a VAX."
22:08 jnthn The only Vax I ever had access to was the family vacuum cleaner when I was a kid :)
22:08 not_gerd joined #perl6
22:09 not_gerd sorear: malloc(0) can fail on implementations which require a non-NULL return value
22:09 not_gerd geekosaur: both free() and realloc() are NULL-safe already in C90
22:10 dalek rakudo/map2: 9238ead | pmichaud++ | src/ (2 files):
22:10 dalek rakudo/map2: Use nqp::istype and nqp::islist from NQP; update DUMP to recognize QRPA.
22:10 dalek rakudo/map2: review: https://github.com/rakudo/rakudo/commit/9238ead35f
22:13 sergot good night! o/
22:33 pupoque joined #perl6
22:35 stephenlb joined #perl6
22:39 corburn joined #perl6
22:53 whiteknight joined #perl6
23:06 tyatpi joined #perl6
23:06 wknight8111 joined #perl6
23:07 not_gerd left #perl6
23:12 * jnthn -> sleep
23:17 libertyprime joined #perl6
23:49 kurahaupo joined #perl6

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

Perl 6 | Reference Documentation | Rakudo