»ö« 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:10» | |||
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" } }; sayUnhandled 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!===Confusedat /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«5Foo()» | ||
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.DoubleToIBogus 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«bootdocsexamplesFETCH_URLlibLICENSELicense-MS-PL.txtmain.plMakefileobjp5testperfperl5README.podrunsimple-testssrcttest2.pltest3.pltest.plTODOtoolsVERSION» | ||
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.01USER 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«21» | ||
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
|