»ö« 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.
dalek ecza: 8cf84c4 | (Solomon Foster)++ | t/spectest.data:
Turn on S03-operators/short-circuit.t.
00:01
ecza: d1c33de | (Solomon Foster)++ | lib/CORE.setting:
Fix postfix:<i> so it handles Complex numbers properly.
00:02 awoodland joined 00:04 wallberg left
sorear colomon: pong 00:13
00:23 kaare_ left 00:27 Chillance left 00:31 xjiujiu joined, alester left 00:32 am0c joined 00:37 ksi left 00:49 xjiujiu left, donri left 00:59 X99 joined
colomon sorear: whoops 01:06
sorear: I've got a couple of failing spectests here now. I think from changes of yours earlier in the day?
S13-type-casting/methods.t and t/spec/S32-trig/atan2.t 01:07
sorear colomon: this test (S13) is pretty nonsense 01:18
subclassing Str? and then calling new? seriously? 01:19
colomon it's dodgy, for sure, but I believed it's always worked in Rakudo... 01:23
do you have a reason to think it is actually wrong? I'm certainly not attached to it... 01:24
sorear yes
the test predates Cool, and we use Cool now to mark stuff that can be coerced
dalek ast: 307d69f | sorear++ | S13-type-casting/methods.t:
[S13-type-casting/methods] We use Cool to mark Str-usable things now; refudge
01:25
sorear the second failure is very real though 01:26
colomon niecza: 10.Rat(1e-9) 01:27
p6eval niecza v12-124-gd1c33de: OUTPUT«Unhandled exception: Excess arguments to Int.Rat, used 1 of 2 positionals␤ at /home/p6eval/niecza/lib/CORE.setting line 0 (Int.Rat @ 0) ␤ at /tmp/QXCba_zo2W line 1 (mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2486 (ANON @ 2) ␤ at /hom…
dalek ecza: 46519aa | sorear++ | lib/CORE.setting:
Oops, adding this made no sense
01:28
01:28 envi_ joined
colomon that's got it 01:29
01:29 cooper left, cooper joined
dalek ast: d0e5790 | (Solomon Foster)++ | S32-num/power.t:
Unfudge test that works now.
01:38
ast: 797dfa0 | (Solomon Foster)++ | S05-grammar/action-stubs.t:
Unfudge test that works now.
01:41 drbean left 01:44 alvis left 01:46 drbean joined 01:50 hundskatt joined
colomon sorear: originally what I pinged you for was for help writing infix:<^^> and infix:<xor>. but after studying the source, I figure it's too complicated for an easy project tonight. :) 01:54
02:20 Ingis left
dalek ast: 0956e55 | (Solomon Foster)++ | S0 (2 files):
Fudge for niecza.
02:23
02:23 wolfman2000 joined
dalek ecza: bc9276f | (Solomon Foster)++ | t/spectest.data:
Turn on S02-lexical-conventions/unspace.t.
02:23
colomon perl6: say "a".ord 02:26
p6eval niecza v12-125-g46519aa: OUTPUT«Unhandled exception: Unable to resolve method ord in class Str␤ at /tmp/4ISJ7ffSZS line 1 (mainline @ 1) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2485 (ANON @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 2486 (module-CORE @ 59) ␤ at /home/p…
..pugs b927740, rakudo dfd1d7: OUTPUT«97␤»
colomon sorear: ping? 02:32
niecza: say "a".codes 02:34
p6eval niecza v12-125-g46519aa: OUTPUT«1␤»
colomon nom: say "hello".ord 02:35
p6eval nom dfd1d7: OUTPUT«104␤»
02:38 mkramer1 left
sorear colomon: pong 02:42
colomon o/ 02:43
one moment,
sorry, wife had a present wrapping disaster just then 02:44
I think I meant to be asking about implementing .ord
I distracted myself by actually going a long way toward figuring out the C# aspects of the problem. 02:45
nom: say "".ord 02:46
p6eval nom dfd1d7: OUTPUT«Cannot get character of empty string␤ in method ord at src/gen/CORE.setting:1734␤ in block <anon> at /tmp/xrwqL7xQub:1␤ in <anon> at /tmp/xrwqL7xQub:1␤»
sorear niecza: say ord("七")
p6eval niecza v12-125-g46519aa: OUTPUT«19971␤»
sorear colomon: LHF. 02:47
colomon oh, geez!
never thought to check that
okay, I can take it from there.
colomon wishes he had an embarrassed smiley face
dalek ecza: 7c57deb | (Solomon Foster)++ | lib/CORE.setting:
Add Cool.ord.
02:50
ecza: 7b80047 | (Solomon Foster)++ | t/spectest.data:
Turn on S02-literals/quoting-unicode.t.
colomon well, sweet, that's a 72 test file which now works without any fudging at all. 02:51
nom: say ords("hello") 02:53
p6eval nom dfd1d7: OUTPUT«104 101 108 108 111␤»
colomon perl6: say ords("hellO")
p6eval pugs b927740: OUTPUT«*** No such subroutine: "&ords"␤ at /tmp/iqnwvDDeWw line 1, column 5 - line 2, column 1␤»
..rakudo dfd1d7: OUTPUT«104 101 108 108 79␤»
..niecza v12-125-g46519aa: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ 'ords' used at line 1␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 880 (die @ 2) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1143 (P6.comp_unit @ 32) ␤ at /hom…
colomon nom: say ords("hello").chrs 02:56
p6eval nom dfd1d7: OUTPUT«hello␤»
colomon niecza: say "hello".comb 03:00
p6eval niecza v12-125-g46519aa: OUTPUT«h e l l o␤»
colomon :\
sorear :\ ? 03:02
colomon niecza> "hello".comb
Unable to resolve method postcircumfix:<( )> in class Any
at /Users/colomon/tools/niecza/lib/CORE.setting line 501 (Cool.comb @ 7)
My only change was adding two subs in CORE.setting. 03:03
sorear cool, you've discovered a new REPL bug 03:04
colomon \o/
sorear comb doesn't work in the REPL for me either
colomon ooo, looks like my code does indeed work. sorear++ 03:05
03:08 Ingis joined 03:10 arlinius joined
colomon niecza: say "\c[LATIN CAPITAL LETTER A, COMBINING DOT ABOVE]" 03:12
p6eval niecza v12-128-g7b80047: OUTPUT«A􏿽xCC􏿽x87􏿽xE2􏿽x90􏿽xA4»
[Coke] niecza: say q{"\00"}
p6eval niecza v12-128-g7b80047: OUTPUT«"\00"␤»
dalek ast: 5c867ca | (Solomon Foster)++ | S29-conversions/ord_and_chr.t:
Fudge for niecza.
03:13
ast: 6725641 | coke++ | S02-literals/char-by-number.t:
niecza fudge
ecza: 98e6ce1 | coke++ | t/spectest.data:
run fudged test
03:14
ecza: cbdb331 | coke++ | t/spectest.data:
run (already) fudged test
03:17
ecza: 481d20d | (Solomon Foster)++ | lib/CORE.setting:
Add .chr, .ords, .chrs, ords, and chrs.
03:22
ecza: 4102b49 | (Solomon Foster)++ | t/spectest.data:
Turn on S29-conversions/ord_and_chr.t.
ecza: 64f5cf1 | coke++ | t/spectest.data:
run another test
03:23
colomon [Coke]: That ord_and_chr.t was another 247 passing tests
[Coke] I just added a couple of dozen. 03:25
colomon It's been a good evening for it. :)
dalek ast: 20ad8da | Coke++ | S02-names-vars/contextual.t:
@*INC isn't always set.
03:26
[Coke] that's a left over from weeks ago that I just found on my home machine. 03:27
colomon 'night, all 03:28
[Coke] colomon: ~~ 03:29
03:31 mkramer joined
[Coke] sorear: S02-literals/hex_chars.t fails only one test for me (but is hard to fudge) 03:33
so maybe you can wrangle it. ;) 03:34
03:36 Psyche^ joined 03:37 Patterner left, Psyche^ is now known as Patterner
sorear colomon++ [Coke]++ 03:39
[Coke] t/spec/S05-mass/named-chars.t looks tempting. 03:40
03:40 mkramer left
colomon [Coke]: I fudged it so it runs to completion, but it's got gazillions of fails. 03:40
dalek ast: f1b8437 | coke++ | integration/advent2009-day19.t:
niecza fudge
ecza: 794a876 | coke++ | t/spectest.data:
run more tests
03:41
03:42 fridim_ joined 03:44 alc joined 03:49 docdurdee joined
sorear whyfor the fails? 03:49
03:52 alc left 03:54 hundskatt left
sorear oh 03:54
03:55 lutok left
dalek ecza: 59989fe | sorear++ | / (2 files):
Fix case being ignored on multi-character backslash escapes; we now pass S05-mass/named-chars.t
03:59
03:59 drbean left 04:00 docdurdee left
sorear [Coke]: hex_chars.t will fix itself after the next bootstrap 04:03
it's one of the issues that results from boot/ not being surrogates aware
so the chr() call inside the compiler fails
[Coke] ah. 04:05
04:06 drbean joined
[Coke] before 59989fe, we got up to 12198 passing tests. 04:06
04:07 shinobicl_ joined
[Coke] 377 more from that test. 04:08
nom: say (12198+377)/18418
p6eval nom dfd1d7: OUTPUT«0.682755999565642␤»
[Coke] nom: say (18418*.7-(12198+377)).Int 04:09
p6eval nom dfd1d7: OUTPUT«317␤»
[Coke] sorear++
04:09 agentzh joined
sorear niecza: say (12198+377)/18418 04:10
p6eval niecza v12-135-g59989fe: OUTPUT«0.68275599956564226␤»
sorear I fixed this yesterday :P
perl6: say log(2) - ~log(2)
p6eval rakudo dfd1d7: OUTPUT«3.33066907387547e-16␤»
..pugs b927740, niecza v12-135-g59989fe: OUTPUT«0␤»
moritz good morning 04:20
04:20 awoodland left
moritz phenny: tell tadzik the failure in Panda is easy to fix "class Pand::Ecosystem is Pies::Ecosystem" should have s/is/does/. Otherwise it tries to pun a class from the role, and fails because methods are stubbed 04:21
phenny moritz: I'll pass that on when tadzik is around.
moritz the error message might be a tad LTA though
phenny: tell tadzik I can push the fix if you give me a commit bit :-) 04:22
phenny moritz: I'll pass that on when tadzik is around.
04:23 hugme joined
moritz hugme: list projects 04:23
04:23 ChanServ sets mode: +v hugme
hugme moritz: I know about Math-Model, Math-RungeKutta, MiniDBI, bench-scripts, book, gge, hugme, ilbot, java2perl6, json, modules.perl6.org, november, nqp-rx, nqpbook, perl6, perl6-examples, perl6-wtop, proto, pugs, rakudo, star, svg-matchdumper, svg-plot, tardis, try.rakudo.org, tufte, ufo, web, yapsi 04:23
moritz no panda :(
sorear no niecza either.
did we ever get the github org thing resolved? 04:24
moritz which thing do you mean?
sorear iirc there were issues with github orgs that prevented rakudo from working after perl6 became an org 04:25
moritz continues to backlog, and finds that tadzik++ already came to the same conclusion (re panda)
sorear: I don't remember such issues
sorear: only hugme wasn't able to add people to an organization, because the organization API wasn't working back then 04:26
sorear that's what I mean, "hugme: add foo to rakudo" 04:27
moritz hugme: add sorear to perl6
hugme moritz: You need to register with freenode first
moritz hugme: add sorear to perl6
04:27 hugme left 04:28 hugme joined
moritz urks, seems that thing is broken again 04:28
04:28 ChanServ sets mode: +v hugme
moritz malformed JSON string, neither array, object, number, string or atom, at character offset 0 (before "LWP will support htt...") at /home/moritz/perl5/perlbrew/perls/perl-5.14.1/lib/site_perl/5.14.1/JSON/Any.pm line 571. 04:28
that's how hugme dies
but it worked before, and it's probably just a SMOP to fix, not a fundamental issue
hugme: hug github 04:30
hugme hugs github
dalek ecza: 525ca24 | sorear++ | lib/UCD.cs:
Add support for the roast-defined LF, CR, FF, NEL aliases
04:32
04:32 hugme left, hugme joined 04:33 ChanServ sets mode: +v hugme
moritz hugme: add moritz to perl6 04:33
hugme hugs moritz. Welcome to the perl6 github organization
moritz ah, an upgrade of Net::GitHub fixed it
yay for easy maintenance :-)
dalek ast: 34bcde0 | sorear++ | S05-mass/named-chars.t:
[S05-mass/named-chars] Unfudge for niecza
04:34
sorear 44 more tests
moritz: SMO"P" eh :) 04:35
04:36 drbean left
moritz :-) 04:36
sorear: it was, I just let somebody else do the programming :-)
04:37 kaleem joined
moritz let's see if an update of POE::Component::IRC::Plugin::AutoJoin also fixes the problem that hugme often fails to rejoin 04:39
04:39 hugme left 04:40 hugme joined, ChanServ sets mode: +v hugme 04:42 drbean joined 04:48 shinobicl_ left 04:59 drbean left 05:06 mikemol left 05:12 drbean joined 05:20 envi_ left 05:23 alvis joined 05:26 alvis_ joined 05:28 alvis left
moritz tries to sleep again 05:30
sorear gn
05:32 alvis_ left
masak morg'n, #perl6 05:34
sorear o/ mask
waitwaitwait. Why are masak and moritz in opposition if they're both in the CEST/EEST region? 05:35
05:36 molaf joined 05:39 kaleem left
masak sorear: I can only guess because moritz wanted a few extra shuts of eye due to wakeful child-rearing. 05:44
and I'm early up, because I'm still partly on Hong Kong time. :) 05:47
ss/early up/up early/
masak is stoked about this year's p6cc, and want to make other people excited about it too 05:49
sorear *muhahahahahaa8* 05:50
masak: backlogged any yet? 05:51
dalek ast: 42cc279 | sorear++ | S05-mass/properties-script.t:
[S05-mass/properties-script] Bidi, lookahead

Restores the negative lookahead tests that were removed in f199800d; updates Bidi_Class checks to use valued property syntax; adds missing underscores to Old_Italic and Canadian_Aboriginal.
05:54
sorear 361 more passing tests 05:55
dalek ecza: 45f825d | sorear++ | / (2 files):
Implement usage of pseudo-properties like :Letter for all gc/sc aliases
masak sorear: I'm backlogging now and then, but I'm still on 2011-12-04. 05:56
sorear: was there anything noteworthy in the past few hours that I should have seen?
sorear coke, colomon, and I have been attacking spectests is all. 05:57
niecza: say (12198+377+44+361)/18418
p6eval niecza v12-136-g525ca24: OUTPUT«0.70474535780215009␤»
sorear and that. ;) 05:58
masak: ^^^ directed at you 05:59
masak sorear: ok -- what do the numbers mean? 06:01
sorear 18418 - non-skip spectests passed by Rakudo nom 06:02
12198 - non-skip spectests passed by Niecza as of much earlier today
377+44+361 - new test files added to niecza's linup since then
masak \o/
sorear++ 06:03
dalek ecza: 20a19dd | sorear++ | src/STD.pm6:
Allow <:!Letter> to parse
masak sorear: at this rate, you'll overtake Rakudo sometime around Easter ;)
06:04 kaleem joined
sorear I would also like to call your attention to the fact that the result of the division is displayed in convenient decimal format 06:04
masak _sri++ # wanting reference documentation 06:05
sorear: yes, I noticed already yesterday when I upgraded. that's very nice.
sorear rakudo: / <:Moo> /
p6eval rakudo dfd1d7: ( no output )
06:07 molaf left
dalek ecza: 3c28d9b | sorear++ | lib/UCD.cs:
Enable loose matching for property *names*
06:11
06:11 benabik left 06:12 alvis joined 06:16 alvis left
dalek ecza: d8d1e25 | sorear++ | lib/UCD.cs:
Fix <:CurrencySymbol> rejection
06:16
06:18 alvis joined, jaldhar left, alvis left
sorear gently taunts the person who decided to use 9FC4 as an "unassigned character" in properties-general.t 06:21
it's a CJK ideograph with Age=5.2. Write future-proof tests please
it turns out that the tests that are failing as a result are *precisely* the tests that Rakudo skips, except for the Lr ones 06:23
06:24 jaldhar joined
sorear I'm gonna change em to FFFE and FFFF 06:24
dalek ast: 3e54827 | sorear++ | S05-mass/properties-general.t:
[S05-mass/properties-general] Update, niecza fudge

This file was using characters chosen to be unassigned in Unicode 5.1, but they got assigned in 5.2! They have been changed to characters guaranteed to remain unassigned.
06:31
ecza: 8e88d76 | sorear++ | lib/UCD.cs:
Seems the spectests want Sc to mean :gc<Sc>, requiring Script written out in full
ecza: b6f0531 | sorear++ | t/spectest.data:
We run S05-mass/properties-general.t
sorear niecza: say (12198+377+44+361+584)/18418 # 584 more passing spectests
p6eval niecza v12-138-g20a19dd: OUTPUT«0.73645346943207735␤»
06:33 alvis joined, alvis left
masak [Coke]: re pasting with a bot: what if there was a bot who listened people's gist feeds, and gists marked up in some trivial way were reported to the channel. people would have to "register" their github accounts with the bot for it to listen to them. 06:48
I think that could be quite nice.
06:49 alvis joined 06:50 alvis left
masak [backlog] Things I Did Not Expect, #518: a US politics blog does a riff on one of Perl 6's operators, and links to the Perl 6 Advent calendar. o.O 06:59
07:03 koban joined
dalek ecza: 7450fe2 | sorear++ | lib/UCD.cs:
Add ANY, ASCII, ASSIGNED properties
07:03
07:15 mkramer joined
dalek ecza: 2f49fa3 | sorear++ | / (2 files):
Add :InFoo block shortcuts
07:25
sorear 670 more!
dalek ast: 1f2c5a3 | sorear++ | S05-mass/properties-block.t:
[S05-mass/properties-block] Unfudge for niecza
masak woo! 07:26
sorear niecza: say (12198+377+44+361+584+670)/18418
p6eval niecza v12-143-g7450fe2: OUTPUT«0.77283092626778149␤»
sorear will retire for the night now.
masak sorear: sleep well. 07:29
masak hops on a train & 07:30
07:36 X99 left 07:48 drbean left 07:54 drbean joined 07:56 pkkm_ joined 08:05 GlitchMr joined 08:22 cognominal_ joined 08:24 cognominal left 08:32 mkramer left 08:33 Trashlord left 08:34 Trashlord joined 08:35 Trashlord left 08:36 pkkm_ is now known as pkkm 08:37 Trashlord joined 08:41 alvis joined 08:43 alvis left 08:48 baest joined 08:53 donri joined
donri perl6: say ?:!foo 08:53
p6eval rakudo dfd1d7, niecza v12-144-g2f49fa3: OUTPUT«Bool::True␤»
..pugs b927740: OUTPUT«1␤»
donri this can't possibly be right? 08:54
perl6: say :!foo.value
p6eval pugs b927740: OUTPUT«pugs: Named argument found where no matched parameter expected: (foo,Val (VBool False))␤»
..rakudo dfd1d7, niecza v12-144-g2f49fa3: OUTPUT«Bool::False␤»
donri perl6: say "hi" if :!foo 08:57
p6eval pugs b927740, rakudo dfd1d7, niecza v12-144-g2f49fa3: OUTPUT«hi␤»
09:02 pomysl_ left, daxim joined 09:03 pomysl joined, pomysl left, pomysl joined
dalek nda: 87743c0 | tadzik++ | lib/Panda/Ecosystem.pm:
Fix a typo. Fixes compilation issues on new Rakudo
09:07
09:11 wallberg joined 09:16 wallberg left, pomysl left, pomysl joined, pomysl left, pomysl joined
dalek nda: ebafa5b | tadzik++ | / (2 files):
Don't compile precompile modules for now. Causes more harm than good
09:22
09:25 am0c left 09:27 imarcusthis left, imarcusthis- joined 09:32 alvis joined 09:36 alvis_ joined, alvis_ left 09:37 alvis left 09:40 alvis joined
tadzik Perl 5 has Module::XS. How would you name a Perl 6 module using NCI? 09:42
phenny tadzik: 04:21Z <moritz> tell tadzik the failure in Panda is easy to fix "class Pand::Ecosystem is Pies::Ecosystem" should have s/is/does/. Otherwise it tries to pun a class from the role, and fails because methods are stubbed
tadzik: 04:22Z <moritz> tell tadzik I can push the fix if you give me a commit bit :-)
tadzik perl6: (:foo).perl.say 09:43
p6eval rakudo dfd1d7, niecza v12-144-g2f49fa3: OUTPUT«"foo" => Bool::True␤»
..pugs b927740: OUTPUT«("foo" => Bool::True)␤»
tadzik donri: ^
perl6: (:!foo).perl.say
p6eval rakudo dfd1d7, niecza v12-144-g2f49fa3: OUTPUT«"foo" => Bool::False␤»
..pugs b927740: OUTPUT«("foo" => Bool::False)␤»
tadzik perl6: (:!foo).value.perl.say 09:44
p6eval pugs b927740: OUTPUT«\Bool::False␤»
..rakudo dfd1d7, niecza v12-144-g2f49fa3: OUTPUT«Bool::False␤»
09:45 alvis left 10:02 fridim_ left 10:03 cognominal_ left, cognominal___ joined 10:04 pomysl left 10:13 pomysl joined, pomysl left, pomysl joined 10:19 pomysl left 10:21 drbean left 10:27 drbean joined 10:37 fsergot joined
fsergot hi o/ 10:37
masak \o hi
(from a train!)
10:43 mj41 joined 10:48 fsergot left 10:50 kshannon joined 10:56 pomysl joined
kshannon niecza: sub infix:<foo> ($a, $b = ($a foo 3 * 4)) is tighter(&infix:<*>) { ($a + $b) / 2 }; say infix:<foo>(1); say 1 foo (1 foo 3 * 4); say 1 foo (1 foo (3 * 4)); 10:57
p6eval niecza v12-144-g2f49fa3: OUTPUT«3.75␤4.5␤3.75␤»
kshannon installed into the grammar before the signature, and then precedence fixed up later after the default is parsed... 10:58
admittedly an edge case that should never occur naturally. 11:01
11:04 AlexBear joined 11:11 AlexBear left
kshannon Ok, again but this time cover using the operator in the definition body: 11:19
niecza: sub infix:<foo> ($a, $b = ($a foo 2 * 3 - $a)) is tighter(&infix:<*>) { $a == 0 ?? 1 foo 2 * 3 !! $a + $b }; say infix:<foo>(1); say 1 foo 2 * 3; say 1 foo (2 * 3); say (1 foo 2) * 3; say 0 foo 0;
p6eval niecza v12-144-g2f49fa3: OUTPUT«7␤9␤7␤9␤9␤»
11:28 agentzh left
moritz
.oO( use parenthesis! )
11:29
perl 6 has the iron rule of never reparsing source code
I don't think we will bend it for such a case
11:30 bkolera joined 11:34 Gothmog_ left 11:35 ispeak joined 11:36 whiteknight joined, whiteknight is now known as Guest91318 11:38 Gothmog_ joined
donri tadzik: i know, but certainly the .Bool of a Pair is more intuitively the .value.Bool? 11:42
especially considering the :! syntax 11:43
i guess it's primarily used in ways where you get the .value anyway, rarely the Pair itself 11:44
11:46 agentzh joined 11:49 hundskatt joined 11:54 ghjk465 joined 12:07 ispeak left 12:10 daxim left 12:14 daxim joined 12:20 pkkm_ joined 12:23 pkkm left 12:38 bluescreen10 joined 12:43 mikemol joined
tadzik donri: maybe 12:54
12:58 mj41 left
ghjk465 hi 13:19
13:42 mkramer joined 13:44 kaleem left 13:51 donri left 14:00 am0c joined
moritz nom: say (:foo, :!foo)>>.Bool 14:02
p6eval nom dfd1d7: OUTPUT«Bool::True Bool::True␤»
14:12 kaleem joined 14:17 Mowah joined, cognominal___ left 14:19 cognominal joined, bkolera left 14:22 GlitchMr left
colomon is .bytes really supposed to be implementation independent? 14:24
14:24 baest left
colomon I asked because S32-str/length.t has a bunch of tests for .bytes, and niecza fails almost all of them. 14:26
looking at the spec, I don't get the impression these tests are correct
moritz I don't think .bytes makes sense on a Str at all 14:27
more on a Buf
colomon it's definitely spec
our Int multi method bytes ( Str $string: $enc = $?ENC, :$nf = $?NF) is export
Returns the number of bytes in the string if it were encoded in the specified way.
moritz yes, I know it's spec 14:28
colomon but all the tests are using the default encodings.
moritz but... I don't see the reason for .bytes at all
colomon I think it makes sense -- maybe you need to know how much storage is being taken up.
but I'd think it would be used very infrequently 14:29
moritz colomon: but that's not what .bytes returns
colomon: it returns what storage would be taken up if the Str was encoded in a certain normal form and character encoding
colomon oh. 14:30
moritz but I can't think of any use case where you need to know that, but not need the buffer with that representation
colomon so it's actually telling you how big the equivalent Buf would be.
moritz ... in which case you'd just get the Buf straigt away, and ask *that* for the number of bytes
colomon: correct
kshannon So to get user defined precedence in Rakudo I'm thinking we'll need something like function_O from github.com/sorear/niecza/blob/mast...endSTD.pm6 in Perl6::Grammar and then fiddle with gen_op to call it rather than use the pre-calculated %prec.
I mean build the PAST to call it; not call it directly from gen_op. 14:31
colomon moritz: got to agree, that sounds like at best it has a very very very limited use
moritz kshannon: that sounds roughly sane, but I don't really know much of the operator overloading code 14:32
colomon back off to the insanity of last minute Christmas shopping... 14:34
kshannon We'll also need to implement the appropriate traits to save the information in the routine for the function_O to be able to find later.
The more I look at the more I think I'm biting off more than I can chew for a first patch... :) 14:36
14:38 koban left
Util Does any Perl 6 implementation currently support FIRST blocks? 14:52
moritz kshannon: have you been reading the advent calendar?
perl6: for 1, 2, 3 { FIRST { .say } }
p6eval rakudo dfd1d7: OUTPUT«===SORRY!===␤FIRST phaser not yet implemented at line 1, near " }"␤»
..niecza v12-144-g2f49fa3: OUTPUT«===SORRY!===␤␤Action method statement_prefix:FIRST not yet implemented at /tmp/BhNQXNbsQJ line 1:␤------> for 1, 2, 3 { FIRST { .say }⏏ }␤␤Unhandled exception: Unable to resolve method statement_level in class Str␤ a…
..pugs b927740: OUTPUT«␤»
moritz Util: looks like "no"
Util moritz: thanks! 14:53
14:58 ghjk465 left, molaf joined, agentzh left
kshannon moritz: Yes :) 15:14
15:18 MayDaniel joined
moritz kshannon: good to see it's inspiring 15:29
15:38 flussence_ left 15:39 flussence joined 15:40 flussence_ joined
sorear good * #perl6 15:42
15:43 flussence left
sorear hello kshannon 15:45
rakudo: 2 @ 3
p6eval rakudo dfd1d7: OUTPUT«===SORRY!===␤Confused at line 1, near "2 @ 3"␤»
sorear rakudo: { my sub infix:<@>($x,$y) { $x * $y } }; 2 @ 3
p6eval rakudo dfd1d7: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&infix:<@>' called (line 1)␤»
moritz ENOTLEXICALENOUGH 15:49
15:49 molaf left
colomon sorear: did you see moritz++ and my discussion about .bytes? 15:54
sorear colomon: yes 15:56
colomon opinion? 15:57
sorear I, too, have never seen a use case for it
colomon even if there is a use case, does it make any sense to test it against a default number of bytes? that seems very implementation-dependent to me. (ie regardless of whether .bytes deserves to be whacked, are the tests wrong?_ 15:58
)
sorear colomon: If there is a standard default encoding (perhaps utf8/NFC), then the tests aren't "wrong" 16:01
however I doubt that much is actually spelled out in the spec
moritz I think the implicit assumption is that UTF-8 and some composed normal form are the default
but I'm not sure I've seen it in the spec either 16:02
colomon the definition references $?ENC and $?NF. Are those specified somewhere? 16:03
moritz nope, doesn't seem like (from a quick ack) 16:08
16:08 pkkm_ is now known as pkkm
colomon okay, I'm taking those tests out of roast 16:13
dalek ast: c266519 | (Solomon Foster)++ | S32-str/length.t:
Remove the .bytes tests on the theory they are misguided and method itself
16:21
ecs: e52fc11 | util++ | S28-special-names.pod:
Fix typo. $*ARGFILES is plural in all but one instance.
16:22
16:24 pkkm left 16:32 kaleem left, kaare_ joined 16:42 thou joined
colomon we landed properties-block.t, properties-general.t, and properties-script.t?! \o/ 16:42
sorear colomon: yes 16:43
colomon that's like 1000 tests, isn't it?
sorear -derived eluded me though.
niecza: say 361+584+670
p6eval niecza v12-144-g2f49fa3: OUTPUT«1615␤»
colomon \o/
you turned on named-chars.t too, eh? 16:44
with no fudging at all?!? \o/ 16:45
16:47 MayDaniel left
colomon sorear++ sorear++ sorear++ 16:47
16:47 lopex joined 16:50 kaleem joined 16:58 MayDaniel joined
moritz nom: my %a = ('a'.. 'c') X=> 'foo'; say %h.perl; 17:00
p6eval nom dfd1d7: OUTPUT«===SORRY!===␤Variable %h is not predeclared at line 1, near ".perl;"␤»
moritz nom: my %a = ('a'.. 'c') X=> 'foo'; say %a.perl;
p6eval nom dfd1d7: OUTPUT«("a" => "foo", "b" => "foo", "c" => "foo").hash␤»
moritz nom: my %a = ('a'.. 'c') X=> [1, 0]
p6eval nom dfd1d7: ( no output )
moritz nom: my %a = ('a'.. 'c') X=> [1, 0]; say %h.perl;
p6eval nom dfd1d7: OUTPUT«===SORRY!===␤Variable %h is not predeclared at line 1, near ".perl;"␤»
moritz nom: my %a = ('a'.. 'c') X=> [1, 0]; say %a.perl; 17:01
p6eval nom dfd1d7: OUTPUT«("a" => 0, "b" => 0, "c" => 0).hash␤»
moritz erm 17:02
that... shouldn't flatten
17:04 antocat joined
colomon nom: say "hello".bytes 17:06
p6eval nom dfd1d7: OUTPUT«5␤»
17:11 daxim left
tadzik nom: say "żółw".bytes 17:12
p6eval nom dfd1d7: OUTPUT«7␤»
17:14 thou left 17:17 MayDaniel left 17:19 GlitchMr joined 17:25 lopex left 17:32 Vlavv_ joined, Vlavv_ left 17:33 Vlavv` left
dalek ast: 0188367 | (Solomon Foster)++ | S05-mass/properties-derived.t:
Fudge for niecza.
17:33
17:33 Vlavv joined
dalek ecza: 24cbe92 | (Solomon Foster)++ | t/spectest.data:
Turn on S32-str/length.t.
17:42
ecza: a9455a3 | (Solomon Foster)++ | t/spectest.data:
Turn on S05-mass/properties-derived.t.
sorear ponders what direction next 17:43
17:45 pkkm joined
dalek ast: 4d42452 | (Solomon Foster)++ | S05-mass/rx.t:
Unfudge passing tests.
17:45
colomon sorear: are grammar actions working yet? 17:49
17:52 ksi joined
sorear you mean like the stuff in NieczaActions.pm6? 17:54
17:54 mj41 joined
colomon sorear: yes, and I take it that means the answer to my question is yes. 17:57
:)
"is export"? 17:59
roles, of course, I'm assuming you'll do when you're ready 18:00
sorear colomon: subs and classes only (see Test.pm6)
yeah... don't want to start on roles this close to the 26th 18:01
colomon it's actually a hard question ("what direction next?") because frankly, pretty much everything I've tried to do in Niecza lately has worked. :)
sorear is trying to see how Rakudo does :D currently
18:04 drbean left
sorear rakudo: multi foo(Any:D $x) { "A" }; multi foo(Any $x) { "B" }; say foo(5) 18:05
p6eval rakudo dfd1d7: OUTPUT«Ambiguous dispatch to multi 'foo'. Ambiguous candidates had signatures:␤:(Any $x)␤:(Any $x)␤␤ in block <anon> at /tmp/_WbwFwt3QU:1␤ in <anon> at /tmp/_WbwFwt3QU:1␤»
18:11 drbean joined
sorear nom: say Mu.pred 18:14
p6eval nom dfd1d7: OUTPUT«Method 'pred' not found for invocant of class 'Mu'␤ in block <anon> at /tmp/waVerNGo86:1␤ in <anon> at /tmp/waVerNGo86:1␤»
sorear nom: say Mu.succ
p6eval nom dfd1d7: OUTPUT«Method 'succ' not found for invocant of class 'Mu'␤ in block <anon> at /tmp/CGCD0rBhb1:1␤ in <anon> at /tmp/CGCD0rBhb1:1␤»
[Coke] masak: (gist pasting) excellent plan. 18:16
sorear++ #even more stuff done, wow. 18:19
colomon [Coke]: new target is 75% ;) 18:20
18:22 thou joined 18:28 mj41 left, drbean left 18:33 antocat left 18:34 drbean joined
sorear colomon: no, that can't be our new target. 18:35
niecza: say (12198+377+44+361+584+670)/18418
p6eval niecza v12-146-ga9455a3: OUTPUT«0.77283092626778149␤»
colomon dang it, I wasn't quite optimistic enough! 18:37
sorear niecza: say (18418 * 0.8).Int - (12198+377+44+361+584+670) 18:38
p6eval niecza v12-146-ga9455a3: OUTPUT«500␤»
sorear that should be a nice managable number ;) 18:39
18:44 cognominal left 18:45 cognominal joined
colomon 80% by Boxing Day? 18:46
niecza: say 16797 / 18418
p6eval niecza v12-146-ga9455a3: OUTPUT«0.91198827234227386␤»
sorear wonders why github is giving a "Fork" button for sorear/niecza
What's 16767?
colomon total tests reported in a spectest run locally 18:47
but that's counting skipped and todo'd.
sorear coke's been using test_summary.pl 18:48
any new failure?
s
18:49 am0c left
colomon no new failures that I know of, but definitely some new skips & todos 18:50
18:50 Chillance joined
colomon is trying to figure out how to run test_summary against niecza 18:50
...and it's off!
moritz perl t/spec/test_sumamry niecza # I think 18:51
hm, that requires a './perl6'
which you can create as a shell script 18:52
colomon yeah, I hacked it to use mono run/Niecza.exe instead
colomon has two different perl6s installed on his system
woah, test_summary is slow compared to TEST_JOBS=4 make spectest 18:58
[Coke] yah, it's single threaded. :(
sorear o/ [Coke] 18:59
dalek ecza: 3db221f | coke++ | t/spectest.data:
run more tests
19:00 MayDaniel joined
colomon hey, no fair obsoleting my counting run before it's finished! ;) 19:01
14509 pass 19:02
moritz that's what we'd call a "luxury problem" in German :-)
colomon niecza: say 14509 / 18418
p6eval niecza v12-146-ga9455a3: OUTPUT«0.78776197198392872␤»
colomon huh. so why 305 fails with test_summary, and none with make spectest? 19:03
[Coke] colomon: huh. good question. 19:05
7 more passes with those 2 files. 19:06
colomon test_summary printed a couple of screens of messages like this:
S03-operators/arith.niecza aborted 46 test(s)
[Coke] O_o
colomon if I run it with fudgeandrun, it's perfect 19:07
[Coke] wonder if fudgeandrun is doing something different than "fudge, and run"
colomon the fudging is the same 19:08
[Coke] colomon: gist.github.com/1515097
colomon [Coke]: what's that/ 19:09
?
moritz hm, maybe test_summary doesn't like tests without a description?
but then it would show the same troubles with rakudo...
[Coke] another helper script from rakudo.
fudged to run against niecza.
colomon moritz: overflow.t (which is what I'm currently looking at) has a description
[Coke] colomon: I grabbed the 2 that were passing unfudged and just added them. but there are others like t/spec/S04-phasers/begin.t that look like they could be fudged. (already passing 6/9) 19:11
slightly higher fruit.
colomon [Coke]++
[Coke] looking at anyhash-0t 19:12
huh. already fudged, even. 19:13
split-simple.t... 19:14
colomon I think I've got it. it looks like test_summary is counting tests that have no description as failures 19:17
yup, that's the problem 19:18
gist.github.com/1515122 19:19
[Coke] ah, good catch. 19:21
niecza: ''.split('')
p6eval niecza v12-147-g3db221f: ( no output )
[Coke] niecza: say (''.split('')).perl
p6eval niecza v12-147-g3db221f: OUTPUT«["", ""].list␤»
[Coke] niecza: say +(''.split(''))
p6eval niecza v12-147-g3db221f: OUTPUT«2␤»
colomon I'm rerunning now with my patch 19:22
[Coke] nom: say +(''.split(''))
p6eval nom dfd1d7: OUTPUT«use of uninitialized value of type Nil in numeric context␤0␤»
19:22 benabik joined
[Coke] niecza: 'theXbigXbang'.split(/X/, -1) 19:23
p6eval niecza v12-147-g3db221f: ( no output )
[Coke] niecza: 'theXbigXbang'.split(/X/, -1).say
p6eval niecza v12-147-g3db221f: OUTPUT«theXbigXbang␤»
moritz nom: say 'theXbigXbang'.split(/X/, -1).perl 19:26
p6eval nom dfd1d7: OUTPUT«().list␤»
19:27 mj41 joined 19:28 kaleem left, benabik left 19:30 benabik joined 19:35 benabik left, GlitchMr left
colomon niecza: say 14814 / 18418 19:36
p6eval niecza v12-147-g3db221f: OUTPUT«0.80432185905092846␤»
sorear 80% wah?
colomon already, yup 19:37
tadzik outstanding
sorear the stuff Rakudo does better needs more tests. ;)
colomon test_summary was shortchanging us by 300-something
sorear why wasn't it shortchanging rakudo?
colomon of course, it might be shortchanging Rakudo too
[Coke]: was test_summary also showing failures for Rakudo? 19:39
moritz wonders why it's so hard to count :-) 19:41
sorear niecza: say "\c[0x3BB]" 19:44
p6eval niecza v12-147-g3db221f: OUTPUT«λ␤»
moritz fwiw new Test::Harness versions do count the number of skipped tests 19:46
it's just not printed by default
dalek ast: 5ee36f4 | (Solomon Foster)++ | test_summary:
Tests which have no description still have passed, honest.
moritz see search.cpan.org/~andya/Test-Harness...E_\*FH_%29
[Coke] colomon: yes, 28 failures for rakudo. 19:49
colomon: gist.github.com/1476841
moritz: is there an env var to print it? 19:50
moritz [Coke]: nope, it seems I need to hack t/harness (in rakudo at least) to use it
[Coke] so that's about another 250 in our favor. ;)
moritz: so we still need test_summary for now. 19:51
moritz [Coke]: aye
dalek kudo/nom: eb6c4be | moritz++ | lib/Test.pm:
[Test.pm] fix stupid thinko, moritz--
19:57
ast: 900ce61 | (Solomon Foster)++ | integration/99problems-31-to-40.t:
Fudge for niecza.
20:07
sorear moritz: it would be cool if we had an implementation-shared t/harness 20:08
niecza's is quite different and doesn't support muddle 20:09
I'd like to kill it
dalek ecza: 5dd7927 | (Solomon Foster)++ | t/spectest.data:
Turn on integration/99problems-31-to-40.t.
20:10 alvis joined
sorear colomon: a lot of these properties-derived fudges "icu" are quite silly 20:11
colomon the tests themselves, you mean? 20:12
sorear 9FC4 is immediately after the end of the ideographs block in 5.1
new ideographs are coined continuously, and occasionally they have to be encoded
20:12 mkramer left, bluescreen10 left
sorear I'd like some stern words with whoever decided to test that the Chinese would stop being Chinese 20:12
20:13 mkramer joined 20:14 alvis left
moritz muddle? 20:15
sorear moritz: [Coke]'s WIP replacement for smolder
he wants to see niecza/rakudo spectests on it, too
moritz sorear: does rakudo's harness lack any features that niecza needs? 20:16
besides calling a different executable, that is :-) 20:17
sorear moritz: ability to check out/update the spectests 20:18
(I factored this a smidge differently from Rakudo, which does it in the Makefile)
moritz sorear: well, checking out the spectests can't be done from inside a shared harness in t/spec/, that's for sure :-)
sorear hah! 20:19
moritz doing it rakudo's way has a certain advantage: if you do a parallel make, the git pull can happen while the compiler builds 20:20
20:24 bluescreen10 joined 20:27 cognominal_ joined
colomon do we have an Advent post for today? 20:28
20:28 cognominal_ left
moritz Util++ does, iirc 20:28
20:29 cognominal left, cognominal_ joined
sorear #p5p is quite infuriating at times 20:40
dalek ast: d03f6cc | (Solomon Foster)++ | integration/lazy-bentley-generator.t:
Add forgotten plan.
ecza: 0776e11 | (Solomon Foster)++ | lib/CORE.setting:
Add simple implementation of trim methods and subs.
20:41
ecza: e1a40ee | (Solomon Foster)++ | t/spectest.data:
Turn on S32-str/trim.t.
ecza: 2bf9d26 | (Solomon Foster)++ | t/spectest.data:
Turn on integration/advent2009-day17.t.
colomon That's another 100 or so passing tests.
20:47 wolfman2000 left 20:50 alvis joined, pkkm left
colomon nom: say (1, 1, 2, 3, 4, 4).grep({ $^a == $^b }).perl 20:52
p6eval nom eb6c4b: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in block <anon> at /tmp/g2O9tsIcuN:1␤ in method ACCEPTS at src/gen/CORE.setting:1290␤ in method reify at src/gen/CORE.setting:4352␤ in method reify at src/gen/CORE.setting:4257␤ in method gimme at src…
colomon pugs: say (1, 1, 2, 3, 4, 4).grep({ $^a == $^b }).perl 20:53
p6eval pugs b927740: OUTPUT«()␤»
20:53 bluescreen10 left
colomon frowns deeply at grep.t 20:57
Util I am still writing my Advent post (Idiomatic Perl 6), finishing up in the next hour. 20:58
I would greatly appreciate any reviews of the almost-complete work:
colomon Util++
Util perlcabal.org/~util/Advent/
20:59 alvis left
moritz Util: that's rather nice 21:01
Util: I jsut think that you should mark p5 and p6 separately in the code samples
Util: some people tend to gloss over the text, and miss the description of what is p5 and what is p6
21:01 mkramer left
moritz as it is, it will add confusion 21:02
colomon Util: say 0+@array; appears twice
21:03 mkramer joined
moritz also the uniq examples are a bit weird, because they use return() outside of any subroutine 21:06
would be better to just assign to my @uniq or so
21:07 mkramer left
Util colomon: yes, it is identical in P5 and P6. I thought about suppressing that case, but have not (yet?) 21:07
colomon ah
moritz and @starts_with_number = grep { /^\d/ }, @a; 21:08
would be idiomatically written as just
grep /^\d/, @a
both in p5 and p6
Util moritz: I thought grep was block-only in P6, unless you use the * trick to generate the block. 21:09
21:09 bluescreen10 joined
Util moritz: Thanks, I am adding a `#` seperator between P5/P6 sections. 21:12
dalek ecza: 7596452 | sorear++ | lib/UCD.cs:
Allow access to Script_Extensions/scx
21:23
ecza: 7139c15 | sorear++ | docs/TODO.UTS18:
Add a TODO file for UTS18 conformance items
21:42 cooper left 21:47 drbean left
sorear niecza: say "2 + 2".words 21:50
p6eval niecza v12-151-g2bf9d26: OUTPUT«2 + 2␤»
sorear perl6: say "2 + 2".words.perl
p6eval niecza v12-151-g2bf9d26: OUTPUT«["2", "+", "2"].list␤»
..rakudo eb6c4b: OUTPUT«("2", "+", "2").list␤»
..pugs b927740: OUTPUT«*** No such method in class Str: "&words"␤ at /tmp/5Aw1t166AL line 1, column 5 - line 2, column 1␤»
sorear Util: $*ARGFILES, not @*ARGFILES 21:52
21:54 drbean joined
sorear Util: @array .= rotate; is not the same as @array.push: @array.shift 21:54
Util: the former involves re-assigning all elements, so it 1. is much slower 2. will do interesting things with a list of aliases 21:55
Util sorear: thanks for catching the @* 21:57
re: the rotate, S32-Containers says: A positive rotation of 1 is defined as: @array.push(@array.shift); 21:58
sorear oh, then I suspect you may be misusing .= 22:00
or something is inconsistent
Util Is the "re-assigning all elements" just the behavior of a current implementation?
sorear rakudo: my @foo = 1,2,3,4,5; @foo.rotate; say @foo
p6eval rakudo eb6c4b: OUTPUT«1 2 3 4 5␤»
sorear rakudo: my @foo = 1,2,3,4,5; @foo.push: @foo.shift; say @foo
p6eval rakudo eb6c4b: OUTPUT«2 3 4 5 1␤»
sorear look, not the smae
Util: no, it's what .= does 22:01
.= is a compound assignment operator; it does not work in place as people like to pretend
Util I am writing about Perl 6 as specced, even if we are currently doing it wrong in an implementation.
Hmmm. "compound assignment operator". Thinking... 22:02
sorear: From the spec: 22:03
@a.=rotate # @a is rotated in place
and it works: 22:06
rakudo: my @foo = 1,2,3,4,5; @foo.=rotate; say @foo
p6eval rakudo eb6c4b: OUTPUT«2 3 4 5 1␤» 22:07
sorear I suspect whoever wrote that was using an unusual definition of "in place" 22:09
@a.=rotate means @a = @a.rotate
japhb Util: There is nothing in your example that indicates it actually happened in place, rather than the rotated values being assigned back into @foo.
Util japhb: True, my example does not provide evidence of that, one way or the other. 22:15
I look to the spec, since that exact part was authored by Larry. 22:16
git show b4f39b3a
[Containers] define .rotate more like a PDL slice, rely on other ops for exact semantics
japhb Util, sure, no argument there -- I was merely responding to your "and it works:" comment. :-)
Util japhb: Oh, I see. My "and it works" was in reply to sorear's earlier p6eval, where = was used instead of .= 22:18
22:20 bluescreen10 left 22:21 Moukeddar joined 22:33 mj41 left 22:46 MayDaniel left 22:52 M_o_C joined 23:04 fridim_ joined, drbean left 23:05 cognominal_ left 23:06 cognominal joined 23:07 M_o_C left 23:12 drbean joined
Util Last section completed, and article published: 23:20
perl6advent.wordpress.com/2011/12/2...ic-perl-6/
23:20 Moukeddar left
colomon Util++ 23:26
23:32 drbean left
japhb Util: In section "Idiom 5 ==> Idiom 6", for example "Swap two variables", I think the '#' marker between Perl 5 and Perl 6 is one line too far down. 23:34
lue Util++ Great post, feels like just a couple steps short of a "Perl 6 Idioms" pamphlet :) 23:39
[Now time to write my advent post]
23:40 drbean joined
Util japhb: fixed, Thanks! 23:40
23:40 fridim_ left
japhb No problem. And I should of course say a big Util++, because that was a truly excellent post. 23:41
sorear Util++ 23:47
tadzik Util: in Swap Variables, did # go too far? 23:51
great post, Util++ 23:54