»ö« 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.
sorear adding IO::Socket::INET could be a nice medium-size niecza task 02:51
colomon \o 03:32
sorear o/ colomon 04:22
dalek ecza: a8cbc27 | sorear++ | lib/Cursor.cs:
Encapsulate access to NFA nodes array
05:05
masak morning, #perl6 07:14
moritz \o masak 07:15
masak groups.google.com/group/comp.source...5f22?pli=1 is wonderful reading. 07:17
masak somehow it gives the Perl 5 lineage a much more early-adopter, experimental feel. 07:18
masak considers whether to start using "Pumpkin Perl" to refer to the Perl 5 lineage
there's not a trace of backwards-compat think at this stage. 07:21
TimToady is all like "oh, and I completely replaced the regex functionality with something else" (not a direct quote) 07:22
pmurias sorear: hi 07:30
phenny pmurias: 22 Feb 23:17Z <colomon> tell pmurias "Can't locate Package/Stash.pm"
pmurias: 22 Feb 23:24Z <colomon> tell pmurias Oh, just had to install Package::Stash for my new perlbrew p5.
colomon \o
pmurias colomon: hi
colomon: so the interop works now? 07:31
colomon the ansi-color test works fine, anyway
I haven't found any of the S01 tests that work yet... 07:32
pmurias the ones in t/spectest_p5.data work 07:32
there aren't many but i hope to change that soon ;)
colomon I'm trying a normal spectest run atm, will take a look at those as soon as it is done 07:33
pmurias ok
colomon: it would be great if you could describe what it takes to get the interop working on mac in the README 07:34
colomon and the t/spectest_p5.data tests do indeed work! 07:38
pmurias: general README, or is there a p5 interop specific readme? 07:40
dalek ast: 8988efd | (Paweł Murias)++ | S01-perl-5-integration/import.t:
Change eval(...) or die into eval_lives_ok.
07:43
pmurias colomon: there isn't one yet 07:44
pmurias colomon: not sure if we should have one 07:45
colomon: general README seems best 07:49
sorear pmurias: hi 08:01
pmurias: release monday - a blurb on your p5 improvements would be nice.
masak so... Niecza v15 coming up. niiiiice. 08:33
dalek kudo/nom: fab6a01 | moritz++ | tools/build/NQP_REVISION:
bump NQP revision

This gives us the released parrot, and the :$var colonpair syntax
08:46
masak we still don't have a release manager for today? 08:49
moritz nope
masak I thought about volunteering.
moritz \o/
masak does so
I'll probably cut the release tonight, at UTC 20:00
dalek kudo/nom: cc6590a | masak++ | docs/release_guide.pod:
[docs/release_guide.pod] volunteered for today's release
08:51
moritz ++masak 08:51
felher yeah, masak++ 08:52
masak we've had a nice distribution of release managers in the past year or so.
moritz did the last two releases, though. and we don't have *any* names signed up for subsequent releases. 08:53
masak sign up for March and April and May, peeps. 08:53
it's an easy way to take some load of people like moritz++ who already have lots of admin stuff to do.
plus, it's a great honour to get to cut a Rakudo compiler release. 08:54
moritz ... and it's not complicated :-) 08:57
sorear masak: unless something truly catestrophic happens or I quit the post entirely, I intend to make a release EVERY month. 09:01
masak sorear: yes. still nice each time it happens.
masak phenny: eo en "Google Translate nun tradukas de Esperanto. Ĉu tio ĉi funkcias?"? 09:11
phenny masak: "Google Translate now translates from Esperanto. Does this work?" (eo to en, translate.google.com)
masak 'o-
\o/
katernya how long has perl6 been in development 09:13
10ish years i guess? 09:14
moritz yes, about 11 to 12 09:15
katernya cool 09:16
masak it's shaping up real well, I'd say. 09:17
perl6: say "hi keternya!"
p6eval pugs b927740, rakudo cc6590, niecza v14-63-ga8cbc27: OUTPUT«hi keternya!␤»
masak perl6: say "Perl 6 has been in development for over 11 years. That is ", <cool awesome interesting>.pick 09:18
p6eval pugs b927740, rakudo cc6590, niecza v14-63-ga8cbc27: OUTPUT«Perl 6 has been in development for over 11 years. That is cool␤» 09:19
masak \o/
moritz wow, they all agree :-)
masak all three major implementations think it's cool.
katernya hehe
masak then it must be cool. 09:20
moritz though all of them are youger than 11 years :-)
rakudo's git history goes back to 2006
au it's been in research for over 11 years, but in development for a bit less :)
moritz niezca's first commit was June 2010 09:21
pugs started pretty much exactly 7 years ago
(2005-02-06(
masak the first "Perl 6" commits were probably done not too long after the announcement. but it's questionable whether any of that code survives to this day. 09:22
moritz s:2nd/\(/)/
masak moritz: huh! I always thought Pugs started on Feb 1.
moritz masak: well, I just took the date of the first commit
au it's Feb 1. use.perl.org/~autrijus/journal/22965
masak right. 09:23
moritz as reported from the perl6/mu repo, which was an import fro pugs svn
au (moritz was also correct in that a svn repo wasn't set up until day 6) 09:23
moritz remembers the bad old times when setting up a repo was much more work than writing 'git init' 09:25
au o/~ those were the days of dev's lives / easy things in life were so few o/~ ;)
frettled You mean like this? cvs -d dirname init
moritz did cvs work without a server? 09:26
frettled yes
(still does :))
moritz wow, I never knew 09:27
katernya insert joke about cvs ever working here
masak you people laugh -- some of us still have to use CVS daily :/
moritz but git-cvs does exist, no? 09:28
katernya hehe
masak yes.
that's my one ray of sanity.
frettled RCS was even simpler.
1) mkdir RCS
Oh, already done.
masak :)
frettled RCS is probably still okay for single-developer usage, as long as you avoid binaries. I don't know whether it handles UTF-8 etc, though. 09:29
moritz does it do branches and merges sanely?
frettled Sanely? I'm not sure about that. But it does do them. 09:30
When the system is called "Revision Control System", it may be a bit primitive. 09:31
Wow, it's turning 30 this year! (en.wikipedia.org/wiki/Revision_Control_System)
…only ten years younger than SCCS! 09:32
katernya i think i just build perl6 09:33
i'm afraid
moritz don't be nervous, don't be flustered, don't be scared, be prepared!
masak ...for crappy performance and frequent bugs... :) 09:34
moritz though both rakudo and niecza are much more usable than in The Early Days 09:35
pmurias sorear: have you found out how to speed up niecza?
masak oh, granted. we're getting better bit by bit. 09:36
moritz should really blog about exceptions and backtraces
masak though there have been some lexical bugs lately of a kind that I thought we simply didn't get anymore. 09:37
moritz yes, there seems to be something not quite right yet with lexicals 09:37
dalek kudo/nom: 5d9f349 | moritz++ | src/ (2 files):
typed exceptions for attributes outside of packages, and for attributes inside package types that cannot handle them
10:42
ast: 6467df2 | moritz++ | S32-exceptions/misc.t:
test X::Attribute::Package and X::Attribute::NoPackage
10:43
moritz hopes masak++ doesn't mind some harmless exception hacking prior to the release 10:44
masak 'course not.
I'll start relenging tonight.
and I'll be very clear about when I don't want more commits.
moritz if I happen to break anything before then, we can still move the commits to a branch and revert them in nom 10:45
masak aye.
araujo wonders when that release is going to be released
moritz araujo: certainly not before it's done :-) 10:46
fsergot hi o/ :)
araujo moritz, sure thing
moritz araujo: masak targets 8 pm UTC
araujo good :)
fsergot What should I do, if my 'rmdir' needs an external module? 10:47
moritz what module does it need?
fsergot Oh... It doesn't need any module! I have an idea. :D 10:48
moritz: it needed. a File::Find module. 10:49
but, it can use 'dir' instead of find. :)
moritz is glad to detect the past tense
std: has sub a() { } 10:50
p6eval std 52f3895: OUTPUT«Potential difficulties:␤ 'has' declaration outside of class at /tmp/vdMa4sQ6NH line 1:␤------> has⏏ sub a() { }␤ok 00:01 109m␤»
moritz nom: has sub a() { }
p6eval nom cc6590: OUTPUT«===SORRY!===␤Cannot use 'has' scope with a sub at line 1, near ""␤»
moritz which error is more awesome?
does 'has sub' ever makes sense?
fsergot The second one imo. :) 10:51
masak no, 'has sub' never makes any sense.
moritz std: class A { has method a() { }} 10:52
p6eval std 52f3895: OUTPUT«ok 00:01 109m␤»
moritz nom: class A { has method a() { }}
p6eval nom cc6590: ( no output )
moritz nom: class A { has method a() { say 'I CAN HAZ'}}; A.a
p6eval nom cc6590: OUTPUT«I CAN HAZ␤»
moritz nom: proto sub () { } 10:54
p6eval nom cc6590: OUTPUT«===SORRY!===␤Cannot put proto on anonymous routine at line 1, near ""␤»
moritz std: proto sub () { }
p6eval std 52f3895: OUTPUT«ok 00:01 109m␤»
moritz nom: my method x() { } 10:55
p6eval nom cc6590: ( no output )
moritz nom: my method x() { }; class A { }; A.^add_method('x', &x); A.^compose; A.x
p6eval nom cc6590: ( no output )
moritz that's... slightly scary. 10:56
masak nom: my method x() { say "OH HAI" }; class A { }; A.^add_method('x', &x); A.^compose; A.x
p6eval nom cc6590: OUTPUT«OH HAI␤»
fsergot Could somebody take a look? 10:57
gist.github.com/1892277
to this :)
masak looks 10:58
nice.
"Something is wrong" is not a very exact error message. :) 10:59
moritz fsergot: I have several smallish objections
masak maybe "Could not rmdir $path" would be better.
fsergot masak: Right, thanks. :)
moritz fsergot: first, checking for a condition before trying an IO operation is almost always wrong, because it's prone to race conditions
fsergot moritz: great, it'll help. :)
moritz fsergot: so it's better to simply try, and then inspect or propagate the error 11:00
masak ah, indeed.
moritz fsergot: second, I can imagine that the current factoring that &unlink removes directories is quite surprising
fsergot: so I'd rather have unlink only unlik files, and rmdir only delete directories 11:01
masak I'd insert a check $path.IO ~~ :d
so that you can't rmdir a file.
moritz and then you have race conditions again :/
fsergot So, I should use try { } ? Or just check conditions after "unlinking"? 11:03
masak moritz: sure, but only if someone substitutes a directory for a file...
moritz fsergot: you should examine the return value from &unlink 11:04
fsergot: and if that's not easy, then maybe &unlink needs to be factored differently
fsergot moritz++ 11:05
masak++
moritz fsergot: though I wouldn't object to including a simple version of rmdir first
fsergot thanks.
moritz I don't want to force you to refactor all our IO build-ins just to add one :-)
masak fsergot++ # adding builtins 11:06
fsergot moritz: if it is needed, I'll do this. :) 11:08
moritz: I want to be more involved, so I must learn a lot. :) 11:09
moritz fsergot: that's a great attitude
fsergot: and I'll do my best to support it, and I'm sure others will do the same 11:10
fsergot Great. :)
#perl6++
:)
masak yes, three cheers for fsergot. 11:15
looking forward to meeting up in Oslo.
fsergot Today I received a message, that my flight is booked. \o/ 11:16
moritz \o/
arnsholt Oooh, Oslo? 11:19
moritz arnsholt: sjn++ is organizing a Perl 6 in Oslo, April 20-22 11:21
*a Perl 6 event
masak arnsholt: do come! 11:23
dalek kudo/nom: 4c440e8 | moritz++ | src/ (3 files):
more typed exceptions: X::Sub::Scope and X::Anon::Multi

also enables a nicer way to write the type name of exceptions in Actions.pm
11:24
ast: a2b6fc2 | moritz++ | S32-exceptions/misc.t:
more typed exceptions
arnsholt masak: I'll definitely try to make it!
arnsholt May have plans that week-end, but hopefully not 11:24
masak reschedule! :) 11:26
arnsholt Indeed ^_^ 11:27
moritz I don't have an overview of who is going to come, but it's going to be an awesome mixture 11:28
moritz std: sub ($x:) { } 11:30
p6eval std 52f3895: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/1Am_rp1SES line 1:␤------> sub (⏏$x:) { }␤ok 00:01 110m␤»
moritz std: sub ($x, $y:) { }
p6eval std 52f3895: OUTPUT«Potential difficulties:␤ $x is declared but not used at /tmp/wtBvi98hV4 line 1:␤------> sub (⏏$x, $y:) { }␤ $y is declared but not used at /tmp/wtBvi98hV4 line 1:␤------> sub ($x, ⏏$y:) { }␤ok 00:01 110m␤»
masak yes, it will be quite the event. 11:31
sisar what is the difference between pick and roll ? 12:06
colomon roll uses the entire source range every time 12:07
pick logically removes items which have been rolled so they cannot be rolled again in the same call 12:08
nom: say (1..10).pick(5)
felher sisar: what colomon++ said. For more information: perlcabal.org/syn/S32/Containers.html
p6eval nom 4c440e: OUTPUT«1 8 3 9 5␤»
colomon nom: say (1..10).pick(9) 12:09
p6eval nom 4c440e: OUTPUT«2 1 3 8 10 5 4 6 9␤»
colomon nom: say (1..10).roll(9)
sisar colomon: ah. makes sense. pick and roll have been nicely chosen. perl6++
p6eval nom 4c440e: OUTPUT«8 8 6 5 7 6 1 6 2␤»
colomon sisar: note that it doesn't change the original object at all, so $a.pick(1) and $a.roll(1) have identical behavior 12:10
sisar colomon: sorry, how does one imply the other? 12:19
note.. , so..
colomon sisar: each one chooses one element at random
hmmm... let me see if I can come up with a working example:
masak sisar: .roll works like rolling an N-sided die. .pick works like successively picking objects out of an urn. 12:20
colomon nom: my @a = 1..6; for ^20 { say @a.pick(1); }
p6eval nom 4c440e: OUTPUT«4␤5␤5␤5␤1␤6␤6␤3␤4␤5␤1␤5␤4␤6␤3␤5␤1␤2␤5␤4␤»
sisar masak: i get that
colomon but all the objects are put back in the urn at the end of the pick call. :)
masak yes.
nom: say (1..6).pick(20) 12:21
p6eval nom 4c440e: OUTPUT«6 1 3 5 2 4␤»
masak nom: say (1..6).roll(20)
p6eval nom 4c440e: OUTPUT«2 3 4 6 4 2 5 4 4 4 6 4 5 3 2 5 6 5 5 5␤»
colomon so the only time you notice that pick is different from roll is if you ask it for more than one random choice
and calling $a.pick(1) 20 times and storing the result has the same effect as calling $a.roll(20) 12:23
sisar now i get it. masak++, colomon++
felher: it is not easy for beginners to extract this information from S32 . I actually did look at it before asking here :) 12:27
felher sisar: I totally agree :) I didn't want to tell you that have to look there. You may as well ask here :). I just wanted to point out to you that there is a documentation in case you want to do some further reading and don't know about the documentation yet :) But since you knew about S32 anyway, never mind :) 12:30
dalek kudo/nom: d1e7100 | moritz++ | src/ (2 files):
more typed exceptions
12:48
ast: 3b9a604 | moritz++ | S32-exceptions/misc.t:
more typed exceptions
dalek kudo/nom: 3ed1ece | coke++ | docs/release_guide.pod:
claim a release
13:01
Teratogen howdy howdy howdy 13:03
[Coke] masak++ # March is still unclaimed.
moritz [Coke]++ March release 13:04
[Coke] moritz: April
masak Teratogen! \o/ 13:05
moritz erm, yes. I should just read the diff :-)
masak [Coke]++ # well vonunteer'd! 13:05
[Coke] I will be out of the country that day and will probably not want to do a release.
(The march one.)
masak any takers for March? :)
[Coke] (The march one.) 13:18
ww
sisar niecza: my %h; say %h<chocolate>;
p6eval niecza v14-63-ga8cbc27: OUTPUT«Any()␤»
sisar niecza: my %h; %h<chocolate>.say; 13:19
p6eval niecza v14-63-ga8cbc27: OUTPUT«Unhandled exception: Unable to resolve method say in class Any␤ at /tmp/bu9zYxMPse line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3826 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3827 (module-CORE @ 65) ␤ at /home/p6…
sisar bug ?
or NYI ?
moritz niezca: 'foo'.say 13:20
niecza: 'foo'.say
p6eval niecza v14-63-ga8cbc27: OUTPUT«foo␤»
moritz sisar: mixture, it seems :-) 13:21
might be that niecza places .say in Cool instead of Any
sisar moritz: it seems to be choking on type Any()
masak niecza: my $a; $a.say
p6eval niecza v14-63-ga8cbc27: OUTPUT«Unhandled exception: Unable to resolve method say in class Any␤ at /tmp/9L2JFlDXKP line 1 (mainline @ 2) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3826 (ANON @ 3) ␤ at /home/p6eval/niecza/lib/CORE.setting line 3827 (module-CORE @ 65) ␤ at /home/p6…
moritz not sure what the specs say aout that
colomon nom: my $a; $a.say
p6eval nom d1e710: OUTPUT«Any()␤»
sisar rakudo does it correctly 13:22
i should submit a bug ?
[Coke] in roast, do we prefer "done" or "plan <number>" ? 13:24
moritz usually plan <number> 13:25
[Coke] (I have a file that has a done that pugs isn't respecting, so I'd like to switch it. ;)
moritz: \o/ ;)
dalek ast: 7dc32a2 | coke++ | S02-literals/radix.t:
pugs fudge

  (also add explicit plan)
13:26
gs.hs: 0c7e93d | coke++ | t/spectest.data:
run another test
13:27
moritz at least the exception hacking stuff works sometimes
moritz the last other 3 things that I tried in rakudo have failed :/ 13:27
moritz (sink context, the match refactor, and tracking down the problem with operator overloading; the last two are related) 13:30
masak is surprised and delighted to see docs/ChangeLog filled with items for the upcoming release 13:33
moritz yes, jnthn++ has been keeping it up to date 13:35
[Coke] a thankless job. (he said, thanking him.)
dalek ast: e4dee67 | moritz++ | S32-exceptions/misc.t:
X::Syntax::Missing
13:36
dalek kudo/nom: 6588dd3 | moritz++ | src/ (2 files):
X::Syntax::{Missing,Malformed}
13:36
[Coke] wonders if rakudo or niecza might be passing more tests today. 13:37
masak definitely thinks so 13:38
moritz [Coke]: probably niecza. I've only added O(10) tests today
[Coke] kicks off a run 13:44
... oof. rakudo upgraded to new parrot. 13:45
pugs will finish running the tests before rakudo is done building parrot. ;)
[Coke] (yes that's a completely unfair comparison.) 13:46
masak like comparing apples and orangutans. 13:47
[Coke] au, masak: getting a ton of these running the test suite: 13:48
decodeUTF8': bad data: '\171'
(for pugs)
au that means « is written as latin1 instead of utf8 in source.
au *test source 13:49
pugs: « patientia diligentia humilitate ».pick: 2 13:50
p6eval pugs b927740: OUTPUT«decodeUTF8': bad data: '\171'␤decodeUTF8': bad data: '\187'␤»
moritz that would surprise me, since then rakudo would also complain
[Coke] perl6: « patientia diligentia humilitate ».pick: 2
p6eval pugs b927740: OUTPUT«decodeUTF8': bad data: '\171'␤decodeUTF8': bad data: '\187'␤»
..rakudo 3ed1ec, niecza v14-63-ga8cbc27: ( no output )
[Coke] so, clearly a bug somewhere. ;) 13:51
au pugs: say « patientia diligentia humilitate ».pick: 2
p6eval pugs b927740: OUTPUT«decodeUTF8': bad data: '\171'␤decodeUTF8': bad data: '\187'␤humilitatepatientia␤»
moritz pugs does that on the command line too
so I don't blame p6eval
au hm, note it still runs the program
[Coke] mmm. just a lot of extra output running the test. 13:52
au ah, I know, it's due to new GHC's default :utf8 iomode
masak oh?
how does that make Pugs assume latin-1? 13:53
moritz sounds like a p5ish double-decoding problem
flussence perl6: say '£'.bytes
masak aye.
p6eval pugs b927740: OUTPUT«decodeUTF8': bad data: '\163'␤2␤» 13:54
..niecza v14-63-ga8cbc27: OUTPUT«2␤»
..rakudo 3ed1ec: OUTPUT«1␤»
masak o.O 13:54
moritz which would be outright embarrasing, since if there's a type system that's suited to catch such errors statically, it's haskell's
sisar has submitted an issue for the .say quirk
masak sisar++
au moritz: well, yeah, pugs was written before it was possible to catch such errors :) 13:55
moritz au: but I'd still expect better magic from Haskell :-)
colomon nom: Mu.say 14:03
p6eval nom 3ed1ec: OUTPUT«Mu()␤»
moritz perl6: (1|2).say 14:04
p6eval rakudo 6588dd: OUTPUT«any(1, 2)␤»
..niecza v14-63-ga8cbc27: OUTPUT«1␤2␤»
..pugs b927740: OUTPUT«any(VInt 1,VInt 2)␤»
au [Coke]: for the time being, please run pugs under LC_ALL=en_US.ISO-8859-1
dalek kudo/nom: 3d76478 | moritz++ | src/Perl6/Grammar.pm:
refactor "Malformed" parse errors
14:05
au that'll likely fix the problem whilst maintaining compatibility with GHC 6.4
au isn't sure if it's worth it to maintain compat with GHC 6.4, though, but it's the most expedient workaround.
PerlJam I guess Camel4 finally made it out the other side of the the O'Reilly publishing machine 14:06
masak good to see that O'Reilly is still publishing Perl books. 14:07
well, Perl book, at least.
moritz generates en_US.ISO-8859-1 on the p6eval server 14:08
masak moritz++
au moritz++ 14:08
moritz pugs: say '£'.bytes 14:09
p6eval pugs b927740: OUTPUT«2␤» 14:10
moritz pugs: say '£'.bytes
p6eval pugs b927740: OUTPUT«2␤»
masak \o/
au pugs: say « 耐 勤 謙 ».pick: 2
p6eval pugs b927740: OUTPUT«耐勤␤»
au \o/ 14:11
dalek albot: 7b533ee | (Perl 6 Evalbot)++ | evalbot.pl:
run pugs under a ISO-8859-1 locale, au++
masak "patience, diligence, modesty"? 14:12
au *humility, but yeah.
masak ah, yes. 14:13
I'd say Pugs picked the appropriate two :)
au :D
moritz has anybody else noticed that emails from github use "--- \n" to delimit the signature? 14:20
and that the normal one is "-- \n" 14:21
moritz is there a github bug tracker? 14:24
masak perl6: say (join ",", map { "$_是$_" }, <四 十 十四 四十>), "。" 14:25
p6eval pugs b927740: OUTPUT«*** Undeclared variable: ("$_\230\152\175",MkPad (padToList [("$_",PELexical {pe_type = (mkType "Scalar"), pe_proto = <Scalar:0x7f797c7acaa1>, pe_flags = MkEntryFlags {ef_isContext = True}, pe_store = <ref:0x7f797c8cb549>}),("@_",PELexical {pe_type = (mkType "Array"…
..rakudo 6588dd: OUTPUT«===SORRY!===␤Variable $_是 is not declared␤at /tmp/h3gmcNEeCd:1␤»
..niecza v14-63-ga8cbc27: OUTPUT«===SORRY!===␤␤Variable $_是 is not predeclared at /tmp/EkSPQLMspS line 1:␤------> say (join ",", map { "⏏$_是$_" }, <四 十 十四 四十>), "。"␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line…
masak oh, of course.
perl6: say (join ",", map { $_ ~ "是" ~ $_ }, <四 十 十四 四十>), "。"
p6eval pugs b927740, rakudo 6588dd, niecza v14-63-ga8cbc27: OUTPUT«四是四,十是十,十四是十四,四十是四十。␤»
masak \o/ 14:26
au moritz: github.com/contact for submission, I'm not sure if the issue list is made available publicly. 14:30
moritz au: I've used that now. I think I've seen a public issue list once, but I wasn't able to find it
au *nod*
dalek ecza: 8248afc | (Solomon Foster)++ | lib/CORE.setting:
Switch from having Cool.say to Mu.say.
14:36
sisar sorear++ 14:37
dalek ast: cccf2fb | moritz++ | S02-literals/radix.t:
fix plan in radix.t
14:39
gfldex nom: my $somedate = DateTime.new(now); $somedate.year++; say $somedate; 14:41
p6eval nom 3d7647: OUTPUT«Cannot assign to a readonly variable or a value␤ in sub postfix:<++> at src/gen/CORE.setting:2560␤ in block <anon> at /tmp/1NhQPXtKmn:1␤␤»
moritz rakudo++ 14:42
sisar oops! colomon++
gfldex nom: my $somedate = DateTime.new(now); say $somedate.year + 365; 14:43
p6eval nom 3d7647: OUTPUT«2377␤»
gfldex nom: my $somedate = DateTime.new(now); say $somedate + 365;
p6eval nom 3d7647: OUTPUT«No applicable candidates found to dispatch to for 'Numeric'. Available candidates are:␤:(Mu:U \$v, Mu %_!)␤␤ in method Numeric at src/gen/CORE.setting:657␤ in sub infix:<+> at src/gen/CORE.setting:2249␤ in block <anon> at /tmp/nuEEz9TuVJ:1␤␤»
moritz nom: say DateTime.now + Duration(year => 1) 14:44
p6eval nom 3d7647: OUTPUT«Method 'Duration' not found for invocant of class 'Parcel'␤ in <anon> at src/gen/Metamodel.pm:3430␤ in <anon> at src/gen/Metamodel.pm:3427␤ in <anon> at src/gen/Metamodel.pm:3422␤ in block <anon> at /tmp/pEsLop2lYK:1␤␤»
moritz nom: say DateTime.now + Duration.new(year => 1) 14:44
p6eval nom 3d7647: OUTPUT«Not enough positional parameters passed; got 1 but expected 2␤ in method new at src/gen/CORE.setting:8552␤ in block <anon> at /tmp/RVKf_9IPrm:1␤␤»
gfldex if i understand S32 right the easy way to say "same day but next year" is to decompose Date|DateTime, add 1 to the year component and then compose a new Date|DateTime object 14:45
sisar can someone review my _trivial_ pull request: github.com/perl6/mu/pull/2
masak gfldex: maybe so. but things are still up for grabs. what's the nicest way you can think of to write it? 14:46
gfldex masak: the nicest way? Given that Perl 6 is a language of languages, the nicest way would be a sub language for calendaring. 14:47
PerlJam masak: my $date = now + 1.year; # :-)
gfldex I will think about something reasonable instead. Will take a few hours.
moritz sisar: I don't review pull requests. I've given you a commit bit instead :-) 14:48
sisar: so feel free to merge it yourself
sisar moritz++
moritz (actually I do review pull requests if necessary; but not necessary here)
dalek : 3c3c531 | (Siddhant Saraf)++ | docs/feather/index.html:
fix: the site lives at mu, not Pugs' repository
14:50
: 226129d | (Siddhant Saraf)++ | docs/feather/index.html:
Merge pull request #2 from Siddhant/patch-1

fix: the site lives at mu, not Pugs' repository
moritz sisar++ 14:51
gfldex masak: The biggest problem I have with S32 is that it assumes the solar calendar is the only reasonable. Given what do to the only available planet we have right now, the solar calendar might be a thing of the past very soon. 14:54
moritz then we'll change S32 :-) 14:55
gfldex masak: on top of that, thanks to our fat moon, the dinosaurs enjoyed 23h per day and that rotational decline is still ongoing
moritz are there wildly used calendar systems that account for that? 14:57
(except through the occasional leap second, which seems to work pretty well for most purposes)
sisar colomon: i can close the issue now? #.say 14:58
masak gfldex: I'm responsible for that crass solar bias in S32. it's been much more accomodating to various calendrickal systems at times.
it's also been perfectly unusable and unimplementable.
moritz agreed
masak gfldex: basically, the rule is, if you write it and nopaste the code here, you have a right to propose extensions and generalization.
moritz and inventing your own calendar system is just hopeless over-engineering for a programming language 14:59
masak otherwise, you are strongly encouraged to pipe down :)
moritz masak: otoh I would like to have an easy way to do some more DateTime arithmetic
masak nod.
moritz like the "same date, same time, but one year later"
masak a DT::Duration would cover that. 15:00
but I'm not sure it need be core.
moritz well, I'm not sure we need a separate type for it
masak gfldex: I'll add that few things provoke strong feelings/bikeshed wars like the combination of library-ish modules and everyday occurrances. DateTime hits a sweet spot there.
sisar how can i force p6eval to rebuild niecza ? 15:01
moritz DateTime.new.add(year => 1)
evalbot rebuild niecza
p6eval OK (started asynchronously)
moritz sisar: you can only ask it nicely, not force it :-)
masak moritz: I recall CPAN's DateTime has some surprising semantics in that area. (units are added smallest-to-largest, IIRC) 15:02
sisar moritz: my bad :) 15:02
moritz evalbot rebuild niecza 15:02
p6eval NOT OK (maybe a rebuild is already in progress?)
masak moritz: it would be interesting to hear what autarch has to say about it.
dalek Rebuild of niecza complete.
moritz but I won't be the one to implement it, so I won't press the issue 15:03
niecza: Any.say
p6eval niecza v14-64-g8248afc: OUTPUT«Any()␤»
moritz niecza: Any.new.say
p6eval niecza v14-64-g8248afc: OUTPUT«Any()<instance>␤»
gfldex masak: most of the world is using a solar calendar based on gregorian reform, the islamic world however is still using a different one. If you want to find out when Ramadhan is due, DateTime wont help you much. And since I know that there are lots and lots of ppl who follow that religion, I was asking if our western default should be the default of Perl 6. 15:04
masak gfldex: yes, I understood you that way. 15:04
and my answer is "yes, it should".
moritz well, DateTime doesn't help you much in finding the next Easter date either 15:05
masak Instance is the atomic clock universal time line data type.
and DateTime is the Gregorian calendar Christian world civic time mapping of an Instant.
Instant*
sisar closed the issue #.say 15:06
masak if you wanted, there's nothing at all preventing you from publishing a DateTime::Islamic module with a .when-is-ramadan method.
gfldex i think i will start with something easy first 15:08
ramadhan got the same problem then easter
moritz I'm pretty sure you'll find instructions online for calculating both
PerlJam wonders if gfldex thinks the .when-is-ramadan method is the hard part
masak I'd love to see someone blog or nopaste about such datetime calculations in Perl 6. maybe we're still missing a few convenience methods in that area. 15:09
PerlJam gfldex: easter at least stays in the same general time-frame every year. Ramadan could be at any time
moritz note that both Easter and Ramadan would be calculations on the Date level, not DateTime 15:10
masak www.reddit.com/r/perl/comments/pv12...ts/c3sgfsh # that's a good point -- I want us to delight users as well 15:11
colomon sisar: might be worthwhile to add a test for it to roast. (If there isn't one already that niecza is skipping.)
gfldex moritz: i did for easter, most official even: www.assa.org.au/edm.html 15:16
moritz with example code in basic 15:18
moritz std: @$_ 15:23
p6eval std 52f3895: OUTPUT«ok 00:01 108m␤»
moritz std: $@_ 15:24
p6eval std 52f3895: OUTPUT«===SORRY!===␤Placeholder variable @_ may not be used outside of a block at /tmp/Wr7pd_uvhU line 1:␤------> $⏏@_␤Check failed␤FAILED 00:01 108m␤»
moritz std: sub { $@_ }
p6eval std 52f3895: OUTPUT«ok 00:01 108m␤»
masak that looks like QBasic or VB, even. 15:25
moritz my guess would have been QBasic
dalek kudo/nom: 8bb2026 | moritz++ | src/ (2 files):
another typed error
15:37
ast: 5065e35 | moritz++ | S32-exceptions/misc.t:
test X::Anon::Augment
15:38
sisar colomon: re test, I haven't learnt to write tests yet. Though i would like to :) 15:50
any guidance ?
colomon sisar: do you have a github id? 15:52
moritz sisar: a test is just a small piece of code, together with the expectation of what it should produce
a very simple example code would be Any.say 15:53
moritz and the expected output Any()\n 15:53
sisar colomon; yes. siddhant
moritz sisar: do you have niecza running? 15:54
colomon moritz: I don't see any sign I have admin privileges for roast. can you add him?
sisar moritz: no
moritz colomon: he already has a commit bit
masak moritz: I wouldn't call that a test so much as "a golfed piece of code" :) for it to be a test, the expectation has to be encoded into the code, too.
colomon moritz: oh, groovy!
moritz colomon: I generally add new committers to the 'perl6' team, which includes specs, roast, mu, the websites etc. 15:55
colomon moritz++
I've got to run to the computer store to see if they can bring by bricked Windows 64-bit machine back to life
moritz so, just about all repos in the perl6 organization, maybe with the exception of book, nqp and nqp-rx (but those only for hysterical raisins)
sisar: well, the first step is to get one compiler running (and since you want to test niecza, it would make sense to use niecza here) 15:56
sisar: otherwise you can't test your tests :-)
sisar moritz: i'm on it #getting niecza 15:56
moritz ok 15:57
colomon moritz++ masak++ sisar++ 15:59
dalek kudo/nom: fdb5e3a | moritz++ | src/ (2 files):
X::Augment::NoSuchType
16:03
dalek ast: 3804629 | moritz++ | S32-exceptions/misc.t:
test X::Augment::NoSuchType
16:04
masak decommutes 16:09
Teratogen what's purple and commutes? 16:17
an abelian grape!
*rimshot* 16:19
moritz also decommutes 16:23
[Coke] # 02/23/2012 - niecza++ ; pugs (15.54%); rakudo (98.98%) 17:11
"niecza", 20283, 8, 751, 1549, 22588, 23594
"pugs" , 3152, 5, 1742, 53, 4952, 23385
"rakudo", 20078, 30, 602, 1869, 22445, 23604
[Coke] (rakudo is failing 2 more tests than yesterday, losing ground.) 17:14
lichtkind just installed perl6 17:41
PerlJam lichtkind: which one? 17:43
lichtkind rakudo
git pull
moritz lichtkind: congratulations
TimToady perl6: say "文字化け".chars 17:48
p6eval pugs b927740, rakudo fdb5e3, niecza v14-64-g8248afc: OUTPUT«4␤»
au perl6: say "もじベーカリー".chars 17:50
p6eval pugs b927740, rakudo fdb5e3, niecza v14-64-g8248afc: OUTPUT«7␤»
lichtkind moritz: thanks but i have to test the content of the slides with current version 17:53
TimToady perl6: 𥄲 17:55
p6eval pugs b927740: OUTPUT«*** No such subroutine: "&\240\165\132\178"␤ at /tmp/XgWy3otnuK line 1, column 1 - line 2, column 1␤»
..niecza v14-64-g8248afc: OUTPUT«===SORRY!===␤␤Undeclared routine:␤ '𥄲' used at line 0␤␤Unhandled exception: Check failed␤␤ at /home/p6eval/niecza/boot/lib/CORE.setting line 1344 (die @ 3) ␤ at /home/p6eval/niecza/src/STD.pm6 line 1147 (P6.comp_unit @ 33) ␤ at /home/p…
..rakudo fdb5e3: OUTPUT«===SORRY!===␤CHECK FAILED:␤Undefined routine '&𥄲' called (line 1)␤»
flussence that's... slightly worrying 17:56
TimToady so how come rakudo manages to get that character into the log correctly, while both pugs and niecza produce mojibake?
geekosaur the output from rakudo and niecza look similar here 17:57
benabik here as well
au (pugs always uses the \decimal notation regardless of BMPness)
geekosaur pugs is outputting octal-encoded utf8, from the looks of it
flussence I get � for input and rakudo/niecza on my screen
geekosaur oh decimal, not octal
TimToady in the ir clog, not here 17:58
I get the replacement character � here in irc
geekosaur what I actually have is a substitution glyph in the form of a box with 025132 in it
benabik rakudo: 𥄲 niezca: 𥄲 17:59
p6eval rakudo fdb5e3: OUTPUT«===SORRY!===␤Confused␤at /tmp/iTSKGrMmUx:1␤»
TimToady even pasting it I get the replacement character, but it's obviously pasting the actual char in the irclock
*clog even
benabik I think my IRC client is adjusting the encoding on the fly. :-/
flussence xchat defaults to brute-force decoding, iirc 18:00
au rakudo: "🐪📖".chars
p6eval rakudo fdb5e3: ( no output )
au rakudo: "🐪📖".chars.say 18:00
p6eval rakudo fdb5e3: OUTPUT«2␤»
au rakudo++
benabik I'm using Colloquy, which _says_ it's default encoding is UTF-8 18:00
TimToady well, some folks are probably running into font issues 18:01
TimToady but the splatter in the logs is obviously encoding failure of some sort 18:01
TimToady perl6: say "𥄲" 18:02
p6eval pugs b927740, rakudo fdb5e3, niecza v14-64-g8248afc: OUTPUT«𥄲␤»
TimToady but apparently only on STDERR 18:02
the STDOUT comes out correctly in the logs
moritz TimToady: maybe the truncation cuts UTF-8 multi byte sequences in the middle 18:03
TimToady nah, this is in the middle 18:03
au perl6: $*ERR.say: "🐫"
p6eval pugs b927740, rakudo fdb5e3, niecza v14-64-g8248afc: OUTPUT«🐫␤»
moritz TimToady: and then the whole line is detected as not being valid UTF-8
moritz and thus decoded as Latin-1 instead 18:03
fglock o/ 18:03
au /o fglock 18:04
benabik perl6: $*ERR.say: "𥄲"
p6eval pugs b927740, rakudo fdb5e3, niecza v14-64-g8248afc: OUTPUT«𥄲␤»
fglock au! 18:04
TimToady moritz: the entire pugs message comes through, so is not truncated in a multibyte 18:04
au [*] fglock 18:05
geekosaur interesting. note that the entire niecza message is mis-decoded. yet it's recognized as utf8 here
geekosaur (that is, it has more garbage for where I see a graphic marker) 18:05
geekosaur scans back to see if that's normal 18:06
geekosaur the log also mangles utf8 from std 18:06
flussence perl6: � # just want to make sure I'm not going insane
p6eval pugs b927740: OUTPUT«*** ␤ Unexpected "\65533"␤ expecting program␤ at /tmp/5s0TIMREzY line 1, column 1␤» 18:06
..niecza v14-64-g8248afc: OUTPUT«===SORRY!===␤␤Bogus statement at /tmp/umUpxMPas4 line 1:␤------> <BOL>⏏� # just want to make sure I'm not going␤␤Parse failed␤␤»
..rakudo fdb5e3: OUTPUT«===SORRY!===␤Confused␤at /tmp/XDqBVS2z6_:1␤»
geekosaur (actually the graphic marker botch is std, niecza has ansi-x3.64 escapes instead) 18:07
TimToady the end of the niecza is cut off at: � at /home/p…
flussence I like pugs' blunt message there :)
TimToady how did a chop of p6eval produce mojibake in the middle of the ASCII 6?
fglock au: perlcabal.org/~fglock/perlito5.html 18:09
au fglock: I've been showing that to all sorts of folks :) 18:11
_very_ nice work!
fglock :)
au fglock: I wonder if p52p6 can be made into a similar web interface as well 18:11
au also ponders styling it a bit along the lines of js2coffee.org
fglock p52p6? you mean perlcabal.org/~fglock/perlito6.html ? 18:12
au that's p62js... 18:13
TimToady geekosaur: what you said makes no sense to my poor brane
au fglock: I was thinking along the line of hypotehtical Perlito5::Perl6::Emitter 18:14
geekosaur TimTOady: irclog.perlgeek.de/perl6/2012-02-23#i_5196898
fglock ah, sure 18:15
geekosaur glares at mis-shift, d*mn finfers
TimToady niecza: $@_ 18:17
p6eval niecza v14-64-g8248afc: OUTPUT«===SORRY!===␤␤Invalid hard reference syntax at /tmp/XiKE_kXtZC line 1:␤------> $⏏@_␤␤Parse failed␤␤»
geekosaur I hadn't yet managed to answer my other question though
just noting that the irc logs don't seem to like what std produces, either
TimToady geekosaur: niecza and std appear to behave identically on the output of ⏏ and escape codes 18:18
then I don't understand what you meant by "instead"
fglock a p6 backend could actually be fun, because we can then bootstrap in perl6
au fglock: yup, you see (as usual) where I'm going with this (as usual) :) 18:19
geekosaur that was "the example I was looking at didn't seem to have both of them doing both of them, but as I'm still a trifle discombobulated and in need of naproxen I may not see the same thing next time I look at it) 18:20
s/)$/"
irclog does seem to have problems with niecza in general; makes me wonder if the problem is *its* decoder is being thrown off by the escape sequences, and deciding to decode the output as raw bytes 18:21
moritz yes; some weeks or month ago, it started to render lines with escape sequences as mojibake 18:22
PerlJam fglock: does perlito leverage std at all?
fglock no, it has it's own grammar 18:23
it was developed as-needed for bootstrapping
it's under a cleanup...
perlito6 is getting a little behind, as I'm working on the p5 version - but getting closer to STD (and the spec in general) is a priority 18:26
[Coke] nom: say 36-2+1+96 18:32
p6eval nom fdb5e3: OUTPUT«131␤»
fglock au: p52p6 is potentially easy - between 600 and 1000 loc, judging from p52js
plus maybe some additional runtime for some special cases 18:33
au right, though if the runtime is perlito6's p5 backend, the runtime can be metacircularly stubbed at first 18:34
jnthn evening o/ 18:35
masak evening o/
au . o O "p52p6onp5"
masak jnthn! \o/
au /o jnthn
PerlJam Any p52p6 translator has some huge benefits
au would drastically simplify first-pass porting CPAN modules 18:36
PerlJam yep
fglock hmm
geekosaur misreads p52p6pong, is vastly amused by idea
TimToady especially if it can translate XS too :P
but yes, translation is certainly important; even imperfect tranlation is very helpful 18:37
jnthn No wifi internets at $teaching-gig today...
fglock I have some 2h of tuits before going to sleep 18:38
benabik p52p6pong... Start with a piece of code. One person translates it to perl 5. The other translates the result to perl 6. You get a point when your opponent introduces an error.
au geekosaur: 5|. |6 # first failing roundtrip drops the ball
benabik: jinx!
fglock: ooh. a 2hr sketch would be great to see -- I've checked out the repo :) 18:39
TimToady write both translators in Haskell and apply some kind of fixed point analysis :)
moritz 5| . |6
fglock looking for a p6 install
au 5| [.] |6 # least fixed point
PerlJam wonders if he should pass a geiger counter over this mug he just got from an ex-LANL researcher 18:40
TimToady no, you need an N-ray detector to see if it has any residual polywater
jnthn skims the backlog, and sees Rakudo gained some release managers :) 18:41
Teratogen the transtator is the basis of all Federation technology!
TimToady it'll be the March of Progress 18:42
fglock cloning rakudo
Teratogen I think duotronics should be incorporated into Perl 6!
jnthn
.oO( now we just need to clone Rakudo developers :) )
18:43
TimToady write the developers in Perl 6 and then you can .clone 'em
fglock au: cp src5/lib/Perlito5/Javascript/Emitter.pm src5/lib/Perlito5/Perl6/Emitter.pm
jnthn ponders what it'd take to re-write himself into Perl 6.
TimToady the Singu^WPlurality is Near! 18:44
gfldex frankly OT but not the less quite funny: bugs.php.net/bug.php?id=61095 18:45
Teratogen Does PHP have namespaces now? 18:46
moritz yes
Teratogen nifty! 18:47
Now there can be PHPAN
PerlJam that wasn't what was holding them back from PHPAN at all 18:48
TimToady what the world badly needs is a refactoring PHP to Perl 6 translator :)
moritz are you talking about me? :-) 18:49
TimToady you were holding them back?
au you were a refactoring PHP to Perl 6 translator? 18:50
TimToady did you add namespaces to PHP?
au are you the Nullarity?
TimToady now yer just gettin' silly 18:51
au evidently a symptom of low glucose level... dinner &
TimToady chow 18:52
fglock ~/bin/d8 perlito5.js -- -Cperl5 src5/lib/Perlito5/Perl6/Emitter.pm > lib5/Perlito5/Perl6/Emitter.pm # looks good so far
TimToady though if au++ is still in Paris, I'm sure they don't appreciate dinner being called "chow" 18:53
PerlJam TimToady: but it's okay because au isn't american.
TimToady has a brane retroplosion 18:54
au considering "Bistro" originates from "bistouille" meaning "bad alchohol", "chow" would be a step up
TimToady anyway, that's for setting me up for a multi-lingual pun
*thanks
au anytime :) 18:55
TimToady how did "thanks" turn into "that's"...grr...
though it would have been even better had you been dereved from that dynasty instead 18:56
*derived, grr
TimToady blames this chinese keyboard...
TimToady (lenovo, so yes :) 18:57
bbl &
fglock hmm - I guess I need some quick help with perl6 - does it still have 'package"? 18:58
PerlJam fglock: yes
fglock and bless? 18:59
dalek ast: 0c4cae6 | coke++ | S02-literals/radix.t:
workaround pugs skip bug
PerlJam yes, but you rarely see it
fglock (rakudo still installing)
Teratogen I immediately regret this decision!
fglock yes, but I probably need it for p52p6
[Coke] Can someone enable issues for github.com/perl6/Pugs.hs ?
(or point me at the tracker for pugs?)
moritz I can, wait a sec 19:00
issues are enabled 19:01
[Coke] so, the plan count you just fixed is because pugs' skip can't skip counts.
fglock implementing Perl6::inline() :P
[Coke] (but it was hidden because in the .t, it was skipping a block.)
moritz counted the tests manually, just be sure 19:02
[Coke] did too, after you changed it. ;)
moritz niecza and rakudo agree with my count :-)
[Coke] masak: github.com/perl6/Pugs.hs/issues/1 19:05
[Coke] (also au) 19:05
jnthn afk, dinner 19:08
dalek gs.hs: 1ed3e0c | moritz++ | Pugs/ext/Test/lib/Test.pm:
[Test] fix order of arguments of skip()
19:09
[Coke] now, see I swear I tried that and it didn't work. ;) 19:11
[Coke] will test it.
moritz [Coke]: I haven't actually tried it 19:12
[Coke]: just thought it should fix it
[Coke] nope. doesn't work.
moritz :(
[Coke] now, perhaps i need to do something in the ./Pugs directory to make it... noticed, but I don't know what. 19:13
"make" didn't do anything. trying "cabal build"
PerlJam moritz: you also didn't change the signature on line 604 either 19:14
[Coke] nope.
moritz [Coke]: how do you run spectests for pugs? 19:15
[Coke] moritz: I documented that! 19:16
last section in HACKING
moritz [Coke]++ 19:17
fglock what should I use for "null" in perl6? 19:18
moritz fglock: Any
maybe Pugs/cbits/Test_pm.c needs to be regenerated?
dalek gs.hs: f0bd746 | coke++ | / (3 files):
Add LC env var.

  (Avoid UTF8 issues)
[Coke] moritz: I thought that was for the original Test versiohn, not the external one that the env var is pulling in. 19:19
dalek gs.hs: 47cc4a9 | moritz++ | Pugs/ext/Test/lib/Test.pm:
[Test.pm] also fix docs, PerlJam++
moritz [Coke]: have you checked if it pulls in the right one?
PerlJam attempts to run pugs for the first time in years 19:20
[Coke] moritz: well, the env var changes something, anyway. 19:32
beyond that, no.
jlaire * masak hates the phrase "it didn't used to" 19:34
jlaire likes the obscure "it usedn't to"
masak I like that too :)
Teratogen I'm givin' her all she's got, Cap'n! 19:35
jlaire it tends to result in some o.O looks, though
"what'd you say?"
moritz [Coke]: if I add a die "..." to Test.pm, then it does die. So I think it works with the right Test.pm
PerlJam pugs: class A { } ; A.new.perl 19:37
p6eval pugs b927740: ( no output )
PerlJam pugs: class A { } ; A.new.perl.say
p6eval pugs b927740: OUTPUT«A.new()␤» 19:38
[Coke] and are you using PUGS_USE_EXTERNAL_TEST=1 ?
moritz pugs: for (1..3) { say $_ }
p6eval pugs b927740: OUTPUT«1␤2␤3␤»
moritz pugs: multi sub skip(Str $reason?, :$depends) { say 1 }; multi sub skip(Str $reason, Int $count = 1, :$depends) { say 2 }; skip('foo', 3)
p6eval pugs b927740: OUTPUT«2␤»
moritz ok, it seems that only the first multi is ever called 19:40
moritz oh, f**k those multis 19:41
dalek gs.hs: f3ef7f0 | moritz++ | Pugs/ext/Test/lib/Test.pm:
[Test.pm] replace complicated, non-working multis with a short, simple, do-it-all only sub
19:43
fglock hm - problems: Too late for semicolon form of $*PKGDECL definition at line 7, near "my $x; my"
after: module Main; 19:44
is the syntax for "module" different?
fglock in latest rakudo 19:44
[Coke] moritz++ #that does it 19:45
dalek ast: 7d89666 | coke++ | S02-literals/radix.t:
Revert "workaround pugs skip bug"

This reverts commit 0c4cae6fedfb1ccc0d18c312117a6e23c21412d7.
  moritz++
19:46
fglock working around 19:47
yay! $ perl -Ilib5 perlito5.pl -Cperl6 t5/01-sanity.t > x.p6 ; /Users/fglock/projetos/rakudo/perl6 x.p6
2 tests pass
p5 to rakudo
colomon nom: my @a = 2, 4 ... 20; my @b = 1..10; say @a[0..*-1] Z+ @b[1..*]
p6eval nom fdb5e3: OUTPUT«4 7 10 13 16 19 22 25 28␤»
fglock pushed 19:48
"Redeclaration of symbol" - is there a way to silence this warning/error in rakudo? 19:55
masak fglock: re the "too late" message: you're probably using the semicolon form after using the block form, or something.
fglock: the rule, to a first approximation, is that it can only cover a whole file. 19:56
fglock ah, that's it - I have it more than once
masak (with some exceptions for use statements, because you sometimes need to import things in order to write the 'A is B' thing correctly)
yeah, more than once is forbidden.
this isn't Perl 5 ;)
fglock ok - I'll workaround 19:58
masak fglock++
fglock "use of uninitialized value of type Any in string context" too
masak nom: say ~my $a
p6eval nom fdb5e3: OUTPUT«use of uninitialized value of type Any in string context␤␤»
fglock anyway, a lot of tests pass now :)
masak \o/
TimToady pictures fruit laying on the ground :) 19:59
masak re macros2 merge: I talked it over a bit with jnthn++, and it appears that the bug moritz++ uncovered opens up a bigger can of worms than expected. so, holding off for this release.
TimToady pictures cans of worms laying on the ground... 20:00
masak well, they're crawling out of newly opened cans... :) 20:01
short explanation: the "need for incarnation" of the quasi ASTs (which is now implemented) goes for the macro-arg ASTs, too (which is not). 20:02
fglock heh - "Calling 'shift' will never work with no arguments" - the error messages are pretty good 20:03
TimToady so just run each of the args though a macro, and you'll have it :)
masak reason it's a bigger can of worms is that whereas the macro sub is "live", compiled code and easily incarnatable-from, the mainline code isn't.
TimToady: I actually had a very similar thought yesterday, in all earnestness. it didn't work out :) 20:04
TimToady yeah, rakudo is still recovering from a kind of non-homoiconic-ish notion of the difference between compile time and run time 20:06
to misuse a word for something I don't have a word for... 20:07
masak during my thinking about macros, I've stopped using the terms "run time" and "compile time" -- they don't serve me well, since macros contain a bunch of them nested within each other.
TimToady indeed
masak I find it much easier to say "run mode" and "compile mode". I don't require that everyone follow suit. :)
gfldex thinks computers are the only thing that keeps us from changing the number of days per week every odd year (see: en.wikipedia.org/wiki/Week) 20:08
masak a macro is a run-mode routine that assists in a compile-mode code substitution. :)
TimToady but parrot originally ran things off into the separate-compilation direction without much consideration of what was being lost 20:08
which is a funny mistake to make when you're trying to be a dynamic engine 20:09
masak TimToady: sorear said at some point the Perl 6 is the only language he knows that tries to unite the two disparate ideas of separate compilation and fuzzy run mode/compile mode boundary.
TimToady well, we're insane 20:10
no, we're not!
masak there is that... :)
PerlJam sanity is over-rated
TimToady well, linking/unifying global names is really the main tricky part there, once you have a snapshot model of compilation so that you don't actually care which process compiles or runs code 20:13
masak goes into Rakudo releng mode
TimToady admires jnthn++ for naming the latter part 'bs' though :)
[Coke] TimToady: is this true? en.wikipedia.org/wiki/Perl#Name "Perl was originally named "Pearl", after the Parable of the Pearl from the Gospel of Matthew" ?
ovid just pointed this out. 20:14
TimToady not exactly
I just wanted something with positive connotations, the parable is just one after-the-fact rationalization
PerlJam TimToady: is it more or less true than "Perl stands for pathologically eclectic rubbish lister"? :-)
masak HEY PEOPLE I DON'T WANT TO SEE NON-RELENG COMMITS TO THE RAKUDO NOM BRANCH NOW FOR A BIT OK
...kthx 20:15
TimToady PerlJam: sure, I made that one up myself
you'll note that one was after we dropped the 'a'
colomon "non-releng"?
masak colomon: not related to the release.
PerlJam a separate release branch would oviate all of the shouting. 20:16
er obviate
masak "oviate" -- turn it into an egg? 20:17
TimToady funny that we call that part "engineering" that is mostly closely related operators moving magtapes from drive to drive :)
PerlJam waits for all of the puns
TimToady *to operators
mathw I think it's just so that the people doing that thankless, often tedious job get to feel better about it
masak that's what I'm doing now. I'm moving the Rakudo nom magtapse around in my server room.
geekosaur "I am only an egg" 20:18
TimToady it's the folks who wrote the directions for doing a release that are the real engineers, but yes, it's trying to be nice to be people who are doing the scutwork :)
masak don't say Rakudo release engineering is thankless -- volunteer for March instead!
mathw imagines masak standing over some tapes with a magnet, painstakingly encoding the new release onto the master prior to duplication
TimToady pictures a March Hare
mathw masak: unfortunately I have no time for anything these days :( I've not even pulled Rakudo for about three months 20:19
masak mathw: aww
colomon is going to see the March Hare next week, he hopes: www.google.com/calendar/render?eid...output=xml
whoops, ugly link
TimToady in the time you said that, you could've started pulling :)
mathw masak: well actually I do have time for lots of things, but because I'm doing those I'm not doing Perl 6 things 20:20
[Coke] TimToady: updated the article. we'll see if it sticks. 20:21
masak mathw: we love you anyway :)
mathw I love you all :) 20:22
masak <3
masak oops, this is a Unicode channel. I meant: ♥ 20:22
mathw that's better 20:23
PerlJam hugs are one thing ... but this feels a little too much like inappropriate sharing ;)
masak hugs PerlJam :) 20:25
geekosaur (but Hugs is haskell, not p6! :p) 20:26
TimToady pugs geekosaur
mathw hug :: Person -> Person -> IO Person 20:27
masak aww
masak tweets that
jlaire what's the return value? o.O 20:28
gfldex a child process?
masak that's the other thing, not hugging. 20:29
PerlJam indeed 20:29
mathw it returns the hugged person and has the side effect of increasing theuniversal happiness level
jlaire oic
benabik So it's easier to fold hug across a list of people? 20:30
masak "We need 4 hugs a day for survival. We need 8 hugs a day for maintenance. We need 12 hugs a day for growth." -- Virginia Satir, author and psychoterapist
mathw I don't get 4 hugs a day!
unless you count allthe ones from the cat
masak I think cat hugs count. 20:31
gfldex mathw: i'm terribly sorry but that can only mean you are undead
PerlJam cat hugs count for the cat at least :)
TimToady is going to have trouble fitting all the glasses of water in between all the hugs
gfldex what may explain why zombies walk with their armes extended
masak TimToady: what is it with you US people and water? :) 20:32
food contains water, it's cool, you don't have to hydrate all the time just because.
TimToady some of us live in a desert
masak then you get an exception.
mathw it's not just US people, it's UK people too 20:33
a lot of people here think you're supposed to drink six pints of water a day
but the closest most people get is six pints of beer a day
or its equivalent in wine
jnthn To be fair, the six pints of beer may well taste far nicer than the six pints of water :) 20:39
masak jnthn: I heard you've been updating github.com/rakudo/rakudo/blob/nom/.../ChangeLog -- jnthn++ -- do I conclude that this means I don't have to go through the logs and check for omissions? ;) 20:41
jnthn masak: Just look what happened since the last commit to ChangeLog :)
masak oki 20:41
mathw jnthn: unlikely!
jnthn Everything before that ChangeLog commit should be covered.
masak what about github.com/rakudo/rakudo/blob/nom/docs/ROADMAP -- does it need any tweaks?
mathw jnthn: most of them drink that gassy stuff that comes out of soaking wet cold pump things on the bar 20:42
jnthn mathw: Sad but true.
Carling. Fosters. EWWW.
mathw Strongbow 20:43
*shudder*
mathw is more of a cider person
masak I note that SPb.pm (St Petersburg) has never figured in a release. this will be rectified. 20:45
...unless someone has a better suggestion... :)
jnthn masak: SPb FTW :) 20:48
*that* bar.
Maybe this will be the year when I finally make it to Saint Perl. :) 20:50
mathw where's YAPC::EU this year?
benabik Europe, probably.
mathw ... 20:51
I would hope so
"In a surprise announcement, this year's YAPC::EU is going to be held in the lost city of Atlantis, just as soon as we find out where it went."
benabik Frankfurt, according to act.yapc.eu/ye2012/ 20:52
fglock can you help me with this one: "Placeholder variable @_ may not be used here because the surrounding block takes no signature"
masak aye, Frankfurt.
geekosaur carefully does not mention that to people talking about sg:a fic in another channel :p
mathw awesome, maybe it's time I renewed my passport
I've not been to Germany for ages
masak fglock: @_ assumes that you're in a routine. apparently, you're not. 20:53
fglock it's inside sub xxx { ...
masak nom: sub xxx { say @_ }; xxx 1, 2, 3
p6eval nom fdb5e3: OUTPUT«1 2 3␤»
masak fglock: are you inside a block inside sub xxx { ?
fglock yes, a do-block 20:54
au fglock: perl6: (-> *@_ { say @_[0] })('hello')
perl6: (-> *@_ { say @_[0] })('hello')
p6eval pugs b927740, rakudo fdb5e3, niecza v14-64-g8248afc: OUTPUT«hello␤»
dalek kudo/nom: 41349bf | masak++ | docs/ChangeLog:
[docs/ChangeLog] added one more change
20:55
au perl6: (sub (*@_) { do { say @_[0] } } )(3) 20:56
p6eval pugs b927740, rakudo fdb5e3, niecza v14-64-g8248afc: OUTPUT«3␤»
masak how come there's a 2012.11 release on github.com/perl6/nqp/tags ? 20:58
just curious.
moritz my fault
should be 2011.12
benabik Time traveling code!
masak oh, I see they're the same.
benabik Quick, download it and find out what we're going to fix!
masak moritz: can I remove it?
jnthn Quite a nice ChangeLog this month 20:59
moritz++ for much of it :) 21:00
masak jnthn++ for the rest ;)
fglock au: would you checkout & try: find t5/*.t | perl -ne ' print "*** $_"; chomp; print ` perl -Ilib5 perlito5.pl -Cperl6 $_ > tmp.p6 && perl6 tmp.p6 ` ' 21:00
2h passed - running out of tuits 21:01
au woot! 21:02
all pushed? I'll check it out in a few mins 21:03
masak fglock++!
au s/few mins/couple hours/ :)
fglock++
fglock :) 21:04
afk 21:05
dalek p: 4da1150 | masak++ | VERSION:
bump VERSION to 2012.02
21:12
[Coke] jnthn++ #CL maintenance. 21:14
[Coke] wonders how to reorder windows in irssi. 21:16
TimToady /win move 3
PerlJam [Coke]: also, check your "windows" section in ~/.irssi/config if you've saved your windows state 21:17
[Coke] well, that seems obvious now that I know what it is. ;)
dalek kudo/nom: 5aa315f | masak++ | tools/build/NQP_REVISION:
[tools/build/NQP_REVISION] updated
PerlJam [Coke]: (assuming you'd like the window locations to be somewhat permanent)
PerlJam always puts #perl6 on window 6 for some reason :) 21:18
[Coke] I have no idea how to save windows state.
PerlJam /save
masak it's all so obvious 21:19
PerlJam the computer just do it if it's so obvious! 21:20
*should
[Coke] wonders if that will mess with his hand carved .irssi files.
TimToady okay, how do I make it page forward every time I hit space, except when I want to type space? :) 21:21
PerlJam You have to install the ESP module first
and then the DWIM module
huf will that make focus follow my will? 21:22
PerlJam ponders a vi-mode for irssi
huf also no longer will we have to stop typing just to eat
tadzik PerlJam: I don't think that'd make sense
PerlJam naturally, there already /is/ a vi-mode 21:23
huf i... huh?
PerlJam google it if you haven't already 21:24
masak tools/update-tai-utc.pl is broken. could someone confirm? just run `perl tools/update-tai-utc.pl src/core/tai-utc.pm` in a fresh rakudo checkout. 21:25
it loops forever on the warning 'Use of uninitialized value $lines[0] in pattern match (m//) at tools/update-tai-utc.pl line 18.'
jnthn Can't locate Time/y2038.pm in @INC 21:26
guess I'm missing a dep here
PerlJam same here
masak yeah, I did too.
I installed it.
PerlJam heh 21:27
"This program should next be run in February."
It seemingly ran fine for me.
masak: what version of perl? 21:28
masak 5.10.1 21:29
PerlJam: did it change the file?
PerlJam It did not. Has another leap second been added? 21:29
masak I conclude it hasn't. 21:30
PerlJam I ran it fine with both 5.12.4 and 5.14.2
(no endless loop, but it did tell me I needed to run it again in February which is odd)
looks like an off-by-one error 21:31
(maybe) 21:32
(as soon as Time::y2038 finishs in stalling, I can try 5.10.1 too) 21:36
masak I see we promised to fix autoviv by the Feb release (according to the Jan announcement) -- but I don't see autoviv in the ChangeLog.
do I just remove that wording from the Feb announcement, or should we promise it again?
oh! we said "in coming releases", not "in the coming release". 21:37
jnthn Yeah, we don't commit that hard :P
masak then it's fine. I'll leave it as-is.
jnthn: phew!
PerlJam okay ... apparently installing Time::y2038 is a rabbit hole for my perlbrew'd 5.10.1 :( 21:38
Teratogen before we know it Y2.038K will be upon us! 21:39
jnthn Gonna have to sleep...agreed to start teaching insanely early tomorrow for some reason. :/ On the upside, no teaching at all next week = lots of Perl 6 tuits :) 21:43
'night o/
masak 'night, jnthn 21:44
dalek kudo/nom: f9196e3 | masak++ | docs/announce/2012.02:
[docs/announce/2012.02] added
21:48
masak file here: github.com/rakudo/rakudo/blob/nom/...ce/2012.02
if you're reading this, it's your solemn duty to review and provide feedback. 21:49
PerlJam masak++ 21:51
dalek kudo/nom: a95379d | masak++ | docs/release_guide.pod:
[docs/release_guide.pod] updated
colomon +1 21:52
masak there's something strange and loopy about the release guide asking the release manager to update and improve the release guide... :) 21:53
PerlJam just ran tools/update-tai-utc.pl again with 5.10.1 and again, it rand fine (FYI)
colomon cough, hofstadter, cough... ;) 21:53
PerlJam s/rand/ran/
benabik Hopefully the output from update-tai-utc doesn't rely on rand 21:54
masak .oO( it relies on Ayn Rand ) 21:55
benabik Rand Paul?
masak "Continue adjusting things until make stresstest passes as expected. Often this means fixing a bug, fudging a test, or (temporarily?) commenting out a test file in t/spectest.data . Use your best judgment or ask others if uncertain what to do here." 21:58
of those three options, the latter two are generally not acceptable in "production" software. 21:59
i.e. each release should ratchet forward, not fudge tests or comment out test files.
PerlJam sure, but there are extraordinary circumstances sometimes 22:00
colomon especially because the tests change independently of the compiler 22:05
masak oh, sure. 22:12
I'm just talking about a level of stability that we don't explicitly provide yet.
in a sense it doesn't matter if it was the implementation or the spec that slipped from under the end user. 22:13
now, could someone please explain to me why Z_4 isn't isomorphic to Z_2 x Z_2? I've never quite understood this.
colomon feels like he should have an answer, but barely understands the question. badly out of practice in abstract algebra... 22:16
masak Z_2 is a group with the elements (0, 1). Z_4 has (0, 1, 2, 3). both have addition-modulo-N as their operator. 22:21
katernya hi 22:23
masak katernya! \o/ 22:25
oh. I think I see it now.
maybe the easiest answer to the question "why" is that, in Z_4, 1 + 1 == 2, but in Z_2 x Z_2, (0, 1) + (0, 1) == 0. 22:27
colomon oh, groups.
masak yeah. I'm bored; I'm running 'make stresstest' :)
colomon hmmm... Z_2 x Z_2 specifically defines addition as being piecewise addition? 22:29
colomon is thinking that if you have full freedom to define the operators on (0, 1) x (0, 1) you can certainly make it isomorphic to Z_4 22:30
masak :) 22:31
masak I think the rules of the x say that the components should stay independant. 22:31
colomon then I think your explanation is exactly right 22:32
masak \o/ 22:33
colomon but it's worth remembering that I last studied this stuff back before sorear++ was born. ;) 22:33
masak now, explain to me why Z_6 *is* isomorphic to Z_3 x Z_2... :/
[Coke] colomon: the FNG at work was in high school in 2007. 22:34
masak oh, there's an explanation here: en.wikipedia.org/wiki/Isomorphism#P...l_examples 22:35
colomon I was just going to suggest you write a Perl 6 script to print out the addition table for Z_3 x Z_2.... 22:36
masak oh, and in Z_m x Z_n, m and n need to be coprime for such an isomorphism to hold with Z_mn.
All tests successful. 22:37
\o/
PerlJam masak: so, 2 isn't coprime with itself?
dalek kudo/nom: 5808482 | masak++ | VERSION:
[release] bump VERSION
masak PerlJam: apparently not ;)
PerlJam: maybe because it has some factor in common with itself... 22:38
colomon masak: that doesn't exactly strike me as an explanation; at least, if it is explaining why it works, it's too subtle for me.
masak colomon: I have a vague hint of a proof in mind. 22:39
PerlJam was last schooled in such things almost exactly 20 years ago.
masak colomon: coprimeness are like two clocks but not with 12 hours but with m and n hours respectively. if they are coprime, they don't start repeating until after mn hours.
colomon ooooo, nice explanation indeed 22:40
masak colomon: and that's, in a sense, the "recipe" for a group.
au wonders if one can simply encode x in Z_mn as ((x mod m), (x mod n)) in (Z_m, Z_n).
masak au: feels that way. 22:41
that's the "deconstruction" of the Z_mn group :)
au ah ok :)
masak hm, I didn't mean that it's officially called that. or even that it's correct. :) 22:42
but it feels like that's what it does :)
it feels a bit like a deconstruction the same way using a Haskell constructor as a getter feels like a deconstruction. 22:43
au the usual nomenclature for the latter is, I believe, "destructuring bind", but "deconstruction" has a nice ring to it :) 22:46
au >>= sleep
masak ah, "destructuring bind" sounds like a reasonable name for it. 22:48
p6c announcement sent. 22:52
colomon \o/ 22:53
masak++
masak en.wikipedia.org/wiki/Rakudo_Perl_6 updated.
standing down releng mode. 22:54
tadzik masak++
masak en.wikipedia.org/wiki/Niecza doesn't have a Wikipedia article. this is a minor outrage.
masak suddenly realizes that the explanation at en.wikipedia.org/wiki/Isomorphism#P...l_examples and his two-clocks metaphor and au's modulo construction all say exactly the same thing 22:59
it's like the explanations are... isomorphic.
masak my work here is done. 23:13
'night, #perl6