»ö« 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.
masak felliott: oh! there's one thing I should tell you about that room. 00:00
felliott I just tried x butterfly and got a crash.
masak good to know; will fix by tomorrow.
felliott: the sign in the chamber, once the descriptions are there, will read "LEAVE". one letter will appear to be erased after that word. 00:01
felliott Intriguing!
masak ;)
I'll say. I should really be asleep, but suddenly I have a user! 00:02
00:04 donri left
masak oh well. better sleep a bit. :) 00:04
'night, #perl6.
felliott night masak!
btw, it's fun! 00:05
masak felliott++ # testing
felliott v. nicely done
masak++ # making
masak thanks :)
00:05 masak left 00:06 ab5tract joined
awwaiid perl6: "0b1010" + 1 00:07
p6eval pugs, rakudo 1ddda5: ( no output )
..niecza v7-35-g4fc3649: OUTPUT«Unhandled exception: System.FormatException: Unknown char: b␤ at System.Double.Parse (System.String s, NumberStyles style, IFormatProvider provider) [0x00000] in <filename unknown>:0 ␤ at System.Double.Parse (System.String s, IFormatProvider provider) [0x…
sorear evalbot rebuild niecza 00:08
p6eval OK (started asyncronously)
awwaiid perl6: say "0b1010" + 1
p6eval pugs, rakudo 1ddda5: OUTPUT«11␤»
..niecza v7-35-g4fc3649: OUTPUT«Rebuild in progress␤»
awwaiid no rakudo?
TimToady it's there, it's just agreeing with pugs 00:12
awwaiid ah! 00:14
very good. So the fact that the nom branch results in '6' instead of '11' really is bad then 00:15
00:15 envi joined
sorear no, really is good 00:15
awwaiid even better 00:16
what does it mean?
sorear actually I think the correct answer is 10
0b1010 is 8+2
oh, "+1"
awwaiid this is from t/00-parrot/01-literals.t output, btw.
sorear nom is broken
awwaiid great! so me poking at it isn't a waste of time 00:17
00:18 felliott left
TimToady nom: say "0b1010" + 1 00:19
p6eval nom: OUTPUT«6␤»
TimToady nom: say 0b1010 + 1
p6eval nom: OUTPUT«11␤»
awwaiid hmm
TimToady nom: say :2<1010> + 1
p6eval nom: OUTPUT«11␤»
awwaiid nom: say "0b1010" + 1
p6eval nom: OUTPUT«6␤»
TimToady nom: say ':2<1010>' + 1
p6eval nom: OUTPUT«No applicable candidates found to dispatch to for 'Numeric'. Available candidates are:␤:(Mu, Mu %_)␤␤current instr.: 'Numeric' pc 451264 (src/gen/CORE.setting.pir:0) (src/gen/CORE.setting:332)␤»
TimToady nom: say '10' + 1 00:20
p6eval nom: OUTPUT«2␤»
TimToady um
awwaiid hah
TimToady wha?
nom: say '20' + 1 00:21
p6eval nom: OUTPUT«3␤»
TimToady nom: say '200' + 1
p6eval nom: OUTPUT«3␤»
TimToady nom: say '222222222222222222222222222222222222222222222222' + 1 00:22
p6eval nom: OUTPUT«2.22222222222222e+47␤»
TimToady o_O
awwaiid zero terminated numbers? 00:23
TimToady nom: say '201' + 1
p6eval nom: OUTPUT«202␤»
TimToady yeah
awwaiid nom: say '230' + 1
p6eval nom: OUTPUT«24␤»
awwaiid fancy
TimToady nom: say ?'0' 00:24
p6eval nom: OUTPUT«Bool::False␤»
00:24 felliott joined, felliott left 00:25 dayangkun joined
awwaiid nom: say "10230" + 1 00:25
p6eval nom: OUTPUT«1024␤»
00:29 thou left
[particle] the 0's look like cookies 00:36
flussence pokes at the code 00:37
there's a flag to ignore trailing zeros (for decimals), but it shouldn't be set ever if there's no '.' in the string 00:38
awwaiid where lives this code of which you speak? 00:40
flussence rakudo/src/core/Str.pm:117, nqp/src/ops/nqp.ops:1269 00:41
pmichaud back again 00:42
00:43 tokuhir__ left
pmichaud yes, looks like nom is broken somewhere. looking. 00:45
awwaiid I was about to ask what language is nqp/src/ops/nqp.ops -- then it suddenly came into focus! 00:49
pmichaud yes, it's a bug in the radix converter. located the bug, testing fix. 00:50
looks like C operator precedence strikes again :-/ 00:51
00:52 wolfman2000 joined
awwaiid the amount of polyglot knowledge necessary to navigate this codebase is... interesting. 00:52
dalek p: 46693c7 | pmichaud++ | src/ops/nqp.ops:
Fix bug arising from C operator precedence thinko.
00:53
[Coke] awwaiid: ramen. 00:54
[Coke] wonders if anyone in #perl6 is near london.
awwaiid ramen? the soup?
pmichaud Google says I'm about 275 mi away. 00:55
Unless, of course, you meant the other London. :)
awwaiid pmichaud -- now that you've updated that, what is the least that I need to do to tell my rakudo build to use your change? 00:56
(I don't know what step updates the nqp/ dir)
[Coke] awwaiid: en.wikipedia.org/wiki/Flying_Spaghetti_Monster 00:57
awwaiid ah, Coke++ 00:58
00:59 woosley joined 01:00 noganex_ joined
dalek kudo/nom: 196eb09 | pmichaud++ | tools/build/NQP_REVISION:
Bump NQP_REVISION to get radix fix.
01:02
pmichaud awwaiid: git pull the latest rakudo, it'll automatically update your nqp :) 01:03
s/rakudo/nom/
01:04 noganex left
awwaiid cheater 01:05
(thanks) 01:06
01:06 Chillance left 01:25 simcop2387 left 01:27 simcop2387 joined
pmichaud is_approx "20." / "5.", 4; 01:30
What should I do with this test? remove it?
01:30 jevin left
pmichaud std: say 20. / 5. 01:31
p6eval std 516268a: OUTPUT«===SORRY!===␤Decimal point must be followed by digit at /tmp/c8VFcnrm1r line 1:␤------> say 20.⏏ / 5.␤Unsupported use of . to concatenate strings; in Perl 6 please use ~ at /tmp/c8VFcnrm1r line 1:␤------> say 20. ⏏/…
pmichaud std: say 20e 01:32
p6eval std 516268a: OUTPUT«===SORRY!===␤Whitespace is required between alphanumeric tokens at /tmp/Dq842Fgs5B line 1:␤------> say 20⏏e␤Two terms in a row at /tmp/Dq842Fgs5B line 1:␤------> say 20⏏e␤ expecting any of:␤ POST␤ bracketed i…
pmichaud std: say 20.0e
p6eval std 516268a: OUTPUT«===SORRY!===␤Whitespace is required between alphanumeric tokens at /tmp/TBlM8heZ5q line 1:␤------> say 20.0⏏e␤Two terms in a row at /tmp/TBlM8heZ5q line 1:␤------> say 20.0⏏e␤ expecting any of:␤ POST␤ bracket…
01:32 jevin joined
flussence rakudo: say e 01:32
p6eval rakudo 1ddda5: OUTPUT«2.71828182845905␤»
flussence hm... 01:33
std: sub postfix:<e>($n) { $n * e }; say 20e
p6eval std 516268a: OUTPUT«ok 00:01 127m␤»
pmichaud that might interfere with 20e0
I was curious what error message would be generated if someone included the 'e' but forgot the exponent :) 01:34
01:39 am0c joined 01:41 felliott joined
TimToady std: sub postfix:<e>($n) { $n * e }; say 20e10 01:41
p6eval std 516268a: OUTPUT«ok 00:01 127m␤»
pmichaud what should the result be of something like "xyz" == 3 ?
TimToady failure of some sort, I'd think 01:42
01:42 felliott_ joined, felliott left, felliott_ is now known as felliott
TimToady or maybe we should just say that's NaN == 3 01:42
pmichaud so, looks like we're at the point where we have to get all of the operators to propagate failure operands.
oh, I could have "xyz".Numeric return NaN instead of Failure, I suppose. 01:43
TimToady or by the other rules, as soon as you use it in ==, it throws
pmichaud well, the problem I'm having is a lot ot throwing where strings are being tested against infinity using ==
so where Rakudo used to treat "xyz".Numeric as 0, it now comes back with a failure and things blow up 01:46
s/blow up/get thrown/
like coffee mugs at a perl conference
TimToady a warning on loss of info when Failure converts to NaN maybe
pmichaud so, Failure.Numeric converts to NaN and warns... I could handle that 01:47
well, I still need to remove the tests for infinity
or come up with better tests :-)
maybe Inf.ACCEPTS(...) 01:48
are there any cases where $concrete.ACCEPTS(Abstract) is likely to be true? 01:52
I think I'll temporarily go back to defaulting to zero until I can think through this a bit more. 02:00
02:00 dayangkun_ joined
pmichaud maybe go over it again at yapc::eu, if not before then. 02:00
oh, first I'll try the NaN+warn option 02:01
oh, that looks icky also. 02:02
pmichaud punts to yapc::eu or later #perl6 discussion.
02:03 dayangkun left, kfo_ joined 02:06 kfo left
felliott nom: for 0,1 { say "moo"; sub hello() {}; } 02:11
p6eval nom: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤current instr.: '_block1010' pc 419 ((file unknown):281) (/tmp/s5NpUhb0Hz:1)␤»
felliott nom: for 0,1 -> $a { say "moo"; sub hello() {}; } 02:12
p6eval nom: OUTPUT«moo␤moo␤»
pmichaud I'm guessing that the sub is somehow messing up the signature of the outer block.
might be a misplaced contextual somewhere (PerlJam++)
nom: for 0,1 -> $a { say 'moo'; sub hello($x) {}; } 02:13
felliott not sure if it's relevant, but the second one generates about 30 more lines of pir than the first.
p6eval nom: OUTPUT«moo␤moo␤»
pmichaud nom: for 0,1 { say 'moo'; sub hello($x) {}; }
felliott Otherwise, they're almost line-for-line identical
p6eval nom: OUTPUT«Too many positional parameters passed; got 1 but expected 0␤current instr.: '_block1010' pc 419 ((file unknown):601) (/tmp/Q3DRNSj9C1:1)␤»
pmichaud well, yes, the second one has more to do/check.
I don't know if it's worth 30 lines of pir of difference, but it could easily be that way. 02:14
02:25 envi left 02:27 envi joined
dalek p: dad45a0 | pmichaud++ | src/ops/nqp.ops:
Fix off-by-one error in radix conversion.
02:27
02:29 dayangkun_ left, dayangkun_ joined 02:31 Holy_Cow joined, Holy_Cow left 02:36 dayangkun_ left
pmichaud nom: say (2.Rat - 1.Rat).WHAT 02:37
p6eval nom: OUTPUT«Rat()␤»
02:58 lichtkind left 03:18 xinming left 03:19 jaldhar joined 03:23 Su-Shee_ joined 03:26 ab5tract left 03:27 Su-Shee left 03:35 bluescreen10 left 03:46 cooper left, cooper joined
dalek ast: 7e7c061 | pmichaud++ | S32-num/int.t:
Update spectest for Str.Numeric conversion.
04:04
04:06 molaf joined
pmichaud std: say 5. 04:07
p6eval std 516268a: OUTPUT«===SORRY!===␤Decimal point must be followed by digit at /tmp/e9Abxck8td line 1:␤------> say 5.⏏<EOL>␤Unsupported use of . to concatenate strings; in Perl 6 please use ~ at /tmp/e9Abxck8td line 1 (EOF):␤------> say 5.⏏[3…
04:20 satyavvd joined 04:22 JimmyZ joined
dalek kudo/nom: 6b3b601 | pmichaud++ | src/core/operators.pm:
Fix regression introduced in ef31cef. According to S03-sequence/basic.t,

denominators are 1. Instead of narrowing values, narrow the geometric factor whenever its denominator is 1.
04:23
kudo/nom: 90a61f8 | pmichaud++ | src/core/Cool.pm:
Fix some bugs in .rindex method.
kudo/nom: 3923684 | pmichaud++ | / (2 files):
More Str.Numeric fixes and improvements.

Although converting a string with no number is supposed to fail, doing so causes all sorts of issues throughout the spectests with no clear-cut solutions. Therefore I'm fixing the conversion to treat non-numbers as integer zero for now, until we can regroup and figure out how we want to handle the failure cases.
Note that any non-whitespace characters following a valid number or partial number still results in a failure, though.
04:26 kaare__ joined 04:30 JimmyZ left 04:43 xinming joined, cipherte1t left 04:57 ciphertext joined 05:00 birdwindupbird joined 05:01 felher left 05:06 felliott left 05:13 felher joined
moritz good morning 05:18
05:23 [particle] left 05:24 simcop2387 left 05:25 JodaZ_ joined, jaldhar left, [particle] joined, ciphertext left, renormalist joined, jaldhar joined 05:26 JodaZ left, ciphertext joined 05:28 simcop2387 joined 05:31 perlhack joined 05:32 molaf left, cooper left, cooper joined
perlhack how long popular perl6 ? 05:33
:-)
moritz this question no verb 05:34
sorear adjectives are NOT considered verbs in English
you need a copula in there 05:35
it's not clear whether you're talking about the past or the future, too
PerlJam perlhack: now. forever. 05:36
dalek ast: 737dfa2 | moritz++ | S03-sequence/basic.t:
unfudge a series test for rakudo that tadzik++ made pass
perlhack thanks for moritz and sorear.
moritz nom: for <100 0d10 0xa0.f 2+3i> { say +$_, ' ', (+$_).WHAT } 05:37
p6eval nom: OUTPUT«100 Int()␤10 Int()␤trailing characters after number in conversion␤current instr.: 'rethrow' pc 500134 (src/gen/CORE.setting.pir:140359) (src/gen/CORE.setting:3916)␤»
moritz nom: for <100 0d10 0xa0.f 2+3i> { try { say +$_, ' ', (+$_).WHAT } }
p6eval nom: OUTPUT«100 Int()␤10 Int()␤»
pmichaud Str.Numeric doesn't do complex values yet 05:38
is 0xa0.f legal?
05:38 perlhack left
moritz std: 0xa0.f 05:38
p6eval std 516268a: OUTPUT«ok 00:01 118m␤»
moritz hm, could be a method call
I don't think it's a legal literal 05:39
:16<a0.f> would be
nom: say ':16<a0.f>'.Numeric
p6eval nom: OUTPUT«0␤»
pmichaud thus far I've decided that :16<...> can be a fallback to the compiler
moritz nom: say '4/5'.Numeric
p6eval nom: OUTPUT«trailing characters after number in conversion␤current instr.: 'rethrow' pc 500134 (src/gen/CORE.setting.pir:140359) (src/gen/CORE.setting:3916)␤»
sorear niecza: 0xa0.f
p6eval niecza v7-37-g20310bc: OUTPUT«Unhandled exception: Unable to resolve method f in class Int␤ at /tmp/_uWs9SHEQZ line 1 (MAIN mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1890 (CORE C885_ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 1891 (CORE module-CORE @ 5…
pmichaud same for num/den 05:40
but if someone wants to patch those into Str.Numeric, I'll be glad to see it :)
moritz pmichaud: I'm curious, why did you write it in Perl 6, and not nqp?
pmichaud: that way it'll be harder to reuse in the actions 05:41
pmichaud the nqp::radix opcode comes from nqp :-)
I can make an equivalent nqp function, if you wish :)
and then have Str.Numeric use that.
The tricky part is knowing how/where to have the Perl 6 code be able to access the NQP function
also, this was more "get it working" than "final design" 05:42
moritz ok 05:43
pmichaud do we have any Perl 6 code that is accessing NQP functions or methods yet?
I mean, other than for object protocol stuff?
moritz I have no idea 05:44
pmichaud I wasn't quite sure how to do that, without resorting to roles like we've done for match objects.
let me check what's in the bootstrap for the namespace defaults 05:45
anyway, I do plan to put a close equivalent into HLL::Actions
and Perl6::Actions can likely use that, although rats are still a bit tricky 05:46
sorear rakudo: .say if /B/ ff /D/ for <A B C D E>; 05:54
p6eval rakudo 1ddda5: OUTPUT«===SORRY!===␤Flip flip operators are not yet implemented at line 22, near " /D/ for <"␤»
sorear pmichaud: have you looked at felliott's patch?
pmichaud I discussed one with him last week; didn't look in great detail at the one he supplied today. 05:55
05:56 agentzh joined
sorear o/ agentzh 05:56
agentzh sorear: hiya
sorear tried to port it to niecza but failed
I wonder how reasonable it would be to special case BEGIN { @*INC.push("literal") } for niecza. 05:58
pmichaud falling asleep here, so I'll be back in a few hours. Tomorrow is house-cleaning day, though, to prepare for guests this weekend 05:59
sorear e.g. I am looking at packages/A.pm in roast 06:00
wondering how this can work on niecza
I don't like the idea of disabling half of the package tests just for implementations that lack BEGIN
orthogonality of testing... 06:01
06:01 dayangkun joined
agentzh just clones niecza. 06:04
sorear ambiguous use of adverb 'just' 06:05
agentzh sorear: lol...well, i mean i cloned niecza just now and want to look deeper ;) 06:07
sorear ...thanks? 06:08
what are you interested in?
agentzh sorear: the performance goal ;) 06:09
sorear: i'll be very happy if just a subset of perl6 can be run fast enough :)
sorear: such that i can use it in production for our business :) 06:10
moritz too, if that subset is big enough :-)
agentzh moritz: a useful sebset like NQP :)
moritz agentzh: have you benchmarked NQP? 06:11
agentzh: it's not slow
agentzh moritz: to be honest, i haven't done that recently :P i'll try the norm branch :)
sorear calls NQP slow, but ey has unreasonable standards. 06:12
agentzh thinks perl 5 is also slow at times.
06:12 Su-Shee_ is now known as Su-Shee
moritz sorear: have you benchmarked nqp recently? 06:12
sorear: where by "recently" I mean after it got native number? 06:13
sorear I don't think I need to, I've benchmarked PIR and call it slow. 06:14
I'm very pessimistic about the chances for any current Perl 6 implementation to beat Perl 5 on graph-intensive code 06:16
moritz what do you mean by "graph-intensive code"?
agentzh cpu-intensive code that writes images? *grin* 06:18
sorear moritz: allocate a bunch of objects and chasing pointers between them, calling methods, not doing much arithmetic
the kind of projects I tend to be involved in :) 06:19
06:25 mberends joined
mberends phenny, tell perlhack the following British reference estimates that a vocabulary of 1500 English words is a practical minimum. www.bbc.co.uk/news/14130942 06:34
phenny mberends: I'll pass that on when perlhack is around.
sorear perlhack's vocabulary is fine
but ey hasn't quite grokked English grammar
mberends sure, I just noticed in backlogging that a number interested em 06:35
sorear ey has this idea that adjectives can be used directly as verbs, which they can be - in Chinese and Japanese
TimToady sorear: you're not really helping with the spivaking :)
mberends it's infectious ;) 06:36
dalek ecza: f5e9082 | sorear++ | src/ (6 files):
mergeback
sorear TimToady: I do it for myself
TimToady yes, but it doesn't help perlhack++ understand English :) 06:37
sorear ah.
TimToady
.oO('course, *I* never mangle the language, oh no...)
mberends oh no 06:40
sorear rakudo: use lib '/tmp/; 06:46
p6eval rakudo 1ddda5: OUTPUT«===SORRY!===␤Unable to find module 'lib' in the @*INC directories.␤(@*INC contains:␤ lib␤ /home/p6eval/.perl6/lib␤ /home/p6eval//p1/lib/parrot/3.5.0-devel/languages/perl6/lib␤ .)␤»
06:59 mj41 joined
sorear out 07:03
07:04 Jackneill joined, Jackneill left, Jackneill joined 07:09 wtw joined 07:14 wamba joined
dalek kudo/nom: 48ba2f3 | moritz++ | tools/build/Makefile.in:
[build] "make test" needs to depend on Test.pir, because the last test attempts to load Test.pm
07:23
07:27 cooper left 07:34 Jackneill left 07:36 jdhore joined 07:49 dayangkun_ joined 07:52 dayangkun left
szabgab ohai 07:53
I think I am confused again
07:53 Jackneill joined, Jackneill left, Jackneill joined
szabgab I just tried to build rakudo on Windows with Strawberry Perl 07:53
and it complains that it cannot find mingw32-make 07:54
when trying to do a realclean
anyone around with some Windows fu ? 07:59
08:01 mberends left 08:05 im2ee joined 08:12 beekor left 08:17 mberends joined
moritz is that fatal? 08:17
szabgab moritz: you mean that it does not find the mingw32-make? 08:18
moritz yes
szabgab yes it is
let me paste
08:19 tomize left
szabgab gist.github.com/1084313 08:20
anyway, rakudo * is coming out in 2 weeks, right? 08:21
will it be based on what is in trunk now? 08:22
moritz which rakudo branch is that?
szabgab mster
master
moritz we've had some discussions about star releases, but I don't remember the outcome :/
szabgab I'd like to build the win32 immediately when rakudo* comes out 08:23
if possible even before the announcement of rakudo*
so which branch should I try?
moritz szabgab: I think the problem might be that we try to use a 'make' utility for 'make realclean' before parrot has detected which one to use
szabgab: try to change build/gen_parrot.pl line 76 from 'system_or_die' to just 'system' 08:24
szabgab: if that fixes the overall build, I'll push that fix to master 08:25
08:25 Mowah joined
szabgab there is not "build" directory 08:26
wait
my bad
I found the build directory , now trying to build it 08:28
it will take some time as this is a small machine
08:30 agentzh left 08:39 im2ee left, im2ee joined
moritz szabgab: btw, is this a rakudo compiler build, or a "star" build you are trying? 08:45
szabgab gist.github.com/1084337 08:46
parrot failed but I think it complaine about a parrot version being around right from the beginning
renaming libparrot.dll and trying again 08:48
moritz: right now I am just trying to build rakudo but what I'd like to make sure is that when * is released (in 2 weeks?) then I can build it on windows and package it as I did 6 weeks ago 08:50
moritz szabgab: since pmichaud does the R* releases for now, it's him you have to talk to about that
szabgab: I'd certainly appreciate it if we had windows binaries
szabgab ok, I'll try to catch him later
but for now let's see if I can build trunk 08:51
or if you think I should try some other branch then let know and I'll try that 08:52
moritz in the long run it's more interesting to see if you can build the 'nom' branch 08:57
(though it's not installable yet)
08:57 wamba left
szabgab I tried to switch to it but I think git co nom did not do the right thing 09:02
09:04 am0c left 09:05 daxim joined 09:12 wamba joined 09:18 donri joined 09:19 Chillance joined 09:22 [particle]1 joined 09:24 [particle] left
szabgab moritz: parrot built successfully and told me to gmake but I had to rename (or remove) both the parrot_install directory and the libparrot.dll that would have been done by the realclean of parrot I think 09:25
so I think the fix need to include the removal of those items as well
moritz szabgab: have you used that build directory with a different toolchain before? 09:27
szabgab I don't think so
I built rakudo earlier with strawberry only
moritz then I don't really understand the failure mode :( 09:29
btw 'make realclean' never removes the parrot_install directory
szabgab probably the problem I had (after your suggested fix) was caused by the libparrot.dll 09:30
that was built from an older parrot 09:31
09:47 ciphertext left
szabgab moritz: gist.github.com/1084408 another fail :( 09:52
dalek ast: 2b7dab1 | moritz++ | S32-str/rindex.t:
some rakudo unfudges in rindex.t
09:53
09:54 ciphertext joined
moritz ugh 10:01
szabgab: what does 'git describe' print in the rakudo repo?
10:04 woosley left
szabgab 2011.06-6-g1ddda5e 10:06
I hate it when my neighbor turns off his wifi...
10:07 dayangkun_ left 10:12 Kivutarrr joined 10:15 pochi left
dalek ast: dea1e41 | moritz++ | S32-str/rindex.t:
unfudge the rest of the rindex tests that rakudo master passed
10:52
kudo/nom: 3bf08d5 | moritz++ | src/core/Cool.pm:
handle case of empty needle in rindex
10:53
11:07 mberends left 11:20 Trashlord joined 11:28 im2ee left 11:32 woosley joined 11:33 satyavvd left 11:36 im2ee joined 11:41 smash left 11:45 sunnavy left, sunnavy joined 11:46 JimmyZ joined, ruoso left, Raynes left, ruoso joined 11:47 tylercurtis left
JimmyZ good evening, #perl6 11:48
11:48 Raynes joined 11:49 mberends joined 11:55 tylercurtis joined
takadonet morning all 11:57
12:02 JimmyZ_ joined 12:03 JimmyZ_ left 12:05 JimmyZ left 12:20 bluescreen10 joined 12:31 molaf joined 12:55 Aridai joined 12:58 felliott joined
[Coke] NYI form of number litereal encountered 12:59
--rakudo/nom
13:00 Aridai left 13:08 Instil left 13:10 soh_cah_toa left 13:13 skangas joined 13:14 Holy_Cow joined 13:15 im2ee left 13:16 Holy_Cow left, im2ee joined
pmichaud good morning, #perl6 13:17
mberends o/
takadonet pmichaud: morning 13:18
[Coke] looks like we're losing spec tests:
Files=249, Tests=6913
pmichaud: how goes? 13:19
pmichaud we may be losing tests due to premature script deaths 13:20
13:23 wtw left
moritz aye, the Str.Numeric changes did have some fallout 13:28
szabgab pmichaud: good morning
pmichaud: I was trying to build Rakudo on Windows but failed so far 13:29
some info in he backlog, if anyone could help me further
pmichaud szabgab: which version? the master branch or the nom branch?
szabgab master branch 13:32
pmichaud okay, I'll look into it. There have been reports lately of difficulties building Parrot on Windows. 13:33
szabgab pmichaud: though before we try it, actually what I'd like to , is to make sure I'll be able to build Rakudo* when it comes out in 2 weeks
so will it be based on master or nom?
or am I missing something? :) 13:34
pmichaud our plan is that the july compiler release (next thursday) and the july star release will be based on master
then we're going to have another compiler release and distribution release (may or may not be 'star') in early august, before yapc::eu 13:35
that's the tentative plan for now
szabgab I see 13:36
so I'll try to be around and build * on Windows and package it to be installable
preferable even before you send out the announcement about the new release
pmichaud okay, works for me. I'll keep you posted. 13:38
szabgab thanks
but for now I had some issues on my netwbook 13:39
13:39 [Coke] left
szabgab I'll try it now on my virual "build machine" as well 13:39
13:41 [Coke] joined 13:43 [particle]1 is now known as [particle]
moritz virual - virtual and viral at the same time! 13:43
13:43 drbean left
szabgab :) 13:43
moritz pmichaud: I'm curious, what did you use as test cases when you did the Str.Numeric implementation?
pmichaud just a few simple ones
moritz ok
nom: say "12.3_4e-0_1".Numeric # just checking 13:44
p6eval nom: OUTPUT«1.234␤»
pmichaud \o/
I should test against S32-str/numeric.t 13:45
is_approx "20." / "5.", 4; 13:46
remove this test from S03-operators/arith.t ?
moritz or remove the trailing .
pmichaud I think the trailing . is what made the test unique
moritz then delete it
pmichaud # The example for sloppy divide, rigged to avoid the peephole optimiser.
is_approx "20." / "5.", 4;
moritz oh, it's an imported-from-p5 test 13:47
dalek ast: 8afd7a2 | pmichaud++ | S03-operators/arith.t:
Remove p5-thinko test from S03-operators/arith.t .
13:48
pmichaud my $a = '2 is my favorite number'; 13:49
isa_ok(+$a, Num, 'it is forced into a Num');
how about this test? remove it?
moritz yes
pmichaud check for failure?
moritz yes, but in numeric.t 13:50
we don't have cases of trailing ws + non-ws yet, iirc
13:53 ng1962 joined
dalek ast: c008d8f | pmichaud++ | S03-operators/context-forcers.t:
Fudge and fix tests relying on Str.Numeric .
13:54
pmichaud that gets us back to 7,055 tests. 13:56
[Coke] pmichaud++
(now everyone stop distracting him from finishing up the regex wiring. ;)
pmichaud this morning I'm going to be distracted by house cleanup :-/
moritz yeah, sorry for the interruption 13:57
[Coke] Would that I could send over some minions to assist. ;()
er, ;)
pmichaud f 'a+123';
Is there a way to #?rakudo todo that test?
moritz it should just work with #?rakudo todo 13:58
because I've marked sub f with #?DOES
pmichaud that didn't seem to work. 13:59
moritz hm
you can #?rakudo emit # 14:00
that skews the test plan, but that's not so tragic since it's planless testing
dalek ast: 32042f0 | moritz++ | S32-str/numeric.t:
test numification with trailing ws plus non-ws
14:01
pmichaud I'm probably wrong, but I thought that #?todo worked by syntactically looking for is|ok|nok|isa_ok|.... 14:02
so it won't be able to find 'f'
moritz and I thought that #?DOES extends that list
pmichaud oh, maybe it does.
moritz but it seems I'm wrong
pmichaud or maybe it DOESNT :-P
moritz I can confirm that it doesn't work here
#?DOES count 14:03
for all implementations, the following thing does count tests
(disables any attempt to autocount tests within the construct)
when construct is a sub, registers the sub name as tester
(and multiplies calls to tester sub by count tests)
so, it is supposed to
pmichaud okay
I'll just do an emit for now.
check '-0d123', Int, 123; 14:05
should be -123, yes?
moritz yes
pmichaud nom +1 :-P
moritz pmichaud++ # test review
pmichaud it's nom that's really doing the review :)
moritz then pmichaud++ # reviewing the review 14:06
pmichaud not sure how to mark the tests after #55 as being todo/skip, though.
moritz you can enclose them in a block of curlies
pmichaud oh, I can skip a block.
yes 14:07
moritz and add a #?rakudo skip in front
pmichaud check '123.', Rat, 123; 14:08
remove, or change to 'f' ?
moritz the latter
moritz doesn't really grok the fudge code 14:10
but the offending line might be 190 14:12
dalek ast: 3e4d1c5 | pmichaud++ | S32-str/numeric.t:
Initial fudge for nom, correct a few tests.
ast: 805fea2 | moritz++ | fudge:
[fudge] allow todo() and skip() of custom test subs (installed via #?DOES)
14:17
14:19 [Coke] left, [Coke] joined 14:22 ng1962 left
moritz pmichaud: should I fudge the rest of the failures out for now? 14:23
pmichaud I have some more fixes coming.
dalek ast: 83b6499 | pmichaud++ | S32-str/numeric.t:
More fudges and fixes for nom in S32-str/numeric.t .
14:24
14:25 im2ee left
moritz nom: say +"Inf" 14:25
p6eval nom: OUTPUT«0␤»
pmichaud Now fixed locally.
Doing a spectest run now and then will push.
moritz \o/
14:25 im2ee joined 14:26 im2ee left 14:27 im2ee joined
pmichaud that brings us to 7,214. moritz++ for excellent Str.Numeric tests 14:27
dalek kudo/nom: 8c957ea | pmichaud++ | / (2 files):
Add Inf and NaN to Str.Numeric. Add S32-str/numeric.t to spectests.
14:33 lestrrat left 14:34 lestrrat joined, zloyrusskiy joined 14:37 molaf left 14:44 mkramer left 14:46 PacoLinux left 14:47 PacoLinux joined 14:50 cognominal_ joined 14:53 cognominal left 14:59 cognominal_ left, cognominal_ joined 15:03 thou joined
[Coke] www.stargit.net/#coke #just saw this in #parrot. 15:12
pmichaud www.stargit.net/#rakudo 15:13
15:14 woosley left
sbp "The graph for sbp contains 0 nodes and 0 edges" 15:17
easy to do graph isomorphism on, at least 15:18
PerlJam my node on www.stargit.net/#rakudo doesn't even get a label 15:19
though I always seem to be on the opposite side of the visualization from ingy
dalek ast: 160967f | pmichaud++ | S32-str/numeric.t:
Add some more "num/den".Numeric tests.
15:20
kudo/nom: ff6f2f9 | pmichaud++ | src/core/Str.pm:
Refactor Str.Numeric a bit for clarity, add "num/den" conversion.
15:21
15:28 daxim left
pmichaud I wonder if it's worth caching the numeric value in a Str object once we've computed it. 15:29
or even keeping a cache of already-done conversions.
[Coke] sounds like an optimization (so I wouldn't bother yet.) 15:30
15:37 masak joined
masak yo, zebry. 15:37
pmichaud yo 15:39
masak rakudo: my @a = 1, 2, 3; say 3 == any @a, 4, 5 15:43
p6eval rakudo 1ddda5: OUTPUT«any(Bool::False, Bool::True)␤»
masak rakudo: my @a = 1, 2, 3; say so 3 == any @a, 4, 5
p6eval rakudo 1ddda5: OUTPUT«Bool::True␤»
dalek ast: 2f482ef | pmichaud++ | S03-metaops/zip.t:
Fix broken fudge.
15:44
15:45 mj41 left
pmichaud nom: say +"3/4" # checking 15:48
p6eval nom: OUTPUT«0.75␤» 15:49
15:50 Holy_Cow joined, ycxiu joined
masak I'm warming to that feature already :) 15:50
moritz nom: say "3/4".Numeric.WHAT 15:51
p6eval nom: OUTPUT«Rat()␤»
15:51 bluescreen10 left
pmichaud my $a = "0d01.01"; 15:51
isa_ok(+$a, Rat);
is(+$a, 1, "0d01.01 numifies to 1");
remove this, yes?
15:52 ycxiu left
masak what type should it numify to if not Rat? 15:53
but yes, the latter test looks wrong.
pmichaud it's an error. 0d doesn't allow fractional parts
masak oh!
15:53 jerome left
masak well, then. 15:53
moritz std: 0d01.01
p6eval std 516268a: OUTPUT«===SORRY!===␤Confused at /tmp/rDQKW6dZt4 line 1:␤------> 0d01.⏏01␤ expecting postfix_prefix_meta_operator␤Parse failed␤FAILED 00:01 119m␤»
moritz ah, needs :10<...> notation to allow fractional 15:54
15:56 bluescreen10 joined
masak felliott: I've now fixed all the bugs you reported. felliott++ 15:56
next up: dinner, then add descriptions to all the rooms and all the objects.
&
dalek ast: 0b50b2c | pmichaud++ | S02-builtin_data_types/num.t:
Fix a broken test in S02-builtin_data_types/num.t, defudge some passing
15:58
16:05 felliott left
sorear good * #perl6 16:07
16:12 Mowah left, wolfman2000 left 16:28 nebuchadnezzar left 16:31 nebuchadnezzar joined 16:32 Mowah joined 16:40 Instil joined 16:42 Chillance left 16:43 spq1 joined 16:51 jevin left, birdwindupbird left 16:53 jevin joined 17:06 thundergnat joined 17:08 jferrero joined
thundergnat Should array (or hash) elements autovivify the first time they are modified during a hyper op? Or am I making rash assumptions? 17:09
rakudo: my @a; @a[0,0,0,0] <<+=>> (4,3,2,1); say @a;
p6eval rakudo 1ddda5: OUTPUT«1␤»
thundergnat But if you pre initialize the array.... 17:10
rakudo: my @a=(0); @a[0,0,0,0] <<+=>> (4,3,2,1); say @a;
p6eval rakudo 1ddda5: OUTPUT«10␤»
thundergnat It seems like the it doesn't autovivify. 17:11
Maybe the answer is "Don't do that." But if that was the case, I would expect the preinitialized array to have the same problem. 17:12
sorear thundergnat: it does autovivify. four times 17:13
thundergnat nom: my @a; @a[0,0,0,0] <<+=>> (4,3,2,1); say @a; # just wondering 17:14
p6eval nom: OUTPUT«Contextual $*UNITPAST not found␤current instr.: 'nqp;Perl6;Actions;_block1409' pc 19857 (src/gen/perl6-actions.pir:6358) (src/Perl6/Actions.pm:2618)␤»
sorear thundergnat: @a[0,0,0,0] creates four elements, which fight to get installed in the @a[0] slot
only one can win
jlaire niecza: my @a; @a[0,0,0,0] <<+=>> (4,3,2,1); say @a 17:17
p6eval niecza v7-38-gf5e9082: OUTPUT«1␤»
17:21 thou left 17:27 mjreed joined 17:40 jevin left 17:43 jevin joined
dalek ast: bbf0a8a | moritz++ | S (3 files):
some unfudges for rakudo
17:46
17:52 masak left 17:58 mjreed left
TimToady niecza: my @a; @a[0,1,2,3] <<+=>> (4,3,2,1); say @a 18:00
p6eval niecza v7-38-gf5e9082: OUTPUT«4321␤» 18:01
TimToady niecza: my @a; @a[0] <<+=>> (4,3,2,1); say @a
p6eval niecza v7-38-gf5e9082: OUTPUT«10␤»
TimToady niecza: my @a; @a[0] X+= (4,3,2,1); say @a
p6eval niecza v7-38-gf5e9082: OUTPUT«10␤» 18:02
TimToady niecza: my @a; @a[0] X+= 4,3,2,1; say @a
p6eval niecza v7-38-gf5e9082: OUTPUT«10␤»
18:03 jaldhar left, jaldhar joined
sorear wonders if lazy autoviv was a mistake. 18:05
18:06 mjreed joined
mjreed Is rakudo star on hold until rakudo moves to nom? 18:07
moritz no
there will be a R* release based on master this month
and probably another, nom-based distribution release bevore YAPC::EU 18:08
nom: say 'a:b:c:d'.split(':', 2) 18:10
p6eval nom: OUTPUT«Method 'split' not found for invocant of class 'Str'␤current instr.: '_block1002' pc 85 ((file unknown):76376827) (/tmp/ziLRl9OF62:1)␤»
tadzik good evening-o
moritz \o
18:17 Holy_Cow left 18:20 zloyrusskiy left 18:21 benabik left, soh_cah_toa joined
mjreed moritz: thanks. given the lack of releases in May and June I thought maybe nom was the new target.. 18:27
sorear mjreed: there were no releases May and June because Star is released quarterly 18:30
18:33 jevin left 18:35 envi left 18:37 jevin joined
moritz at least it is now; used to be monthly 18:38
18:43 Jackneill left 18:44 zloyrusskiy joined 18:47 lichtkind joined 18:59 impious joined, impious left 19:01 mjreed left 19:07 cooper joined
moritz I just investigated porting IO::Socket::INET from master to nom 19:21
it needs Buf
and it relies on the now-deprecated sharing of attributes between roles the classes they are mixed into 19:22
dalek kudo/nom: 6c8b8d1 | moritz++ | src/core/ (2 files):
port Str.split(Str) from master
tadzik I now officially passed my gsoc midterms :) 19:24
moritz congratulations tadzik 19:25
moritz hopes he also passed his mideterms. He got no notification about it :/ 19:26
*midterms
mberends tadzik++
19:30 zloyrusskiy left 19:31 mjreed joined, mjreed left
moritz std: Rat.&floor 19:32
p6eval std 516268a: OUTPUT«ok 00:01 122m␤»
tadzik nom: say &Rat::floor.WHAT
p6eval nom: OUTPUT«Any()␤»
tadzik nom: say &Rat::denominator.WHAT
p6eval nom: OUTPUT«Any()␤»
19:33 thou joined
moritz nom: say Rat.^methods.grep('denominator')[0].WHAT 19:36
p6eval nom: OUTPUT«Mu()␤»
moritz nom: say Rat.^methods
p6eval nom: OUTPUT«new BUILD nude Num Int Bridge Rat succ pred Str perl <anon> <anon> abs sqrt sin cos tan sinh cosh tanh floor ceiling unpolar cis Complex log exp Numeric log log10 exp roots ACCEPTS Bool gist rand bytes chars fmt substr uc lc ucfirst lcfirst chomp chop ord flip index rindex o…
[Coke] tadzik++
moritz nom: say Rat.^methods.grep('chars')
p6eval nom: OUTPUT«chars␤»
moritz nom: say Rat.^methods.grep('chars')[0].WHAT
p6eval nom: OUTPUT«Method()␤»
tadzik yes, Rat.^methods.grep('chars')[0].WHY is definitely ugly :) 19:37
moritz nom: say Rat.^methods.grep('numerator')[0].WHAT
p6eval nom: OUTPUT«Mu()␤»
tadzik nominator?
moritz numerator and denominator, iirc
tadzik mebbe
moritz ah, problem is probably that the accessor methods don't know their own name 19:38
it's a bug I have fixed in master too at some point :-)
19:52 tomaw_ joined 19:53 mtk left 19:55 felliott joined
moritz rakudo: say Method.^mr0 19:56
rakudo: say Method.^mro
p6eval rakudo 1ddda5: OUTPUT«Method 'mr0' not found for invocant of class 'ClassHOW'␤ in main program body at line 22:/tmp/RmDmhsb3MT␤»
rakudo 1ddda5: OUTPUT«Method 'mro' not found for invocant of class 'ClassHOW'␤ in main program body at line 22:/tmp/QBgdRQ15RF␤»
moritz nom: say Method.^mro
p6eval nom: OUTPUT«Method() Routine() Block() Code() Any() Mu()␤»
moritz nom: say Method.^methods 19:57
p6eval nom: OUTPUT«Method 'gist' not found for invocant of class 'Sub'␤current instr.: 'gist' pc 478754 (src/gen/CORE.setting.pir:130216) (src/gen/CORE.setting:2216)␤»
moritz nom: say Method.^methods.join(',')
p6eval nom: OUTPUT«Method 'Stringy' not found for invocant of class 'Sub'␤current instr.: 'join' pc 458831 (src/gen/CORE.setting.pir:120399) (src/gen/CORE.setting:548)␤»
19:57 tomaw_ is now known as tomaw
moritz discovers non-turtles 19:57
TimToady it's a shell game 19:58
moritz nom: anon method foo() { }
p6eval nom: ( no output )
19:58 mberends left
moritz nom: sub f() { }; &f.'!set_name'('I CHEATED'); say &f 20:01
p6eval nom: OUTPUT«I CHEATED␤»
20:02 mtk joined
[Coke] github.com/perl6/nqp - this the nqp that rakudo/nom needs? 20:03
moritz yes
[Coke] danke
(trying to get a build going on win7) 20:04
blargh. bug in nqp build process. c:\bird got translated to Cird 20:07
moritz nom: say Rat.^method[0].name.WHAT
p6eval nom: OUTPUT«Method 'method' not found for invocant of class 'Perl6::Metamodel::ClassHOW'␤current instr.: 'dispatch:<.^>' pc 456617 (src/gen/CORE.setting.pir:119447) (src/gen/CORE.setting:437)␤»
moritz nom: say Rat.^methods[0].name.WHAT
p6eval nom: OUTPUT«Str()␤»
moritz nom: say Rat.^methods[0].name.reverse_index('(', 0)
p6eval nom: OUTPUT«Method 'reverse_index' not found for invocant of class 'Str'␤current instr.: '_block1002' pc 131 ((file unknown):19393963) (/tmp/JupOqVQuDg:1)␤»
moritz [Coke]: outch 20:08
20:10 mberends joined, kaare__ left
[Coke] fixing... 20:14
this sucks. I have my git command shell, my msvc command shell, and my regular command shell. ;)
moritz [Coke]: you clearly need EMACS to unify them :-) 20:15
moritz runs fast and far
20:15 felliott left 20:16 takadonet left
[Coke] I don't even use emacs on *nix. :P 20:17
hurm. i wonder if this is a bug in parrot.
looks like. 20:18
moritz hum, my fix for the attributes-don't-know-their-names bug makes the setting compilation loop or something 20:35
[Coke] ah. when trying to build things on windows, be sure to use dirs like "C:/bird", not "C:\bird", or something gets confused. 20:45
20:46 masak joined
masak good evening, #perl6. 20:46
[Coke] guten abend, masak. 20:47
mberends hello masca lark
dalek p: 4e4a66e | moritz++ | src/HLL/Actions.pm:
replace guts of string_to_int with a short call to nqp::radix
masak mberends: moin marbend treins 20:48
20:50 alester left 20:51 cognominal_ left, jferrero left
[Coke] anyone else building rakudo/nom and NOT using --gen-parrot ? 20:51
20:52 jferrero joined
[Coke] I installed parrot-latest, nom-latest, and am getting a "nqp too old" error building rakudo. 20:52
moritz [Coke]: what does 'git branch' say inside the nqp repo? 20:56
[Coke] I think I just missed an update. :P 20:57
ah, no. it configures fine, but that dies on nmake... checking... 20:58
moritz: master.
should it also be nom?
qregex? 20:59
20:59 Yappoko___ joined 21:00 jevin left
[Coke] my --gen-parrot rakudo on osx has no set branch in the nqp/ build dir. 21:01
21:03 jevin joined 21:04 tokuhir__ joined 21:06 cognominal joined
[Coke] this is weird - when I configure rakudo/nom, it's fine. when I make it, the check there bombs and it tells me to reconfigure... 21:06
21:07 Yappoko__ left, zby_home_ joined
[Coke] gist.github.com/e2c0454bb8017213aa7b 21:07
21:11 buubot_backup left
lichtkind mberends: cheers 21:12
jnthn: nazdravi :)
mberends cheers 2 U 2, lichtkind 21:13
lichtkind no spare char :) 21:15
21:15 bluescreen10 left 21:19 thundergnat left 21:20 zby_home_ left 21:25 drbean joined 21:29 thundergnat joined 21:30 buubot_backup joined 21:42 Kivutarrr left 21:46 Patterner left
masak the game now has descriptions for things. it thereby feels much more "complete". 21:47
(it's also just over 1kLoC at this point)
I invite people to try it out, and try to shake out bugs and corner cases that I've missed.
make sure you read the messages on the walls :) 21:48
github.com/masak/crypt
21:48 Psyche^ joined, Psyche^ is now known as Patterner
jlaire masak: I tried 'help car', got: Sorry, I don't understand the verb 'help'. Type 'help' for suggestions. 21:54
funny :), maybe it should just ignore the rest of input when it starts with 'help'
masak jlaire: excellent. yes :)
jlaire++
jlaire masak: 'go car' -> Sorry, I don't understand the verb 'go'. 21:56
masak hm.
ok, easy enough to fix.
jlaire I'll probably find lots of corner cases, no experience in games like this
masak that's just what I need.
jlaire I played one but it's been >10 years 21:57
masak it's too easy for the programmer to try only a very small subset of the possible state space.
jlaire yeah 21:58
21:59 kanishka joined
masak pushed a fix so that "go car" gives sensible output. 21:59
jlaire pulled, masak++ 22:00
22:00 kanishka left 22:01 Chillance joined
jlaire "You can't go the hill." :) 22:01
masak I'll leave that as it is :) 22:02
jlaire yeah, it's understandable
masak while you can arguably go a car, you actually can't go a hill :P
jlaire or a brook :P
the brook*
22:03 jevin left 22:05 jevin joined
jlaire masak: "It'd made of stone" <-- It's 22:06
masak thank you; fixing.
jlaire masak: leading whitespace confuses it 22:10
masak gotcha. will add some trimming. 22:11
22:13 leprevost left 22:19 wolfman2000 joined 22:20 wamba left
jlaire masak: look water => Any() 22:21
o_o
masak oops. 22:22
good catch.
fixed. 22:23
jlaire++ 22:26
going to bed now. I will backlog to catch any more bugs and things people++ turn up.
'night.
22:26 masak left
lichtkind good night 22:32
22:36 brainproxy left 22:38 Raynes is now known as lazybot, lazybot is now known as Raynes
jlaire masak: I've several times used 'wall' instead of 'walls' 22:40
22:43 lichtkind left
jlaire masak: pastebin.com/QbJFppfa <-- a bug and a (perhaps intended?) shortcut 22:54
(others++: spoiler warning!)
22:59 Mowah left 23:08 Trashlord left 23:09 Trashlord joined
jlaire masak: pastebin.com/WtzeE9Vn 23:23
masak: I didn't find some of the items... 23:24
23:24 envi joined
jlaire masak: the game was fun but quite difficult, I don't think I'd had the patience to solve it without peeking at the source 23:25
masak: (which is a joy to read)
otoh, it's bedtime here &
23:33 orafu left 23:35 orafu joined 23:44 zloyrusskiy joined
soh_cah_toa hey, could somebody help me understand the difference between: sub &infix:<foo> vs. sub infix:<foo> ? 23:58