»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg p6eval perl6: ... | irclog: irc.perl6.org/ | UTF-8 is our friend!
Set by sorear on 4 February 2011.
gfldex sunfl0wer: i'm using cygwin, what comes with perl and it works just fine 00:00
no strawberries needed :)
sunfl0wer did you downloaded active state perl or built it from source? 00:02
00:03 Chillance left 00:09 cognominal left
gfldex i did not build anything nor did i download anything by hand 00:12
it's all done by the cygwin installer
00:14 spaceships left 00:17 adu left 00:22 fgomez left 00:28 xdbr left, xdbr joined 00:31 fgomez joined 00:32 fgomez left, fgomez joined 00:41 adu joined
dalek ecza/non-bootstrap: 167e80d | sorear++ | lib/CompMgr.cs:
Port NieczaPathSearch
00:42
00:48 adu left 00:51 icwiener left 01:01 spaceships joined 01:03 icwiener joined, icwiener left, icwiener joined 01:06 thelazydeveloper left 01:11 Guest17126 left 01:13 leprevost joined 01:16 scott_ joined, scott_ is now known as Guest55128 01:23 tyatpi joined 01:39 benabik left 01:40 benabik joined, leprevost left 01:52 mucker left 01:53 leprevost joined 02:04 icwiener left 02:07 pat_js left 02:27 spaceships left 02:28 fgomez left 02:30 vlixes left 02:36 fgomez joined 02:50 fgomez left 02:51 fgomez joined 02:55 tokuhiro_ left 02:56 tokuhiro_ joined 03:00 tokuhiro_ left 03:02 sunfl0wer left 03:15 replore_ joined 03:33 adu joined 04:01 benabik left 04:02 benabik joined 04:27 jonaar88 joined
jonaar88 Jonathan 2798A437 add only women of Argentina bbm 04:29
sorear jonaar88: this is not the channel you think it is
04:30 ChanServ sets mode: +o sorear 04:32 jonaar88 left, sorear sets mode: -o sorear 04:49 thou joined 04:55 thou left
dalek kudo/map2: 6119246 | pmichaud++ | src/core/MapIter.pm:
Short-circuit 'redo' label in MapIter.reduce, and start a new branch for the MapIter refactor.
04:55
diakopter pmichaud: prerequisits in rakudo's README 05:02
pmichaud diakopter: ? 05:03
diakopter typo
pmichaud ah, thanks.
dalek kudo/nom: b4a3407 | pmichaud++ | README:
Typo reported by diakopter++: "prerequisits" -> "prerequisites".
05:04
05:05 birdwind1pbird joined, birdwindupbird joined 05:07 b1rkh0ff left 05:12 GlitchMr joined 05:21 b1rkh0ff joined
moritz \o 05:31
sorear o/ moritz
dalek kudo/map2: 87b0441 | pmichaud++ | src/core/ListIter.pm:
Code cleanup: Replace some nqp::ops with things the inliner can now do for us.
05:32
kudo/map2: 42659b1 | pmichaud++ | src/core/ (2 files):
Remove (basically unused) :$sink option to .reify(). Sinks will be refactored somewhat differently.
kudo/map2: 50acb53 | pmichaud++ | src/core/ (4 files):
Refactor $!nextiter handling for List and ListIter.
05:32 leprevost left
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.
besides, branches are cheap. :)
05:36 fgomez left
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.)
moritz (just asking; I don't have a problem with that approach)
05:36 fgomez joined
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␤»
moritz \o/
05:41 Entonian joined, Entonian left
jnthn ohhai 05:47
jnthn just about for a moment or two before going for $teaching 05:48
05:48 am0c left
jnthn pmichaud: I guess you've verified the inliner really does do the things you thing it does? 05:52
It really should catch those cases, though :)
pmichaud jnthn: I did verify it, yes.
at least it did it for the short sample program I wrote. 05:53
I didn't actually verify it in CORE.setting.pir :-P
jnthn CORE.setting is compiled with --optimize=3 :)
sorear o/
jnthn So yeah, should work out 05:54
OK, station... o/
pmichaud you might like this next commit. :)
jnthn I'll read it on le train ;) 05:55
jnthn hurries off so as not to miss said train
dalek kudo/map2: b409b83 | pmichaud++ | src/core/ (2 files):
Refactor NEXT and LAST handling in MapIter ...

  ...because using the 'for' construct inside of MapIter.reify() just
feels so very wrong.
05:55 kaleem joined 05:57 adu left
TimToady rosettacode.org/wiki/Decision_tables#Perl_6 06:10
pmichaud TimToady: nice, I like it! 06:12
06:23 cognominal joined 06:25 GlitchMr left
pmichaud need sleep here---bbl 06:26
TimToady o/
moritz + my $NEXT := nqp::can($block, 'fire_phasers') 06:30
+ && $block.phasers('NEXT');
shouldn't that be .fire_phasers('NEXT') ?
hm, never mind, method phasers exists too 06:31
06:31 cognominal_ joined 06:34 cognominal left 06:45 wtw joined
eiro hello guys 06:55
tadzik, i tried to install bailador from a fresh rakudo star: gist.github.com/2873177 06:57
(once again: i haven't investigated: the perl6 classroom is for my spare time 06:58
cognominal_, i'm blackloging and i don't see cat mentionned on your log: you didn't work with him ? 06:59
07:02 brrt joined
jnthn pmichaud: Huh, you don't like the strange loopiness of MapIter using for? ;-) 07:02
07:08 cognominal_ left, cognominal_ joined
moritz eiro: eeks, that's some precompilation nastiness 07:22
07:22 replore_ left
moritz jnthn: at your convenience could you please look at irclog.perlgeek.de/perl6/2012-06-04#i_5681130? 07:24
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
that is marketing
so ... meeting about "managing changes" now 07:31
dalek ast: f49c463 | moritz++ | S04-statements/repeat.t:
RT #69178, repeat while plus placeholder
07:33
tadzik eiro: argh 07:34
eiro: try removing ~/.panda/src and installing again
eiro: it might be the case of his non-deterministic compilation
07:38 pupoque left
dalek ecza/non-bootstrap: b08e5f6 | sorear++ | lib/ (3 files):
Port NieczaCompiler
07:38
07:50 fhelmberger joined
TimToady first whack at rosettacode.org/wiki/Sorting_algori...ort#Perl_6 07:50
still think an M list merge operator would be cool though 07:51
zzz &
07:54 fgomez left
dalek ast: 672a2e5 | moritz++ | S10-packages/basic.t:
RT #73328, too late for package form
07:54
ast: 8e9f1ef | moritz++ | S02-names-vars/names.t:
RT #77006, parsing of "rule => term"
08:03
moritz down to 100 testneeded tickets 08:05
sorear \o/ 08:06
'k, I think I have enough of the odds and ends done to start worrying about parsing 08:23
sleep&
08:29 am0c joined
dalek ast: 16f1074 | moritz++ | integration/error-reporting.t:
RT #77736, END blocks should run after die
08:31
ast: 8cd7b7f | moritz++ | S09-subscript/slice.t:
test RT #108508, repeated slicing with 1..^@a
09:34
09:34 thelazydeveloper joined
09:54 cognominal_ left, cognominal_ joined 10:09 kresike joined
kresike hello all you happy perl6 people 10:09
moritz \o kresike 10:11
kresike moritz o/ 10:12
dalek kudo/nom: a441882 | moritz++ | / (2 files):
basic module loading tracing

enabled with env variable RAKUDO_MODULE_DEBUG=1
10:20
10:20 kboga left
moritz with this thing I can verify that the tests in URI do load .pm modules when precompiled modules exist 10:22
10:45 [hds] joined, mucker joined 10:55 Guest55128 left 11:07 fgomez joined 11:14 JimmyZ_ joined 11:18 thou joined 11:22 birdwind1pbird left 11:26 birdwindupbird left 11:37 mj41_ left
tadzik gah, again 11:38
moritz I have two local patches that I thought might fix the problem 11:43
it makes it worse :(
and I don't undertstand why :/
11:44 daxim joined 11:46 mucker left
eiro tadzik, it didn't help :) 11:53
moritz tadzik: still Panda::Builder needs to consider 'need' and not only 'use' 11:54
11:57 skids left 12:01 kurahaupo left 12:02 adu joined 12:03 GlitchMr joined 12:09 grondilu joined
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…
..pugs: OUTPUT«*** ␤ Unexpected ")"␤ expecting word character, "|", ":", "*" or parameter name␤ at /tmp/kg6OKQzUgw line 1, column 44␤»
..rakudo a44188: OUTPUT«use of uninitialized value of type Foo in numeric context in block <anon> at /tmp/je7ZrGsOyY:1␤␤0␤»
grondilu doesn't understand how to export an overloaded operator :( 12:10
12:10 mj41 joined 12:18 JimmyZ_ left 12:20 JimmyZ_ joined, am0c left
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␤␤»
..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) ␤ …
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␤␤»
..niecza v18-2-gea3d97a: OUTPUT«Potential difficulties:␤ &prefix:<+> is declared but not used at /tmp/acn9etAE4T line 1:␤------> e A { class Foo {}; multi sub prefix:<+>⏏(Foo) is export { "This is Foo" } }; say␤␤Unhandled exception: Cannot use value like Foo as a numbe…
colomon nr: module A { class Foo { method Numeric() { "This is Foo" }; }; }l say +A::Foo.new; 12:25
p6eval niecza v18-2-gea3d97a: OUTPUT«===SORRY!===␤␤Strange text after block (missing comma, semicolon, comment marker?) at /tmp/ljnU0UvKBJ line 1:␤------> method Numeric() { "This is Foo" }; }; }⏏l say +A::Foo.new;␤␤Parse failed␤␤»
..rakudo a44188: OUTPUT«===SORRY!===␤Confused␤at /tmp/66rXBSHDPw:1␤»
12:25 skids joined
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␤»
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:26
12:27 tokuhiro_ joined 12:28 kaleem left
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:30
PerlJam wouldn't that be "is $n+5, 1" ? 12:40
:)
grondilu r: say (7 + 5) % 11 12:42
p6eval rakudo a44188: OUTPUT«1␤»
grondilu indeed :)
12:44 tyatpi left 12:45 crab2313 joined 12:46 tyatpi joined 12:49 kaleem joined
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␤»
[Coke] TimToady: is there a perl that rosettacode.org/wiki/Decision_tables#Perl_6 works on yet? 12:51
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()␤»
crab2313 hello #perl6
grondilu It was actually quite simple. I had no idea I had to explicitely say "import A";
[Coke] crab2313: hey, crabbie.
timotimo moritz: how come you don't need to specify the infix:<+> as multi in that case? 12:54
moritz timotimo: well, it just overrides the prefix:<+> operator from the setting if it's not a multi 12:55
[Coke] TimToady: ah, niecza.
moritz timotimo: which is fine for demonstrating, but wouldn't be a good idea otherwise :-)
12:56 PacoAir joined
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 )␤»
GlitchMr r: module A { class Foo {}; multi sub infix:<+>(Foo, Foo) is export { Foo } }; import A; say 2 + 3
p6eval rakudo a44188: OUTPUT«5␤»
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)␤»
GlitchMr r: module A { class Foo {}; multi sub infix:<+>(Foo, Foo) is export { Foo } }; import A; say 2 + 3; say A::Foo +A::Foo
lol
p6eval rakudo a44188: OUTPUT«5␤Foo()␤»
13:02 bluescreen10 joined 13:07 tokuhiro_ left 13:08 tokuhiro_ joined, Patterner left, Psyche^ joined, Psyche^ is now known as Patterner 13:12 tokuhiro_ left 13:22 grondilu left
dalek : cf222bc | moritz++ | docs/exceptions.pod:
[docs] add some documentation on how to introduce typed exceptions
13:28
JimmyZ_ re: codePointToUtf8 13:33
here is one github.com/facebook/folly/blob/mas...nicode.cpp
13:40 sergot joined
sergot hi o/ :) 13:40
13:40 [hds] left 13:45 cognominal___ joined 13:48 cognominal_ left 14:10 skids left
[Coke] colomon, sorear: niecza has had 3 failures in spectest for a week or so. 14:11
14:21 cognominal___ left 14:22 cognominal joined 14:33 sivoais left
TimToady [Coke]: it works fine in my rakudo too 14:35
generally, I 'll put a "works with" if it only works with one of them
s:2nd/' '// 14:36
14:36 sivoais joined
TimToady for example, rosettacode.org/wiki/Set_consolidation#Perl_6 has a "works with niecza" 14:43
14:45 icwiener joined 14:51 replore_ joined 14:53 wtw left
[Coke] TimToady: I must have an older local rakudo. 15:08
15:10 sergot left
colomon [Coke]: longer than that, even. 15:18
[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
TimToady just updated rosettacode.org/wiki/Set_consolidation#Perl_6 to a more sigilless style, which works nicely in this case 15:26
15:28 kaare_ joined
TimToady also shows interesting use of English this/that 15:29
PerlJam
.oO( take this-job && shove it )
15:30
sigilless weirds me out still. 15:31
(it feels less like Perl without the sigils) 15:32
colomon is definitely pro-sigil 15:33
15:34 isBEKaml joined
colomon TimToady: why +(this ∩ that) ? (as opposed to this ∩ that) 15:36
timotimo would this ∩ that be evaluated as ?(this ∩ that) in this case? 15:41
kresike bye all 15:42
15:42 kresike left
colomon timotimo: sure, but +(this ∩ that) in an if statement is going to be ?+(this ∩ that) anyway 15:43
(errr... or is ?+ already an operator?)
at any rate, I would expect it to do the same thing... 15:44
TimToady hmm, actually, it works bare in niecza, but I see I've made it give rakudo indigestion with the sigilless style 15:46
oh, wait, that one didn't work in rakudo already 15:47
PerlJam rakudo groks ∪ and ∩ ?
jnthn evening o/
TimToady PerlJam: no, that's what giving it indigestion 15:48
okay, is now just: if this ∩ that { this ∪= that }
colomon \o/ 15:49
pmichaud good morning, #perl6
colomon pmichaud, i/
errr, o/
TimToady ö/
jnthn p/michaud!
moritz: +1 to the module tracing (which you've already committed something on; will look at the commit, but the idea is good) 15:50
moritz: Also good idea to include the module trace info...feels like a contextual perhaps. 15:51
adu morning 16:00
16:05 kaleem left 16:07 brrt left, JimmyZ_ left
tadzik moritz: I thought I commited that already 16:16
(panda builder)
or maybe I didn't because it didn't help
16:37 daxim left 16:39 tokuhiro_ joined 17:00 fglock joined
moritz tadzik: maybe you comitted, but didn't push 17:00
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:01
tadzik probably, yeah 17:02
17:05 Chillance joined
moritz n: use lib 'lib'; say 'OH HAI'; 17:06
p6eval niecza v18-2-gea3d97a: OUTPUT«===SORRY!===␤␤'use' with arguments NYI at /tmp/vG_AmvT84w line 1:␤------> use lib 'lib'⏏; say 'OH HAI';␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1401 (die @ 5) ␤ at /home/p…
17:07 spider-mario joined, cognominal_ joined 17:10 crab2313 left, cognominal left
dalek ast: 8380ccf | moritz++ | / (2 files):
move throws_like to Test::Util
17:19
moritz [Coke]: ping 17:21
17:22 xinming joined 17:25 xinming_ left 17:27 PacoAir left 17:35 PacoAir joined
[Coke] moritz: pong 17:39
17:40 PacoAir left, mucker joined
moritz [Coke]: I think I'm finally done with my Hague grant 17:41
[Coke]: how should I proceed? 17:42
tadzik \o/
moritz++
[Coke] moritz: I don't know, grant manager doesn't come with an instruction manual. ;) 17:45
step 1: post a status report to your blog.
I'll ping the boss.
moritz ok 17:46
I promised Karen an updated version of the blog post by Friday anyway
[Coke] does this include the docS? 17:47
moritz yes
it turned out not to be too much
I've written some POD for throws_like in Test::Util
colomon moritz++
moritz and some pod for compiler writers
I'll link to both in the status update 17:48
17:48 mucker left
[Coke] moritz++ # coke will have to double check your work, however. 17:50
moritz sure
17:51 mucker joined 17:52 mucker left 17:53 mucker joined 17:54 skids joined 17:57 mucker left, mucker joined 17:59 tokuhiro_ left 18:04 PacoAir joined
[Coke] this reminds me, I'm pretty sure I'm "managing" one of pmichaud's grants, also. 18:06
moritz [Coke]: the one about speccing lists and iterators, right? 18:09
[Coke] moritz: I have no dashboard I can check this on. ;)
moritz [Coke]: /dev/mem :-) 18:10
[Coke] overflow errors. 18:11
18:12 fhelmberger left
moritz [Coke]: news.perlfoundation.org/2010/08/hag...sts-i.html ther I helped you :-) 18:12
[Coke] moritz: thanks. 18:14
sorear good * #perl6
[Coke] pmichaud: can we get a blog post about ^^?
moritz [Coke]: perlgeek.de/blog-en/perl-6/2012-gra...pdate.html # blug again 18:15
colomon sorear, o/ 18:16
[Coke] moritz: NYI... isn't there an exception type for that?
moritz: also, GC has no bearing on Hague grants. it's a strange world.
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? ;)
moritz to show off :-)
well, I can change those NYI to typed if it makes you happy, shouldn't be much work 18:18
GlitchMr perl6: print i 18:29
p6eval pugs: OUTPUT«*** No such subroutine: "&i"␤ at /tmp/jO4sqstA3X line 1, column 7 - line 2, column 1␤»
..rakudo a44188, niecza v18-2-gea3d97a: OUTPUT«0+1i»
GlitchMr nr: print sqrt -1
p6eval rakudo a44188, niecza v18-2-gea3d97a: OUTPUT«NaN»
18:30 fgomez left
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␤␤»
..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…
GlitchMr nr: print sqrt((-1).Complex)
p6eval rakudo a44188: OUTPUT«6.12303176911189e-17+1i»
..niecza v18-2-gea3d97a: OUTPUT«6.1230317691118863E-17+1i»
GlitchMr 6.12303176911189e-17?
spider-mario nr: print sqrt (-1+0i)
p6eval rakudo a44188: OUTPUT«6.12303176911189e-17+1i»
..niecza v18-2-gea3d97a: OUTPUT«6.1230317691118863E-17+1i»
GlitchMr This sounds like a bug
spider-mario probably not 18:31
well, I’m not a specialist regarding floating-point numbers
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 msdn.microsoft.com/en-us/library/sy...mplex.aspx
colomon it's not a bug, it's normal floating point inaccuracy
GlitchMr paste.uk.to/7587c1db
Even Microsoft is aware of this bug... 18:33
sorear it's not a bug, it'ss normal floating point inaccuracy
spider-mario they mention 32 bits and IA64,
what about x86-64?
sorear spider-mario: what about it?
colomon sorear: stop repeating me with more typos! ;) 18:34
spider-mario it’s supported by .NET too, is it not?
sorear yes, but it will exhibit exactly the same behavior
spider-mario as which one?
GlitchMr stackoverflow.com/questions/6082632...in-c-sharp
Interesting...
spider-mario they don’t give exactly the same value, if you look
18:34 replore_ left
sorear spider-mario: they both give values smaller than 1e-16 18:34
spider-mario after the fifth digit, it is slightly different
sorear spider-mario: the exact value is unimportant 18:35
spider-mario yes, but I was just curious about that :D
GlitchMr blogs.msdn.com/b/oldnewthing/archiv...41253.aspx
sorear GlitchMr: spider-mario: docs.oracle.com/cd/E19957-01/806-35...dberg.html READ THIS NOW 18:37
dalek kudo/nom: 559c402 | moritz++ | / (3 files):
typed NYI exception
moritz [Coke]: there, NYI exception is also typed now
colomon sorear++ # was just looking at that lovely document again myself.
GlitchMr I know that 0.27814812 cannot be represent exact 18:38
And I know that 0.1 cannot be represented exact too
spider-mario all of it?
GlitchMr (but 0.5 can)
moritz spider-mario: all of it. No mercy.
spider-mario I already knew that floating-point was the cause of the result we got
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
I had 0i, not some very small number of i 18:40
18:40 fgomez joined
sorear n: CLR::System::Console.WriteLine("{0X}", CLR::System::BitConverter.DoubleToInt64Bits(6.1230317691118863E-17)) 18:40
p6eval niecza v18-2-gea3d97a: OUTPUT«===SORRY!===␤␤Whitespace is required between alphanumeric tokens at /tmp/scBQvMVeaz line 1:␤------> CLR::System::Console.WriteLine("{0⏏X}", CLR::System::BitConverter.DoubleToI␤␤Bogus term at /tmp/scBQvMVeaz line 1:␤-----…
sorear n: CLR::System::Console.WriteLine('{0X}', CLR::System::BitConverter.DoubleToInt64Bits(6.1230317691118863E-17))
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 …
colomon GlitchMr: how do you think you calculate the square root of a complex number?
sorear hey, who reenabled safe more
GlitchMr Wait... sandbox isn't broken?
I should report a bug... not really 18:41
n: print qx/ls/
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␤»
moritz sorear: if I did it, it was years ago
GlitchMr ok, it is
So, is sandbox broken or not?
spider-mario n: print qx/w/
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␤»
sorear GlitchMr: please stop talking about the sandbox.
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 ^^?
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
Since I'm refactoring some of the List/map internals now, it's very timely.
colomon pmichaud++ 18:44
moritz pmichaud++ 18:46
and [Coke]++ for being our grant manager
colomon [Coke]++
[Coke] moritz, colomon, pmichaud: so far, the extent of management here involves Karen occasionally cc'ing me on an email. 18:49
moritz [Coke]: that's fine, it earns you a few ++es :-) 18:50
colomon [Coke]: I know, I almost complimented you on that!
pmichaud [Coke]: I expect you'll have more to do soon on my grant. Like, review a report. :-)
jnthn Oh...grant report... :) 18:52
moritz jnthn: I think your grant should be done too, no? :-)
[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 ;)
dalek p: 52736bc | jnthn++ | src/ops/nqp.ops:
Toss old, long-replaced NFA evaluation op now it's eliminated from the stage0.
[Coke] I am pretty sure I am not managing that grant, but honestly, how would I know? ;)
moritz rereads news.perlfoundation.org/2010/07/hag...eta-m.html 18:54
[Coke] (e.g.: can I ahve multiple LEAVES? If so, are they called in order? reverse order?)
moritz "D5. Finish the pieces needed to enable writing custom meta-classes in 18:55
Rakudo and document how it is to be done."
jnthn [Coke]: Yes, but only in AUTUMN
moritz the documentation might need to be done
r: do { LEAVE say 1; LEAVE say 2 }
p6eval rakudo a44188: OUTPUT«2␤1␤»
jnthn I'm pretty sure leave is spec'd are running LIFO
pmichaud [Coke]: S04:1399 "Apart from C<CATCH> and C<CONTROL>, which can only occur once, most
of these can occur multiple times within the block."
jnthn moritz: Yeah...I wonder where we would put that 18:56
moritz: At the moment the best docs are my presentations and reading modules like Grammar::Tracer :)
moritz jnthn: a section in S12 on that wouldn't hurt
pmichaud [Coke]: in that same paragraph:
" In general, initializing 18:57
phasers execute in order declared, while finalizing phasers execute in
the opposite order.
"
[Coke] 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
pmichaud: ... probably a good idea to move that before the list of phasers, I think.
jnthn moritz: *nod*
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.)
pmichaud or are you wanting some way to conditionally add a LEAVE phaser?
[Coke] pmichaud: ah, putting the whole block in the LEAVE works.
it's not what the OP wanted, but it works. ;) 19:00
19:00 kurahaupo joined
moritz well, we don't generally promise to solve every problem the way people want :-) 19:11
19:18 kurahaupo left 19:22 icwiener left 19:36 kurahaupo joined 19:39 birdwindupbird joined
dalek p: d06828e | jnthn++ | src/ops/nqp.ops:
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
p: 10994ce | jnthn++ | src/ops/nqp.ops:
Prevent trying to allocate zero bytes.
moritz I'm sure that's at least the 3rd patch in nqp or rakudo that avoids allocating 0 bytes 19:42
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
As it means we have an NFA...with no fates. 19:44
moritz would the NFA for <?> or <!> have fates? 19:46
19:46 mucker left
jnthn Ah, a proto with no candidates would do it. 19:49
20:02 GlitchMr left
pmichaud jnthn: is there a pirop for fetching a native lexical? 20:03
jnthn pmichaud: find_lex :)
pmichaud oh, duh.
I kept looking for a __ suffix. never mind. 20:04
jnthn ;) 20:06
pmichaud gist.github.com/2877497 # preliminary timing of new .map implementation vs existing one on "for 1..200000 { $i++ }" 20:10
(new .map implementation is MapIter2)
tadzik nice, that's something
pmichaud++
pmichaud yes, seems to be about 33% faster
still a couple of pieces to put in, and some optimizations to try
tadzik where's this all-time picture of mine..
jnthn Is that with or without QRPA?
tadzik ragefac.es/154 20:11
pmichaud that's using *one* instance of QRPA
tadzik there we are
pmichaud i.e., there are other places where we should be using QRPA but aren't yet.
jnthn ok
pmichaud For example, the ListIter code still isn't using any QRPAs yet
that's just using a single QRPA in the MapIter itself
so it should become faster still as I move more things over.
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.
Or perhaps the earlier runs aren't releasing everything that they should be.
could be that some closures somewhere are holding on to some largish data structures 20:16
20:16 PacoAir left, PacoAir joined 20:19 kaare_ left
pmichaud that happens even with just the current head impl, though. 20:19
a sequence of four executions of the same 'for' loop: 20:20
pmichaud@kiwi:~/p6/rakudo-map2$ ./perl6 mi2
'for' loop: N=200000 2.63096380233765
'for' loop: N=200000 2.87784004211426
'for' loop: N=200000 3.66426587104797
'for' loop: N=200000 3.20598697662354
20:23 kaare_ joined
pmichaud yeah, something somewhere leaks memory 20:26
gist.github.com/2877603 # program to evoke a memory leak (running from nom head, memory usage steadily increases until termination.) 20:30
afk, kid pickup
20:36 alvis left 20:41 alvis joined 20:43 birdwindupbird left 20:51 DreamingInCode joined 20:52 jaldhar left, wooden joined, wooden left, wooden joined 20:53 kaare_ left 20:54 s1n joined 21:01 jrbh joined 21:03 jrbh is now known as jarubyh 21:05 jarubyh left 21:09 alester joined 21:27 libertyprime left 21:28 libertyprime joined
dalek p/altnfa: 23b8c3e | moritz++ | tools/build/Makefile.in:
[build] include @optimize@ in CCFLAGS
21:29
p/altnfa: 52736bc | jnthn++ | src/ops/nqp.ops:
Toss old, long-replaced NFA evaluation op now it's eliminated from the stage0.
p/altnfa: d06828e | jnthn++ | src/ops/nqp.ops:
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.
p/altnfa: 10994ce | jnthn++ | src/ops/nqp.ops:
Prevent trying to allocate zero bytes.
p/altnfa: b44ede4 | jnthn++ | src/ops/nqp.ops:
First crack at trying to consistently get declaration order tie-breaking correct.
p/altnfa: 59d4cb1 | jnthn++ | / (2 files):
Merge latest master into altnfa.
p/altnfa: bb9bb79 | jnthn++ | src/ops/nqp.ops:
If we see a fate a second time, and this offset gets multiple, make sure we include it into the sort.
p/altnfa: 0a0a2d0 | jnthn++ | src/how/NQPClassHOW.pm:
Retain order of method addition.
21:29 libertyprime left 21:30 libertyprime joined, libertyprime left 21:31 libertyprime joined 21:34 libertyprime left, libertyprime joined
sorear jnthn: What's so bad about allocating zero bytes? 21:37
21:37 libertyprime left 21:38 libertyprime joined
jnthn sorear: It causes Parrot to, er, panic with an out of memory error :) 21:50
(It does say zero byte allocation too :)) 21:51
sorear jnthn: ...okay then 21:53
jnthn sorear: I think the problem is that the C standard doesn't specify the behavior of malloc(0). 21:56
sorear: And thus NULL is a valid return value for malloc(0)...which can't be distinguished from a failed allocation. 21:57
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) 21:59
sorear an allocation of size zero cannot fail 22:04
even if it returns NULL, that's a valid usable pointer to zero bytes
jnthn sorear: Well, maybe blowing up on a zero byte allocation was just a silly design decision in Parrot then. 22:05
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 PacoAir left
jnthn TimToady: wow :) 22:06
TimToady usually expressed ironically as "All the world's a VAX." 22:07
jnthn The only Vax I ever had access to was the family vacuum cleaner when I was a kid :) 22:08
22:08 not_gerd joined
not_gerd sorear: malloc(0) can fail on implementations which require a non-NULL return value 22:09
geekosaur: both free() and realloc() are NULL-safe already in C90
dalek kudo/map2: 9238ead | pmichaud++ | src/ (2 files):
Use nqp::istype and nqp::islist from NQP; update DUMP to recognize QRPA.
22:10
sergot good night! o/ 22:13
22:13 sergot left 22:20 tyatpi left 22:25 spider-mario left 22:33 pupoque joined 22:35 stephenlb joined 22:39 corburn joined 22:43 thelazydeveloper left 22:53 whiteknight joined 22:54 whiteknight is now known as Guest11027 22:59 Guest11027 left 23:06 tyatpi joined, wknight8111 joined 23:07 not_gerd left
jnthn -> sleep 23:12
23:17 libertyprime left, libertyprime joined 23:23 fglock left 23:28 pupoque left, tyatpi left 23:32 kurahaupo left 23:47 bluescreen10 left 23:49 kurahaupo joined