Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-02-19

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:04 nihiliad joined #perl6
00:15 IllvilJa joined #perl6
00:53 _timbunce joined #perl6
00:56 wayland @tell moritz_ actually, don't worry, I've already done S32-setting-library :), and it'll be in my next commit
00:56 lambdabot Consider it noted.
00:59 japhb joined #perl6
01:07 hercynium joined #perl6
01:29 pugs_svn r25401 | lwall++ | [STD] trait arguments are not in declarative context, hence
01:29 pugs_svn r25401 | lwall++ |     is tighter(&infix:<**>)
01:29 pugs_svn r25401 | lwall++ | shouldn't try to declare a new ** operator
01:38 nihiliad joined #perl6
01:38 eternaleye joined #perl6
01:44 alc joined #perl6
01:47 timbunce joined #perl6
01:48 fridim_ joined #perl6
01:50 meppl good nicht
02:28 eternaleye joined #perl6
02:42 justatheory joined #perl6
02:43 felipe joined #perl6
02:44 skids joined #perl6
02:45 skids rakudo: package Foo { class Pair is also { method fmt(Str $format) { return "ohhai"; }};  :d<f>.fmt("Pair %s %s").say; }
02:45 p6eval rakudo 876c09: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
02:45 skids bah
02:46 hello\n joined #perl6
02:47 skids Not sure if that should even work but here it prints "Pair d f" not "ohhai"
02:56 eternaleye joined #perl6
02:56 estrabd joined #perl6
02:56 Tene joined #perl6
02:59 bacek__ joined #perl6
03:06 s1n rakudo: say (1,2,3)
03:06 p6eval rakudo 876c09: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
03:06 s1n jnthn: i think some of your recent changes went afoul
03:06 s1n i'm getting: too few arguments passed (0) - 1 params expected
03:06 s1n current instr.: 'parrot;Bool;pick' pc 23612 (src/gen_setting.pir:335)
03:07 s1n anyone else seeing this problem?
03:18 skids sln: I updated a couple hours ago and I get correct "123" for that.
03:18 s1n skids: what revision?
03:19 s1n skids: 444a4c?
03:19 skids sln: forgive me I don't even know where the revision number is kept...
03:20 skids I totally missed the whole git thing while on vacation from hacking.
03:20 s1n skids: git log | head | grep commit
03:20 s1n well, head -n 1 maybe
03:20 skids Yeah 444a4c
03:20 s1n i'm still getting it
03:20 s1n i've rebuilt several times
03:21 s1n using the --gen-parrot too
03:21 skids I svn updated parrot by hand.
03:22 s1n skids: what revision of parrot do you have?
03:22 s1n 36856?
03:22 skids 36871
03:23 s1n hmm maybe jnthn forgot to update the parrot revision
03:23 agentzh left #perl6
03:24 s1n i'm doing a complete rebuild right now, i'll try manually updating parrot in a second
03:25 eternaleye joined #perl6
03:40 s1n jnthn, pmichaud: please update build/PARROT_REVISION to at least r36875
03:41 s1n jnthn's latest changes requires a newer dynext
03:46 pugs_svn r25402 | wayland++ | S16: Added a few attributes to trees
03:46 pugs_svn r25402 | wayland++ | S29: Moved a lot of stuff out to S32
03:46 pugs_svn r25402 | wayland++ | S32: Created this from S29 -- will incorporate S16 stuff soon
03:48 Sepheebear joined #perl6
03:54 frew joined #perl6
03:55 frew is it still planned that perl6 can run perl5 code?
03:55 frew and that perl5 will be the default for perl6?
03:57 skids Probably depends on perl5/parrot progress.  It will definitely support p5 regular expressions in addition to the new ones.
03:59 frew well
03:59 frew that assumes that perl6 is on parrot
03:59 skids and it is supposed to recognize files starting with package foo; as p5, but I don't know what you mean by default there.
03:59 frew and it's currently in the spec that perl6 will suppoer perl7
03:59 frew er
03:59 frew perl5
04:01 skids Well, rakudo is where the action is at right now, and that will allow embeds of other languages that have a parrot version, which is a growing list.
04:01 frew skids: yeah, if it starts with class or module it assumes p6
04:01 frew I was just wondering if that part of the spec was up to date
04:01 autarch joined #perl6
04:01 skids yeah I'm not the one to ask.
04:02 frew because for that to be true perl6 must support the entirety of perl5
04:02 autarch why is date & time stuff being spec'd as part of synopsis 16?
04:02 alester joined #perl6
04:02 frew because that's a form of io?  from a clock/
04:02 autarch that should be just the low level bits
04:02 autarch I'm begging you (whoever the right you is) to not put a bunch of high level stuff into the core
04:03 frew autarch: perl is a HLL though...why not?
04:03 autarch because you'll be stuck with this API forever
04:03 autarch and the API that's in there now is wacky
04:04 autarch and I thought there was some agreement that the Perl 6 core should be minimal, compared to Perl 5
04:04 frew maybe
04:04 frew I don't know about that
04:04 autarch plus these are things that need to be release on their own schedule
04:04 skids Probably it was originally a minimal IO-essential subset and someone got carried away.
04:05 frew if chromatic has anything to say about it perl6 will be light
04:05 autarch for example, time zone updates happen at semi-random times, but there could be 8-12 or more per year
04:05 autarch leap seconds gets announced on their own schedule, etc
04:05 frew the Synopsis does say that if someone wants to do something with dates and times they should use the DateTime Module
04:06 skids Maybe it's just homeless specs in search of a Synopsis in which to spend the night :-)
04:06 autarch what DateTime module? the Perl 5 one?
04:06 frew probably
04:06 autarch gah, no!
04:06 frew but DateTime is better than any other languages handling of dates
04:06 frew why don't you like it?
04:06 autarch yes, _I_ know that
04:06 skids No it's talking about a DateTime object in the same Synopsis.
04:07 autarch frew: I'm the guy who created DateTime, in case you didn't know that ;)
04:07 frew skids: yep.  I should have read further
04:07 frew autarch: I didn't know that.  And thanks, it's awesome!
04:07 autarch you're welcome
04:07 * skids seconds frew autarch++
04:07 autarch but anyway .... it could be much better, and should not be used as the basis for Perl 6 as-is
04:08 autarch nor should this sort of _very complex_ stuff be spec'd in the synopsis, IMO
04:08 autarch dates & times are an incredibly insane morass, trust me
04:08 pugs_svn r25403 | wayland++ | S16/S32: Moved Temporal and Tree stuff from S16 to S32
04:08 pugs_svn r25403 | wayland++ | S29: Added myself, because of last update
04:08 skids Well, just about all P5 modules should really be ground-up rethought now that there are all the new features in Perl6, especially some of them avoided pretending to do multiple dispatch because it was tedious without actuall MMD.
04:09 autarch skids: yeah, there's that too
04:09 autarch but I mean, DateTime has other design flaws that it would be good to avoid
04:09 autarch I did write an email to the perl6-language list about this just now too
04:10 autarch At the language level, I think having a way to do something like localtime and gmtime is sufficient
04:10 autarch instead of returning a gigantic list, it could return a very simple object, of course
04:10 wayland Incidentally, I've just moved the Time/Date stuff out of S16.  And I agree, the interface definitely needs work, but I thought I'd move it out of S16 first, and then go to work on it.
04:10 autarch but the heavy lifting should be on CPAN6
04:11 autarch actually, something like Time::Piece without the method duplication might be good for core
04:12 autarch but without Time::Piece's completely broken attempt at datetime math
04:12 wayland autarch: I agree.  I want a much more "simple-things-simple" interface
04:13 autarch Basically, an immutable object with a bunch of accessors, and maybe a strftime() method (or something similar), would be great
04:13 wayland (oops, I agree about improvement)
04:13 autarch no locales, no proper Olson time zones
04:13 wayland I'd like *hooks* for locales, timezones, and calendars
04:13 skids Personally I'd be happy to load a module for anything more than a ns-resolution gettimeofdayish thing.
04:14 autarch well, this Time::Piece-alike would be a module, but shipping it with core might be sane
04:14 autarch wayland: my theory is that this minimal object would be something that the real DateTime(6) could use under the hood
04:15 eternaleye joined #perl6
04:15 skids Whatever minimal object would be needed to pass in and out of NCI to OS essentials e.g. select, alarm...
04:16 autarch well, those just take a float, right?
04:16 skids But with subsecond if not sub-us precision, falling back to rounding.
04:16 skids autarch: struct timeval
04:17 skids (and struct timespec)
04:17 alester OK, is there something I can write for rakudo
04:17 alester Something that would actually use perl 6
04:17 alester and allow me to be useful?
04:17 autarch skids: actually, that's a duration, not an instant in time
04:17 skids See the post on rakudo.org Re: the Setting.
04:18 bacek__ joined #perl6
04:19 * frew is excited that DateTime and DBI are getting worked on for perl6
04:20 alester skids: Was that for me?
04:20 skids alester: yes.
04:20 autarch frew: I've done a _very little_ bit of code on it
04:20 xinming joined #perl6
04:20 autarch I'm kind of waiting for Rakudo to get further along at this point
04:21 alester autarch: I think DateTime is an ideal candidate for putting into Rakudo ASAP
04:21 frew autarch: that's fine, it's the fact that you are down with it that matters
04:21 alester it's crucial and it relies on little else
04:21 autarch alester: define "putting into Rakudo"
04:21 frew autarch: because when libraries like that are implemented in perl6 I'll be able to use it at work
04:21 alester converting to
04:21 autarch yeah, it's sort of a good candidate
04:21 alester I'm going to start on File::Next some time
04:22 alester Can't even think about something like Mech because it's so integrated with a stack below it
04:22 autarch I did work on it at the Frozen Perl hackathon a bit, but Rakudo is still A) missing random features; B) giving completely unhelpful error messages
04:22 frew have you guys been reading chromatics Modern Perl blog?
04:22 frew because he mentions some of these things
04:22 autarch B is a bigger problem, because it means I can't figure out if an error is me not knowing Perl 6, or a missing feature
04:22 frew or at least he did today
04:22 autarch frew: yes, I've been reading it
04:22 skids autarch: I try to get going but I'm way too detail oriented to be productive -- always finding something unimplemented that just bugs me and I don't want to work around.
04:23 frew ok, just making sure
04:23 autarch I'm 110% behind keeping Perl 6 core as freaking minimal as possible
04:23 frew he is apparently a big part of parrot; I can't see a lot of him in perl6 besides keeping the minutes though
04:23 autarch he is indeed a big part of parrot
04:23 skids Well the way to figure that out is log in here and try to crash via rakudo
04:24 skids rakudo: die()
04:24 p6eval rakudo 876c09: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
04:24 frew haha, nice
04:24 skids And then if your lucky someone will tell you "that's not implemented"
04:24 frew rakudo: "frew"
04:24 p6eval rakudo 876c09: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
04:24 frew yeah
04:24 frew it's broken atm
04:24 autarch yeah, pmichaud was at the hackathon, so I kept making him come round the table and look at my laptop
04:24 chrisdolan joined #perl6
04:24 alester Hey, that's life in the hemorrhaging edge.
04:24 autarch but it makes for a _very_ slow pace of development
04:25 autarch which is why I'd just as soon wait 6 months before I start hacking on DateTime6 for real
04:25 frew did you guys see the Periodic Table of Operators?
04:25 autarch which in turn is why I don't want it spec'd as part of the core ;)
04:25 autarch the table was lovely
04:25 frew oh my goodness!
04:25 skids where's that at?
04:25 frew I love it
04:26 frew http://www.ozonehouse.com/mark/periodic/
04:26 wayland I've been not watching.  I was hoping that Temporal (that's what I'm calling the minimal DateTime) would be a role that the real DateTime could do
04:26 wayland ie. role DateTime does Interval { or whatever
04:27 wayland I'm wanting the time stuff for a) localtime, gmtime, etc, and b) times in stat()
04:27 autarch the role as-is is bizarro
04:27 autarch has $.calendar makes no sense
04:27 skids Heh I'll have to see about linking that up to my own similar themed frantic scribbles at http://www.perlfoundation.​org/perl6/index.cgi?witch
04:27 autarch the get and last methods are also just odd
04:28 autarch this is why I suggest having a Time::Piece-like extremely minimal class
04:28 autarch this could also be a role that DateTime would do in the future
04:29 wayland You may be right about the $.calendar making no sense.  I would expect it to usually link directly to Gregorian, or something
04:30 autarch it doesn't _have_ a calendar, it _is_ a calendar
04:30 autarch but you don't need that for something minimal, use Gregorian and let the rest be CPAN6
04:31 wayland I guess I was intending that the Christian vs. Secular stuff be implemented via the Calendar modules
04:31 autarch wayland: that's a locale issue, really
04:31 autarch unless you're talking about Julian vs Gregorian
04:31 wayland Is it?  Good.  Then maybe I can give $.calendar the flick :)
04:31 wayland Nah, definitely AD vs. CE
04:32 autarch that's a locale issue
04:32 wayland The point to the get() and last() methods is that we don't need 5 functions called lastdayofmonth(), lastdayofquarter(), lastdayofyear(), etc
04:32 wayland (or 15 functions) :)
04:32 autarch well, you certainly wouldn't name them like that, cause they should have underscores, but anyway ...
04:33 autarch you don't need any of those, just have it be an immutable object which returns its own year, month, day, hour, minute second, etc
04:33 autarch if you have more complicated needs, there will be more complicated modules
04:33 wayland Ah, and leave all that "last" business to maybe a calendar module :)
04:34 wayland Ok, that's sounding good.  I'm liking that better :)
04:36 wayland (btw, thanks for saying you're the DateTime guy -- I know you know what you're talking about :) )
04:36 autarch I wasn't sure if people recognized my nick
04:38 wayland I didn't :).  And I preume you know I'm the one making a mess of the specs :).  I'm going to start cleaning the Temporal stuff now :)
04:39 shinobi-cl left #perl6
04:39 autarch how do the specs get blessed? does TimToady mutter a chant over them?
04:39 frew autarch: You're in good company; I didn't realize I was talking to Larry Wall when I was talking to him in this channel
04:40 wayland I don't know, but I only hack on draft specs unless I'm sure I'm right :)
04:40 skids TimToady rules the std I think, but that doesn't get up past operators and keywords.
04:40 wayland That's why my contributions are on iterators, S29, and S16
04:41 autarch I mean, I could make changes to the time stuff, I suppose
04:41 autarch but I don't want to work on it without guidance from the powers that be
04:41 wayland I'm in the middle of changing some things
04:41 wayland But when I'm finished, you can have a go :)
04:42 wayland Should be later today (it's 3:39pm here), so it shouldn't be too long.
04:42 autarch well, I'm not going to do it tonight (it's almost 11pm here)
04:42 wayland Oh, ok.
04:43 wayland I'll try to remember to flick you an e-mail when I'm done :)
04:43 wayland What's TAI?
04:43 wayland Threat Analysis Index?
04:43 autarch http://en.wikipedia.org/wik​i/International_Atomic_Time
04:43 wayland Thanks
04:43 autarch basically it's atomic time without any leap second adjustments
04:44 autarch this stuff is insanely confusing (again, my reason to keep it out of core)
04:45 frew autarch: I thought it might be cool to print out the equation for figuring out Easter on a poster since it's so complicated
04:45 wayland Fine by me.  Simple for core, but roles composable into something better :).
04:46 autarch frew: or the Chinese calendar, even more insane
04:46 frew I believe it
04:46 autarch there's a whole book on this stuff called Calendrical Calculations
04:47 autarch I can't follow most of the math though
04:47 dukeleto joined #perl6
04:47 chrisdolan Will someone with Rakudo commit please add "return $cond" to the end of proclaim() in Test.pm?
04:47 frew I don't really care to.  I just remember recently I was like, "When's easter" and I got curious as I always have to look it up
04:48 chrisdolan ... for better Test::More similarity
04:49 chrisdolan or just "git pull git://github.com/chrisdolan/rakudo.git test-pm"
04:56 wayland chrisdolan: Not sure any of those people have been active recently (unsure though)
04:57 frew rakudo: 3;
04:57 p6eval rakudo 876c09: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
04:57 frew pugs: 3;
04:57 p6eval pugs: RESULT«3»
04:57 frew pugs: [1,2,3] =:= [1,2,3];
04:57 p6eval pugs: RESULT«Bool::False»
04:57 frew pugs: my @a = @b = [1,2,3]; @a =:= @b;
04:57 p6eval pugs: OUTPUT«*** ␤    Unexpected "@a"␤    expecting "=", "::", context, ":" or "("␤    Variable "@b" requires predeclaration or explicit package name␤    at /tmp/rGQqlip6xJ line 1, column 4␤»
04:58 autarch left #perl6
04:58 frew pugs: my @a = [1,2,3]; my @b = @a; @a =:= @b;
04:58 p6eval pugs: RESULT«Bool::False»
04:58 frew pugs: 1 =:= 1;
04:58 p6eval pugs: RESULT«Bool::False»
05:00 alester hey chrisdolan, didja notice a perlcritic target?
05:04 skids pugs: my $a = 1; my $b := $a; $a =:= $b
05:04 p6eval pugs: RESULT«Bool::True»
05:07 * frew is confused
05:07 frew I thought =:= had to do with lists...
05:08 skids frew: Container identity, determines if variables are just 2 names linked to the same object.
05:08 frew oooooh
05:08 frew got it
05:09 justatheory joined #perl6
05:09 frew I figured that a list and a hash were containers so it would compare those
05:10 skids Yeah they are, but to assign them like that you have to use :=, = will copy.
05:11 frew pugs: my @a = [1,2,3]; my @b := @a; @a =:= @b;
05:11 p6eval pugs: RESULT«Bool::True»
05:11 frew interesting
05:11 frullet joined #perl6
05:15 frew pugs: my $foo = "bar"; $foo.?awesomebot
05:15 p6eval pugs: RESULT«undef»
05:15 frew pugs: my $foo = "bar"; $foo.*awesomebot
05:15 p6eval pugs: RESULT«undef»
05:15 frew pugs: my $foo = "bar"; $foo.+awesomebot
05:15 p6eval pugs: OUTPUT«*** No such method in class Str: "&awesomebot"␤    at /tmp/enIOiFALfU line 1, column 18 - line 2, column 1␤»
05:18 skids pugs: @f := [ "foo".say, "bar".say ] ; "wait for it".say; @f.say;
05:18 p6eval pugs: OUTPUT«*** ␤    Unexpected " :="␤    expecting "::"␤    Variable "@f" requires predeclaration or explicit package name␤    at /tmp/w3AyfnTe0f line 1, column 3␤»
05:18 skids pugs: my @f := [ "foo".say, "bar".say ] ; "wait for it".say; @f.say;
05:18 p6eval pugs: OUTPUT«foo␤bar␤wait for it␤1 1␤»
05:18 frew hahaha
05:18 skids Hrm I thought pugs already did lazy stuff.
05:19 frew pugs: my @f ::= [ "foo".say, "bar".say ] ; "wait for it".say; @f.say;
05:19 p6eval pugs: OUTPUT«foo␤bar␤wait for it␤1 1␤»
05:20 skids IIRC that should say "wait for it foo 1 bar 1" once lazy stuff is implemented
05:22 skids (I mean mine, ::= would still say as above)
05:24 frew yeah
05:24 frew I was just checking
05:25 agentzh joined #perl6
05:36 oskie joined #perl6
05:38 masak joined #perl6
05:46 iCtrl\neGOOL joined #perl6
05:47 sabaonete is there any online perl interpreter?
05:54 masak sabonete: you have to stick around for a while, so that people can reply to you. :)
06:15 alester OK, is something unwell about make test?  Or is it me?
06:17 masak alester: which product are we talking about?
06:17 alester rakudo
06:17 masak I don't usually run make test, only make spectest.
06:17 masak but I'll update and try the former.
06:17 alester oooh
06:18 alester I'm still trying to figure how things are sposeta work.
06:19 alester http://sial.org/pbot/35126 is what I'm getting
06:20 masak ok.
06:20 masak that looks like an actual error.
06:20 alester meaning in Rakudo or on my end?
06:20 masak in Rakudo.
06:20 masak care to submit a rakudobug?
06:22 alester trying out what's on the main
06:22 alester it might just be my fork.
06:23 masak well, 'make test' passes here.
06:30 alester it's like I'm missing a patch that has lots of eigenstates changes
06:30 alester i'm diffing my fork against rakudo/rakudo
06:32 alester or maybe I pulled something from someone else's branches
06:39 magnarjg joined #perl6
06:41 hirschnase joined #perl6
06:44 [cotto] joined #perl6
06:47 alester well, my copy of the rakudo main fails too
06:48 masak do a fresh checkout and run that?
06:52 hirschnase joined #perl6
07:19 agentzh left #perl6
07:23 dukeleto joined #perl6
07:24 agentzh joined #perl6
07:27 dukeleto perl6: say 42
07:27 p6eval rakudo 876c09: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
07:27 p6eval ..elf 25403, pugs: OUTPUT«42␤»
07:28 * masak fixes Rakudo
07:29 dukeleto masak: oooh, thanks!
07:29 masak just doing my job :)
07:33 meppl joined #perl6
07:36 ashizawa joined #perl6
07:36 masak hm. make error in Rakudo on timtowtdi.org :/
07:37 * masak will have to punt this one to moritz_
07:45 pugs_svn r25404 | leto++ | Found log(0) bug; added log NaN/Inf tests and log10 complex tests
07:47 pugs_svn r25405 | wayland++ | Improved Temporal (previously DateTime) stuff a bit
07:50 iblechbot joined #perl6
07:51 moritz_ good morning
07:51 lambdabot moritz_: You have 2 new messages. '/msg lambdabot @messages' to read them.
07:51 moritz_ @massages
07:51 lambdabot wayland said 8h 11m 6s ago: What would you say to calling the new Spec directory S32-setting-library? We had some discussion on this earlier on IRC
07:51 lambdabot wayland said 6h 54m 48s ago: actually, don't worry, I've already done S32-setting-library :), and it'll be in my next commit
07:52 masak moritz_: I can't make Rakudo to build on timtowtdi.org
07:53 dukeleto perl6: say "I am a sad bot"
07:53 p6eval rakudo 876c09: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
07:53 p6eval ..elf 25405, pugs: OUTPUT«I am a sad bot␤»
07:53 * moritz_ takes a look
07:55 pugs_svn r25406 | moritz++ | [t/spec] a few small improvements
07:56 pugs_svn r25412 | moritz++ | [t/spec] more autothreading tests (for .values and prefix:<+>)
07:56 pugs_svn r25413 | moritz++ | [t] update link in README
07:56 pugs_svn r25414 | moritz++ | [t] small improvements to HOWTO
07:56 pugs_svn r25415 | moritz++ | [t] updated deprecated-syntax.pod (mostly Junction stuff)
07:56 pugs_svn r25421 | moritz++ | [t] move adverbial_modifiers.t to spec/
07:56 pugs_svn r25422 | moritz++ | [t] move inplace.t to spec/
07:57 pugs_svn r25428 | moritz++ | [t] move lookaround.t to spec/
07:57 pugs_svn r25429 | moritz++ | [t] move undeclared_attribute.t to spec/
07:57 pugs_svn r25430 | moritz++ | [t] move caller.t to spec/
07:57 moritz_ this is git-svn replaying yesterday night's improvements
07:57 pugs_svn r25436 | moritz++ | [t/spec] add a smartlink (albeit a bad one)
07:57 pugs_svn r25437 | moritz++ | [t] move scoped_named_subs.t to spec/, remove an obsolete test
07:57 pugs_svn r25438 | moritz++ | [t] move code_blocks_as_sub_args.t to spec/
08:00 dalek rakudo: 543e228 | (Moritz Lenz)++ | t/spectest.data:
08:00 dalek rakudo: add an integration test to t/spectest.data
08:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/5​43e228782a07f9910a3059a717fd7af718f33f4
08:00 dalek rakudo: 3bcf8dd | (Moritz Lenz)++ | t/spectest.data:
08:00 dalek rakudo: we pass S29-any/isa.t, add it to t/spectest.data
08:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/3​bcf8ddd23e1722f9897002a53b5d848c44eda7a
08:00 dalek rakudo: b7c3233 | (Moritz Lenz)++ | t/spectest.data:
08:00 dalek rakudo: add test for Junction.eigenstates to spectest.data
08:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/b​7c3233666685c87e708de264edf2c897d78a5eb
08:00 dalek rakudo: 9288850 | (Moritz Lenz)++ | src/ (4 files):
08:00 dalek rakudo: expose Junction.eigenstates as a public method
08:00 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/9​288850da6fbec123040fad103114abeeed53d81
08:05 moritz_ masak: can you build a fresh rakudo locally? it also fails for me
08:05 masak I could a few hours ago. trying again.
08:06 * moritz_ tries to re-run Configure.pl
08:07 moritz_ ah, that does the trick
08:07 masak moritz_++
08:10 moritz_ rakudo: say 'happy bot'
08:10 p6eval rakudo 876c09: OUTPUT«happy bot␤»
08:12 moritz_ rakudo: say 2**2**3
08:12 p6eval rakudo 876c09: OUTPUT«256␤»
08:12 moritz_ rakudo: say [**] 2, 2, 3
08:12 p6eval rakudo 876c09: OUTPUT«64␤»
08:22 Matt-W Morning
08:23 pugs_svn r25439 | moritz++ | [t/spec] small fixes, moritz--
08:37 * Matt-W started writing Form.pm this morning, but then had to come to work
08:37 duke_leto joined #perl6
08:38 bacek_ rakudo: say 2**3**4
08:38 p6eval rakudo 543e22: OUTPUT«2.41785163922926e+24␤»
08:38 duke_leto left #perl6
08:58 DemoFreak joined #perl6
09:19 wolverian joined #perl6
09:25 wolverian joined #perl6
09:42 pmurias joined #perl6
09:44 PantheraPardus joined #perl6
09:49 maerzhase joined #perl6
10:17 magnarjg left #perl6
10:33 masak I know. let's do diamonds!
10:33 masak rakudo: role A { method foo { say "OH HAI" } }; role B does A {}; role C does A {}; class D does B does A {}; D.new.foo
10:33 p6eval rakudo 543e22: OUTPUT«A conflict occurred during role composition due to method 'foo'.␤current instr.: '!meta_compose' pc 342057764 ((unknown file):-1)␤»
10:33 masak this should work, shouldn't it?
10:33 masak a method shouldn't conflict with itself.
10:33 jnthn That's a bug.
10:34 * masak bugmits rakudosub
10:34 jnthn It shouldn't try to compose roles that have already been composed.
10:34 jnthn It may be trying to do stuff to early...
10:35 jnthn allison-- decided roles in Parrot would be so much better with us taking Perl 6 semantics, so now I have to keep working around them. *sigh*
10:36 jnthn Erm
10:36 jnthn withou us *not* taking...
10:36 jnthn jebat... *with us not taking
10:36 masak what about this one?
10:36 masak rakudo: role A {}; role B does A {}; role C does A {}; class D is B is C {}
10:36 p6eval rakudo 543e22: OUTPUT«The class 'D' already has a parent class ''. It may have been supplied by a role.␤current instr.: '!meta_trait' pc -2861953 ((unknown file):-1)␤»
10:36 masak not 'is' instead of 'does'.
10:36 masak s/not/note/
10:37 jnthn Hmm.
10:37 masak last time I checked, multi inheritance wasn't a crime :)
10:37 jnthn I have no idea why it'd be doing that. You're doing two different punned classes.
10:38 jnthn Erm, inheriting from two different punned classes.
10:38 * masak submits rakudobug
10:38 masak pwned classes. heh.
10:46 jnthn :-P
10:49 masak I should blog about how to find bugs in Rakudo. it goes like this: (1) think of a one-liner that exercises a cool thing that probably no-one has done before (like diamond inheritance). (2) see it break. (3) submit bug.
10:49 masak :)
10:50 masak of course, it has to break in an interesting way, and not because of user stupidity or some such.
10:50 jnthn And occasionally step 2 may not happen. :-P
10:51 masak jnthn: of course. :)
10:51 masak I forgot to mention that.
10:51 masak but this way, even failures are in some sense fruitful. they're just a different kind of success.
10:51 moritz_ :-)
10:52 Matt-W You're very good at seeing the positives in everything :)
10:52 moritz_ jnthn: have you already had a chance to work on the multi dispatch + generics issue?
10:52 Matt-W When I call map as a method on a list, can I use adverby syntax for the block?
10:53 moritz_ Matt-W: in theory yes, in pratice not yet
10:53 * jnthn should give masak his ASP classic tasks to see if he can possibly find anything positive in *that* steaming heap.
10:53 masak jnthn: I already have $WORK tasks to flee from, thank you very much.
10:53 moritz_ jnthn: it makes you appreciate the beauty of Perl 6 even more :-)
10:54 Matt-W moritz_: that explains the syntax error I got this morning then before I came to work
10:54 * Matt-W made use of pointy subs and they made him happy
10:55 jnthn moritz_: I did reply to the mail...
10:56 cls_bsd joined #perl6
10:56 masak lunch &
10:57 jnthn moritz_: It's...non-trivial to do the fix, as I mentioned.
10:57 moritz_ ah yes, I remember... coroutines and stuff
10:58 moritz_ sorry
10:59 * jnthn sa citi lepsi po kave...
10:59 jnthn ooops, mis-channel
11:00 jnthn moritz_: Continuations...but yeah.
11:03 alexn_org joined #perl6
11:04 Matt-W jnthn: ASP classic as in Microsoft's pre-.NET web app development monstrosity?
11:08 jnthn Matt-W: Yes.
11:08 ejs joined #perl6
11:08 Matt-W jnthn: ouch
11:10 jnthn Matt-W: Indeed.
11:10 jnthn Apparently it was also written before SQL injection attacks were invented too. ;-)
11:13 Matt-W oh dear
11:13 Matt-W I've done a little work with that sort of code myself, I didn't care much for it
11:13 Matt-W Fortunately the bit I have to maintain in that system was written in Perl, by me.
11:14 jnthn I'm gradually re-writing bits into C#.
11:14 jnthn But it's slow going...
11:15 jnthn Edge cases, always having to track down dependencies between stuff, etc.
11:15 Matt-W I bet
11:16 Matt-W I have similar problems, except I'm gouging out a broken subsystem in a big C++ app and trying to make it work right while interacting with everything around it in the same way across a hundred or so threads. Keeps me busy...
11:18 Matt-W Although right now I've been challenged to a game of table tennis :) &
11:21 jnthn hey, that sounds more fun!
11:21 moritz_ (table tennis)++
11:21 moritz_ I do that once or twice a week
11:21 moritz_ for about 9 years now
11:30 masak rakudo: 1.5 * 52 * 9
11:30 p6eval rakudo 543e22: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
11:31 * masak fixes
11:31 jnthn masak: Why does it keep failing like this? Is the root cause clear at all?
11:31 masak I don't know, I just work here. :/
11:32 zamolxes joined #perl6
11:38 masak rakudo: 1.5 * 52 * 9
11:39 p6eval rakudo 543e22: RESULT«702»
11:39 masak that's a lot of table tennis.
11:39 bacek joined #perl6
11:42 Matt-W hurrah! I won!
11:42 masak felicitations.
11:43 Matt-W We have a table in the 4th floor lunch room, so I try to play a game every day
11:43 Matt-W it's much better for me than playing pool on the 5th floor :)
11:44 masak because of the extra set of stairs? :P
11:45 Matt-W my desk is on the fifth floor, so table tennis is even more extra effort :)
11:48 * jnthn lives in the 4th story of a building.
11:48 jnthn It has no elevator.
11:48 Matt-W that's good for the leg muscles!
11:48 jnthn It sucked when I was moving in, but it's great otherwise.
11:48 masak my office is on an unspecified floor, because our office building complex inhabits a non-standard geometry.
11:48 Matt-W heh I bet it did
11:49 jnthn Now I can't bear the thought of moving out. :-)
11:49 Matt-W I try to use the stairs at work as much as possible, but since I moved up from the fourth floor it's seemed like a lot of extra effort to get up to the 5th
11:49 Matt-W and most people agree, the 4th floor is okay, the 5th is hard
11:49 Matt-W I suppose it's a good thing I don't work for the radio station on floor 6 :)
11:51 Matt-W there was a building at uni that had a 'mezzannine floor'. I never did figure out where that was. It made the whole place far more interesting.
11:52 masak when I look out the window, it looks like we're on the ground floor.
11:52 Matt-W you're in a hill?
11:52 masak Matt-W: or a slope.
11:52 Matt-W that always confuses things
11:52 masak it make them interesting.
11:52 Matt-W this building has an extra floor on one side due to sloping
11:53 Matt-W and the floor numbering system is american, which always bugs me
11:53 iblechbot joined #perl6
11:53 Matt-W well, the one on our side is, the hotel side (jduging by the signs in the fire escapes) use british floor number
11:53 masak this building doesn't have floow numbers, it has a 3D coordinate system.
11:53 Matt-W so you work at (4, 7, 2.4**pi)?
11:53 masak and little notes with coordinates on everything.
11:54 masak I work in D3L218b.
11:54 masak (don't ask.)
11:54 Matt-W that's... fun
11:54 bacek good evening
11:54 masak bacek: g'day.
11:54 bacek rakudo: say 2**3**4
11:54 p6eval rakudo 543e22: OUTPUT«2.41785163922926e+24␤»
11:54 bacek masak: g'day
11:55 bacek masak: you can close #63306 now :)
11:55 Matt-W technically I work at NCQ05W057 but that's getting right down to which desk
11:55 * masak closes
11:55 jnthn The fun one is trying to meet people on a given floor number...when you have different ideas of what floor 1 is.
11:55 masak rakudo: say [**] 2,3,4
11:55 Matt-W (and it's a very poor system, it doesn't tell you which part of the fifth floor to look in for desk 57)
11:55 p6eval rakudo 543e22: OUTPUT«4096␤»
11:55 Matt-W jnthn: yes!
11:55 masak bacek: you mean the ticket is incorrect?
11:56 bacek masak: it was correct, jnthn++ already fixed it
11:56 jnthn Well, I applied bacek++'s patch... ;-)
11:56 bacek masak: [**] is different :)
11:56 masak oki.
11:57 masak I don't think I understood what the bug was, then.
11:57 masak but I'll close.
11:57 Matt-W right associativity in action :)
11:59 bacek jnthn: can you apply http://github.com/bacek/rakudo/commit/4​0254c113c0a87155c08be82baa1b47fd62a07d7 (it is for #63232)
12:01 Matt-W So we have perl 6 setting now, is there a plan for how to progress through implementing it?
12:01 jnthn Someone else asked that in reply to my post about it.
12:01 jnthn So sounds like a plan would be good...
12:02 Matt-W well if people start diving in and implementing stuff there might be duplication of effort
12:02 Matt-W or at least some train wrecks
12:03 jnthn Aye.
12:04 bacek We have RT for managing proposed patches.
12:05 pjcj joined #perl6
12:05 Matt-W Also, what's the procedure for patches on git? Do we fork rakudo and point you to a commit on our branch in the ticket?
12:06 fridim_ joined #perl6
12:06 Matt-W I ask because I can actually see myself writing code for the setting
12:06 jnthn Matt-W: I haven't worked out, how to do that yet. IN theory, it looks like the best way.
12:07 bacek jnthn: git remote add bacek-branch git://gitub.org/bacek/rakudo.git; git fetch bacek master; git cherry-pick <id>;
12:08 bacek but it will keep author's name in commit.
12:08 bacek git fetch bacek-branch master
12:09 Matt-W aaah
12:09 Matt-W I knew it had a clever wayt o do it
12:09 Matt-W lunch &
12:11 bacek http://github.com/bacek/rakudo/network have a nice picture (if you have a flash player installed :)
12:18 jnthn Yay, the train tickets for my vacation have just been delivered. :-)
12:21 bacek jnthn: congratulations! Take your laptop with you to spend time on rakudo hacking :)
12:22 bacek rakudo: say +*
12:22 p6eval rakudo 543e22: OUTPUT«Use of uninitialized value␤0␤»
12:22 jnthn bacek: Actually my vacation is around/between a couple of Perl conferences. :-)
12:22 jnthn bacek: So will have the laptop. :-)
12:22 bacek jnthn: :)
12:22 bacek masak: #61628 can be closed too
12:23 moritz_ whatever you say about git, it does make offline working much easier
12:23 jnthn But mostly I plan to relax, and speak awful Russian to everyone. :-)
12:23 bacek jnthn: ни в коем случае!
12:23 jnthn bacek: Oo minya, nyet unicodi! ;-)
12:24 bacek Is it possible to get admin rights at RT? So I can close tickets by myself?
12:24 bacek jnthn: ni v koem sluchae!
12:26 masak bacek: resolving.
12:26 moritz_ bacek: you have to bother pmichaud with that
12:26 bacek moritz_: ok.
12:26 * bacek summon pmichaud
12:28 bacek spell failed...
12:29 moritz_ bad luck with your dices? :-)
12:30 bacek indeed
12:32 wayland Hmm.  I have 12D6 somewhere?  (I was a Shadowrun player :) )
12:33 wayland Maybe he needs to be conjured or enchanted instead of summoned
12:33 * wayland casts an illusion of pmichaud :)
12:33 * bacek using D10 usually. Munchkin forever! :)
12:35 hanekomu joined #perl6
12:44 moritz_ Munchkin++
12:46 wayland btw, am I right in recalling that pugs bits get handed out willy-nilly?  I ask because if autarch turns up wanting a pugs commit bit, I'd like him to have one :)
12:46 masak they get handed out liberally.
12:47 masak I'm not sure I remember how to do it, but I used to be able to hand them out.
12:53 ruoso wayland, masak, I've just replied in the thread about trees
12:53 masak ok. reading wayland's reply to my email now.
12:58 ruoso wayland, one important thing I didn't mention in the mail is that I understand that if some attribute is going to be undefined for some cases in a Role, then it doesn't belong in that role, but in a more specialized one...
12:58 ruoso the good thing about roles is that they don't require an hierarchy
12:58 ruoso (which is what makes the Java API so terrible)
12:59 masak ruoso: I still think that a role Tree with a lookup method is a very silly thing to have.
13:00 masak lookup is a trait of _all_ data structures!
13:00 ruoso "trait"?
13:00 masak I use the word in a very loose sense.
13:00 masak you can do lookup on all data structures.
13:00 masak that's why they're data structures, so you can do lookup on them.
13:01 ruoso alright... in some sense, you can say that calling a method is a form of lookup
13:01 masak yes, but that's not what I meant.
13:01 ruoso (but it is what it actually means in Perl 6, since everything is represented in terms of method calls ;)
13:02 masak I meant that one can do lookup an all data structures that contain things... it's not specific to trees.
13:02 ruoso Ok, I think I agree with you
13:03 ruoso Perl 6 has already a powerful enough introspection API for you to do any magic you want
13:03 masak aye.
13:03 ruoso a Tree role won't actually help anything...
13:03 masak less than nothing, by me.
13:03 masak and I apologise if that makes me sound overly negative :)
13:03 ruoso what I had in mind is an old project (2007) of a tree-transforming language
13:04 ruoso actually, at first a tree-matching language
13:04 masak that sounds very interesting... for a CPAN module.
13:04 ruoso yes... sure... but I was wondering if a Tree role wouldn't be a fundamental piece for that to be possible
13:04 ruoso but I've already realised it isn't
13:05 masak good.
13:05 * masak is a Tree hugger
13:06 ruoso but I'm still favorable to adding DateTime as built-in
13:06 masak I'm of two minds about that.
13:07 ruoso the fact that perl5 didn't have DateTime (as the current CPAN module) lead many people do do date and time math using timestamps
13:07 ruoso which is just plain wrong
13:07 masak you can't protect people from not knowing about CPAN.
13:08 ruoso I know... but I mean... if the time() sub returns a DateTime object
13:08 masak arguably better, yes.
13:08 ruoso where you can do, time + DateTime::Duration(:months(1));
13:08 ruoso or even
13:08 ruoso time + DateTime::Duration(:days(1))
13:08 ruoso (since that's the most common error
13:09 ruoso (er... it was supposed to be a ".new" in the two examples above)
13:14 kane_ joined #perl6
13:16 Matt-W that's something i've always liked being able to do in SQL
13:16 Matt-W in some ways it'd be lovely to have in the core
13:16 wayland It's after midnight here, so I'll unfortunately be turning in before I get to grips with things more, but I'd like to quickly mention that the core Temporal (previously DateTime) stuff is going to be fairly basic
13:17 wayland But with the idea that a CPAN/heavy-lifting module can implement the same role better :)
13:17 wayland That's not what I was thinking earlier, but autarch and others talked me into it :)
13:18 DemoFreak joined #perl6
13:18 Matt-W that sounds like a reasonable approach, yes
13:20 masak rakudo: my $a; $a min= 100; say $a
13:20 p6eval rakudo 543e22: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'␤current instr.: 'infix:cmp' pc 16183 (src/builtins/cmp.pir:146)␤»
13:20 masak I thought this had been fixed...
13:21 jnthn masak: I thought we had regression tests for min=...
13:22 jnthn ah
13:22 jnthn rakudo: my $a; say $a min 100;
13:22 p6eval rakudo 543e22: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'␤current instr.: 'infix:cmp' pc 16183 (src/builtins/cmp.pir:146)␤»
13:22 jnthn Ah, OK.
13:22 jnthn It's in min itself, not the meta-operator thingy.
13:22 masak ah.
13:22 Matt-W that min= max= thing, that's incredibly cool
13:22 masak Perl 6 is awesome.
13:23 Matt-W oh yes
13:23 jnthn masak: So bug report welcome, but my example pinpoints the problem more. :-)
13:23 * masak bugs reports
13:24 masak ...and has a spell fail of my own, it seems :)
13:24 * masak shouldn't type at all today
13:25 masak rakudo: undef min 100
13:25 p6eval rakudo 543e22: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'␤current instr.: 'infix:cmp' pc 16183 (src/builtins/cmp.pir:146)␤»
13:26 bacek jnthn: it's Undef itself.
13:27 jnthn bacek: Or cmp now knowing how to deal with undex.
13:28 jnthn bacek: Maybe re-work it to dispatch to Rakudo's own cmp rather than Parrot's is better.
13:28 PantheraPardus left #perl6
13:28 bacek jnthn: I've replied to some ticket about undef.
13:28 bacek looking now.
13:29 * jnthn has Slovak class now
13:30 pugs_svn r25440 | ruoso++ | [mildew] Multi.pm compiles
13:30 pugs_svn r25440 | ruoso++ | [mildew] we dont need $OUT anymore, we have print and say now!
13:30 pugs_svn r25440 | ruoso++ | [mildew] Makefile builds Multi.pm but Prelude still doesnt load it.
13:30 ruoso mildew: say "Hello World!"
13:30 p6eval mildew: OUTPUT«can't create CORE.pad.store: Permission denied at ../../src/perl6/Cursor.pm line 194␤»
13:30 ruoso pfft...
13:31 * Matt-W scowls at his perl 5 code
13:35 bacek jnthn: http://nopaste.snit.ch/15671
13:36 ruoso TimToady, is it possible to make the creation of CORE.pad.store inside the lex directory?
13:36 bacek In ticket I've got comment that other way will be implementing '.sub "cmp" :multi(Undef,_)'
13:36 ruoso TimToady,  so we have only one directory where STD writes to?
13:39 jnthn rakudo: say undef cmp 2
13:39 p6eval rakudo 543e22: OUTPUT«Multiple Dispatch: No suitable candidate found for 'cmp', with signature 'PP->I'␤current instr.: 'infix:cmp' pc 16183 (src/builtins/cmp.pir:146)␤»
13:39 jnthn Gah, OK.
13:39 * jnthn really afk now
13:42 * ruoso proudly looks at mildew/t/return_function.t and thinks: this really looks like Perl 6 now...
13:43 * masak looks
13:43 * ruoso .oO( but there is still a long road before being able to actually run t/01-sanity/01-tap.t
13:44 masak still, good work.
13:46 ruoso rakudo: my sub foo($code) { $code.(); say "not" }; my sub bar() { foo({ return "ok"; }); say "not" }; bar();
13:46 p6eval rakudo 543e22: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
13:46 ruoso erm... seems that I hit rakudo recompiling
13:46 ruoso rakudo: my sub foo($code) { $code.(); say "not" }; my sub bar() { foo({ return "ok"; }); say "not" }; bar();
13:47 p6eval rakudo 543e22: OUTPUT«not␤»
13:47 ruoso at least one thing that works in mildew and don't work in rakudo :) :) :)
13:49 masak :)
13:49 masak there's a ticket for that, though.
13:49 ruoso I know... I've oppened it (I think)
13:51 masak oh, right.
13:51 masak yes, I think so too.
13:54 ejs1 joined #perl6
14:08 Matt-W is that wrong?
14:10 masak Matt-W: http://rt.perl.org/rt3/Tic​ket/Display.html?id=61126
14:11 masak I secretly look forward to this being fixed, because then I can have fun breaking Rakudo by trying to return from subs that have already exited. :P
14:19 Porsbo joined #perl6
14:20 Matt-W so return... argh
14:20 Matt-W head pain
14:21 Matt-W return doesn't necessarily bind to its immediately enclosing block
14:21 masak it binds to its enclosing routine, IIRC.
14:22 Matt-W so { } isn't a routine
14:22 Matt-W is -> { } a routine?
14:22 bacek (as in RT) I thinks they both should return 2.
14:22 Matt-W bacek: that's what I'd say, so I want to understand why they shouldn't
14:23 masak Matt-W: no, -> { } is not a routine.
14:23 masak see, um, S04.
14:23 masak I agree, the ticket makes a subtle point.
14:23 masak I also misunderstood it first.
14:27 masak bacek, Matt-W: maybe it'd help if you tried to explain to me why you think the examples should return 2.
14:28 bacek pugs: sub bar($code) { $code() }; sub foo { bar { return 1 }; return 2; }; say foo;
14:28 p6eval pugs: OUTPUT«2␤»
14:28 masak Pugs is wrong, too :)
14:28 bacek because this return returns from "bar", not "foo"
14:28 masak bacek: well, no. the 'return' is in foo.
14:29 bacek pugs: my $ret = ->{ return 42 }; sub bar($code) { $code() }; sub foo { bar $ret; return 2; }; say foo;
14:29 p6eval pugs: OUTPUT«2␤»
14:29 bacek so what?
14:29 Matt-W I would have read it that when bar runs $code(), $code() evaluates to '1', so bar then evaluates to 1, which is then ignored, and the routine proceeds to 'return 2'
14:29 masak or, rather, it's in a block which is not powerful enough to catch return exceptions, inside foo.
14:30 masak so the return exception propagates to foo.
14:30 bacek there is return exception handler in bar
14:30 masak yes, but the return is declared inside foo.
14:30 masak so, it's a "foo return" :)
14:31 bacek masak: what about my second example?
14:31 masak the one with the pointy block?
14:31 bacek yes
14:32 masak I think it's illegal, because the return isn't inside a sub.
14:32 Matt-W no way
14:32 bacek pugs: my $ret = sub { return 42 }; sub bar($code) { $code() }; sub foo { bar $ret; return 2; }; say foo;
14:32 p6eval pugs: OUTPUT«2␤»
14:32 bacek masak: try again
14:32 Matt-W isn't -> { } pretty much the same as sub { }?
14:32 masak Matt-W: no.
14:32 masak see S04.
14:32 Matt-W S04 seems to assume knowledge
14:33 masak bacek: now it returns 2, methinks.
14:33 masak Matt-W: :)
14:33 bacek masak: no. If you right, than foo returns 42.
14:33 bacek And it's weird.
14:34 Matt-W "Pointy blocks and bare closures are transparent to return."
14:34 masak bacek: no, because now the 'return 42' is in a sub, and not in foo.
14:34 bacek even no. We will not call "say foo" at all.
14:34 masak bacek: sorry, did not get that last part.
14:34 masak what do you mean?
14:36 Matt-W so sub {} is 'stronger' than -> {} in that sub {} catches return exceptions
14:36 masak here's the p6l thread in which I go through the same process of bewilderment as you are right now: http://www.nntp.perl.org/group/perl.​perl6.language/2008/12/msg30088.html
14:36 Matt-W -> is just 'closure with formal parameters'
14:36 masak Matt-W: aye
14:36 Matt-W okay
14:36 Matt-W I'm happy then
14:36 masak Matt-W++
14:36 Matt-W we're going to need a really, really good guide to blocks and closures in u4x though!
14:36 bacek perl6: sub blah { ->{ return 42 } };  sub bar($code) { $code() }; sub foo { bar blah; return 2; }; say foo;
14:37 masak Matt-W: indeed.
14:37 p6eval pugs, rakudo 543e22: OUTPUT«2␤»
14:37 p6eval ..elf 25440: OUTPUT«AST handler circumfix:pblock partially unimplemented at ./elf_h line 2541␤»
14:37 skids joined #perl6
14:37 masak Matt-W: I'll add that to the TODO.
14:37 Matt-W I might try writing one at some point
14:37 bacek I tend to agree with both rakudo and pugs
14:37 Matt-W but I'm already maybe doing too many things
14:37 * masak knows the feeling
14:37 Matt-W So I don't know which I should settle down and actually do
14:38 Matt-W Although really I should write some code first to understand things better
14:38 Matt-W And then write about the language
14:38 Matt-W so I'll carry on poking at Form.pm
14:38 PerlJam bacek: But since those don't agree with the spec, they're wrong :)
14:38 bacek PerlJam: so, I last case program will just aborted?
14:39 masak Matt-W: ah, you're doing From.pm. great!
14:39 Matt-W masak: I even made a github tree, but it's only got some empty files in it
14:39 Matt-W masak: I'll push some code when I've actually got some :)
14:40 masak Matt-W: cool. I'll add you to proto then.
14:40 Matt-W is that so I can teach proto about Form?
14:40 Matt-W also is there a spec for Form.pm?
14:40 Matt-W something that Damien used for his Perl 5 implementation?
14:40 masak Matt-W: only the Pod of Perl6::Form, AFAIK.
14:40 Matt-W Well I'll work from that
14:41 Matt-W It looks bloody good, anyway
14:41 * Matt-W must remember to mention Damien frequently in the README
14:41 masak :)
14:41 PerlJam Matt-W: I believe it's spelt "Damian"
14:41 masak Matt-W: please do tests.
14:43 masak Matt-W: also, there's something strange about the LICENSE file.
14:43 masak it seems to be just a random HTML file, containing lots of things but no license.
14:44 Matt-W hmm
14:44 Matt-W I'll look into that
14:44 Matt-W there was some weirdness with git when I did that
14:44 masak ok.
14:44 Matt-W README shouldn't be empty, for example
14:44 Matt-W as I definitely tried to give it some contents
14:45 Matt-W PerlJam: you are correct
14:45 nihiliad joined #perl6
14:46 Matt-W masak: there will be tests
14:46 masak \o/
14:46 Matt-W if you're very lucky I might even try test-driven development
14:47 ejs2 joined #perl6
14:47 masak I think that would make porting more painless, actually.
14:49 Matt-W yes
14:49 Matt-W especially if there's already a test suite for Perl6::Form
14:49 Matt-W could port that first
14:50 masak there essentielly isn't.
14:50 masak I looked.
14:50 masak it has one test. ('use')
14:50 Matt-W oh
14:50 Matt-W damn
14:50 Matt-W oh well
14:50 masak but writing the test suite while scrutinizing the POD for Perl6::Form might still be a very good idea, IMO.
14:51 Matt-W yes
14:51 Matt-W helps to understand what it does
14:52 Matt-W and helps to develop a nice API
14:52 masak aye.
14:52 Matt-W not that the API is the complicated thing there
14:53 masak mostly, there's just a lot of details.
14:53 masak anyway, good luck. I think I'll have good use for that module, and I look forward to reviewing your work.
14:53 Matt-W you can find all the bugs in it
14:53 Matt-W and then fix them for me
14:53 masak right. :)
14:53 Matt-W :)
14:59 Tene_ joined #perl6
15:01 pugs_svn r25441 | masak++ | [TODO] added really, really good guide about blocks/closures
15:12 bacek perl6: for 1..8:by(2) { .say }
15:12 p6eval pugs: OUTPUT«*** ␤    Unexpected ":by"␤    expecting "_", fraction, exponent, term postfix, operator or block construct␤    at /tmp/98uqWh5yLK line 1, column 9␤»
15:12 p6eval ..elf 25441: OUTPUT«Parse error in: /tmp/qNp98q2k6C␤panic at line 1 column 15 (pos 15): No previous operator visible to adverbial pair ([#<Match:0x819d374 @on_str="for 1..8:by(2) { .say }", @from=8, @to=14, @bool=true, @hash={:value=>#<Match:0x819d464 @on_str="for 1..8:by(2) { .say }", @from=9,
15:12 p6eval ..@to=...
15:12 p6eval ..rakudo 543e22: OUTPUT«Statement not terminated properly at line 1, near ":by(2) { ."␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
15:13 bacek perl6: .say for 1..8:by(2)
15:13 p6eval rakudo 543e22: OUTPUT«Statement not terminated properly at line 1, near ":by(2)"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
15:13 p6eval ..pugs: OUTPUT«*** ␤    Unexpected ":by"␤    expecting "_", fraction, exponent, term postfix or operator␤    at /tmp/XJkLs2tCTB line 1, column 14␤»
15:13 p6eval ..elf 25441: OUTPUT«Parse error in: /tmp/pKDFoPRHrO␤panic at line 1 column 19 (pos 19): No previous operator visible to adverbial pair ([#<Match:0x818731c @on_str=".say for 1..8:by(2)", @from=13, @to=19, @bool=true, @hash={:value=>#<Match:0x818736c @on_str=".say for 1..8:by(2)", @from=14, @to=19,
15:13 p6eval ..@b...
15:13 bacek std: .say for 1..8:by(2)
15:13 moritz_ only STD.pm parses adverbs on operators yet
15:13 p6eval std 25441: OUTPUT«ok 00:02 33m␤»
15:22 masak rakudo: say (Range.new(:from(10), :to(20), :by(2))).perl
15:22 p6eval rakudo 543e22: OUTPUT«10..20␤»
15:23 masak rakudo: say (Range.new(:from(10), :to(20), :by(2))).elems
15:23 p6eval rakudo 543e22: OUTPUT«11␤»
15:23 masak rakudo: say (Range.new(:from(10), :to(20), :by(2))).values
15:23 p6eval rakudo 543e22: OUTPUT«1011121314151617181920␤»
15:23 masak rakudo: say ~(Range.new(:from(10), :to(20), :by(2))).values
15:23 p6eval rakudo 543e22: OUTPUT«10 11 12 13 14 15 16 17 18 19 20␤»
15:24 masak hey, people! low-hanging fruit! :)
15:25 bacek say ~(Range.new(:from('A'), :to('Z'), :by(2))).values
15:25 moritz_ masak: waht do you think is low-hanging?
15:25 bacek rakudo: say ~(Range.new(:from('A'), :to('Z'), :by(2))).values
15:25 p6eval rakudo 543e22: OUTPUT«A B C D E F G H I J K L M N O P Q R S T U V W X Y Z␤»
15:25 masak moritz_: implementing :by in the Range constructor.
15:26 masak at least for numbers.
15:26 masak um, at least for reals :)
15:27 Matt-W don't you just love programming language design
15:27 Matt-W you even have to stop and think about what you mean when you say 'number'
15:28 jnthn masak: That prob depends on adverb parsing...
15:28 jnthn Oh, no, not in the constructor...
15:28 masak 'xactly.
15:28 masak ISTR someone already almost implemented this.
15:28 jnthn More bonus points, cosider porting parts of range to Perl 6. ;-)
15:28 jnthn s/more/for/
15:29 jnthn Gah, I do can't do English today.
15:29 * jnthn couldn't do Slovak very well either. illness--
15:29 masak English is hard! Ni iru butikumi.
15:30 dalek rakudo: 7d6683a | pmichaud++ | build/PARROT_REVISION:
15:30 dalek rakudo: Need to bump PARROT_REVISION for setting to work.
15:30 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/7​d6683ac9ca989dc3f0242d2ef95aed56a5b4d05
15:30 dalek rakudo: 6c983dc | pmichaud++ |  (15 files):
15:30 dalek rakudo: Merge branch 'master' of git@github.com:rakudo/rakudo
15:30 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​c983dc47a71a12d907286dc7f3834e655921de7
15:30 bacek perl6: say 'A'+2
15:30 p6eval pugs: OUTPUT«2␤»
15:30 p6eval ..elf 25441: OUTPUT«Argument "\x{41}" isn't numeric in addition (+) at (eval 121) line 3.␤2␤»
15:30 p6eval ..rakudo 543e22: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
15:31 bacek :by(2) in ranges isn't so easy...
15:31 * masak dives in to fix
15:31 jnthn bacek: You ++ twice, IIRC.
15:31 jnthn Rather than try to add two.
15:31 moritz_ masak: no need
15:31 masak oki
15:31 bacek :by(-2)
15:31 bacek A lot of cases.
15:31 moritz_ it's short after XX:30, which means that rakudo is being rebuilt right now
15:31 jnthn OK, then you -- twice. ;-)
15:32 masak moritz_: ah.
15:32 Matt-W moritz_: when is rakudo rebuilt? 00 and 30?
15:32 masak jnthn: non-integral :by() and letters, then :)
15:32 moritz_ Matt-W: parrot is rebuilt at 00, rakudo after parrot, :15, :30 and :45
15:33 Matt-W ahah
15:34 frew_ joined #perl6
15:34 frew_ /w1
15:34 bacek jnthn: is there any way to check in run-time that I have to do manual incrementing?
15:34 bacek 'A1'..'A5':by(2)
15:34 bacek or even 'A1'..'Z42':by(7)
15:34 bacek perl6: enum Foo<A B C>; say ++Foo::A
15:34 p6eval pugs: OUTPUT«*** No such subroutine: "&enum"␤    at /tmp/F3LYIZ6j8F line 1, column 1-16␤»
15:34 p6eval ..rakudo 6c983d: OUTPUT«Method 'succ' not found for invocant of class ''␤current instr.: 'parrot;Perl6Object;' pc 1681 (src/classes/Object.pir:721)␤»
15:34 p6eval ..elf 25441: OUTPUT«Can't locate object method "postcircumfix__60_32_62" via package "Foo" (perhaps you forgot to load "Foo"?) at (eval 122) line 3.␤ at ./elf_h line 4346␤»
15:34 jnthn Hmm, that succs.
15:35 masak :P
15:35 moritz_ well, Foo::A is a constant
15:35 bacek perl6: enum Foo<A B C>; my $a = Foo::A; say ++$a;
15:35 p6eval pugs: OUTPUT«*** No such subroutine: "&enum"␤    at /tmp/KaehVEyyMC line 1, column 1-16␤»
15:35 p6eval ..rakudo 6c983d: OUTPUT«Method 'succ' not found for invocant of class ''␤current instr.: 'parrot;Perl6Object;' pc 1681 (src/classes/Object.pir:721)␤»
15:35 p6eval ..elf 25441: OUTPUT«Can't locate object method "postcircumfix__60_32_62" via package "Foo" (perhaps you forgot to load "Foo"?) at (eval 122) line 3.␤ at ./elf_h line 4346␤»
15:35 bacek perl6: enum Foo<A B C>; my $a = Foo::A; $a++; say $a;
15:35 p6eval elf 25441: OUTPUT«Can't locate object method "postcircumfix__60_32_62" via package "Foo" (perhaps you forgot to load "Foo"?) at (eval 121) line 3.␤ at ./elf_h line 4346␤»
15:35 p6eval ..rakudo 6c983d: OUTPUT«Method 'succ' not found for invocant of class ''␤current instr.: 'parrot;Perl6Object;' pc 1681 (src/classes/Object.pir:721)␤»
15:35 p6eval ..pugs: OUTPUT«*** No such subroutine: "&enum"␤    at /tmp/G1pcWv5YsO line 1, column 1-16␤»
15:36 bacek perl6: enum Foo<A B C>; my $r = Foo::A..*:by(-7); say $r[1,,3]
15:36 bacek perl6: enum Foo<A B C>; my $r = Foo::A..*:by(-7); say $r[1..3]
15:37 p6eval elf 25441: OUTPUT«Parse error in: /tmp/g2Lz6M9gli␤panic at line 1 column 41 (pos 41): No previous operator visible to adverbial pair ([#<Match:0x83a4744 @on_str="enum Foo<A B C>; my $r = Foo::A..*:by(-7); say $r[1,,3]", @from=34, @to=41, @bool=true, @hash={:value=>#<Match:0x83a4780 @on_str="enum
15:37 p6eval ..F...
15:37 p6eval ..pugs: OUTPUT«*** ␤    Unexpected "by"␤    expecting term postfix or operator␤    at /tmp/qT6u7QhQ4y line 1, column 36␤»
15:37 p6eval ..rakudo 6c983d: OUTPUT«Statement not terminated properly at line 1, near ":by(-7); s"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
15:37 p6eval pugs: OUTPUT«*** ␤    Unexpected "by"␤    expecting term postfix or operator␤    at /tmp/T06HXX2qiV line 1, column 36␤»
15:37 p6eval ..elf 25441: OUTPUT«Parse error in: /tmp/QyNPsnY2MW␤panic at line 1 column 41 (pos 41): No previous operator visible to adverbial pair ([#<Match:0x83a45c8 @on_str="enum Foo<A B C>; my $r = Foo::A..*:by(-7); say $r[1..3]", @from=34, @to=41, @bool=true, @hash={:value=>#<Match:0x83a4668 @on_str="enum
15:37 bacek std: enum Foo<A B C>; my $r = Foo::A..*:by(-7); say $r[1..3]
15:37 p6eval ..F...
15:37 p6eval ..rakudo 6c983d: OUTPUT«Statement not terminated properly at line 1, near ":by(-7); s"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
15:37 p6eval std 25441: OUTPUT«can't create lex/STD/infix__S_332DotDot_02.store: Permission denied at Cursor.pm line 551␤FAILED 00:02 33m␤»
15:38 bacek but this is correct syntax AFAIU.
15:38 moritz_ std: enum Foo<A B C>; my $r = Foo::A..*:by(-7); say $r[1..3]
15:38 p6eval std 25441: OUTPUT«Undeclared name:␤      Foo::A used at 1 ␤ok 00:05 39m␤»
15:38 bacek std: enum Foo<A B C>; my $r = Foo::A .. *:by(-7); say $r[1..3]
15:38 jnthn Heh, std doesn't understand enums?
15:38 p6eval std 25441: OUTPUT«Undeclared name:␤      Foo::A used at 1 ␤ok 00:02 35m␤»
15:38 jnthn Or at least register type names...
15:39 pmurias joined #perl6
15:39 bacek std: enum Foo <A B C>; my $r = Foo::A .. *:by(-7); say $r[1..3]
15:39 p6eval std 25441: OUTPUT«Undeclared name:␤      Foo::A used at 1 ␤ok 00:02 35m␤»
15:39 bacek yak...
15:39 Matt-W std: class Foo { }; Foo.new;
15:39 p6eval std 25441: OUTPUT«ok 00:02 33m␤»
15:39 Matt-W well it can handle class names
15:39 Matt-W an enum thing?
15:39 Matt-W or maybe it doesn't actually care there
15:40 bacek std: package Foo {}; Foo->new
15:40 p6eval std 25441: OUTPUT«############# PARSE FAILED #############␤Obsolete use of -> to call a method; in Perl 6 please use . instead at /tmp/GABJAqFBis line 1:␤------> [32mpackage Foo {}; Foo->[31mnew[0m␤FAILED 00:02 33m␤»
15:41 bacek std: package Foo { class Bar {} }; Foo::Bar->new
15:41 p6eval std 25441: OUTPUT«############# PARSE FAILED #############␤Obsolete use of -> to call a method; in Perl 6 please use . instead at /tmp/JbcMmb6X9T line 1:␤------> [32mpackage Foo { class Bar {} }; Foo::Bar->[31mnew[0m␤FAILED 00:02 33m␤»
15:41 bacek std: package Foo { class Bar { method new {} } }; Foo::Bar->new
15:41 p6eval std 25441: OUTPUT«############# PARSE FAILED #############␤Obsolete use of -> to call a method; in Perl 6 please use . instead at /tmp/WBmxhwxSin line 1:␤------> [32mlass Bar { method new {} } }; Foo::Bar->[31mnew[0m␤FAILED 00:02 33m␤»
15:41 bacek std: package Foo { class Bar { method new {} } }; Foo::Bar.new
15:41 p6eval std 25441: OUTPUT«Undeclared name:␤      Foo::Bar used at 1 ␤ok 00:02 33m␤»
15:42 bacek perl6: package Foo { class Bar { method new {} } }; Foo::Bar.new
15:42 p6eval pugs: OUTPUT«*** No such subroutine: "&Foo::Bar"␤    at /tmp/Np5QG7YeLZ line 1, column 46 - line 2, column 1␤»
15:42 p6eval ..elf 25441: RESULT«undef␤»
15:42 p6eval ..rakudo 6c983d: RESULT«[]»
15:46 alester joined #perl6
15:50 pmichaud good morning, all.
15:51 diakopter pmichaud: morning!
15:51 pugs_svn r25442 | pmurias++ | [mildew] removed mildew/t/hacks/out.t as testing hacks the test suit doesn't need to use doesn't seem sensible
15:51 PerlJam buenos dias pm
15:52 PerlJam how are things?
15:52 pmichaud looking better.  :-)
15:52 Matt-W hey pmichaud
15:53 masak morrn' pmichaud
15:53 moritz_ pmichaud: do you want to continue with the spectest-progress.csv updates, or should I fill in the gap?
15:53 pmichaud moritz_: I'm working on that right now, actually.
15:53 moritz_ pmichaud: ah, great
15:54 pmichaud I had to get the magic incantation for gitting a repo by date (bacek++ for the answer)
15:54 moritz_ which one do you use?
15:54 pmichaud getting the historical values since Jan 29 is going to be a process of matching rakudo versions with parrot versions
15:54 pmichaud getting the historical values since Jan 29 is going to be a process of matching rakudo versions with parrot versions
15:54 pmichaud oops
15:55 pmichaud 10:23 <bacek> "git checkout `git log --reverse  --since="2009-02-01"|head -1|cut -f2 -d' '`"
15:55 pmichaud based on that.
15:55 pmichaud although I might go with --until instead of --reverse --since :-)
15:55 pmichaud (or maybe it's --before)
15:56 moritz_ git-rev-list -n1 --before=2009-02-08 HEAD
15:57 pmichaud that seems to work also.
15:59 pmichaud I'm also going to try optimizing the process a bit by not building all of the intermediate Parrot versions.
15:59 pmichaud so I just need the versions where Parrot made a significant change.
16:00 moritz_ I don't think you need many parrot updates at all
16:00 jnthn morning, pmichaud :-)
16:01 pmichaud well, there was the change on Feb 3 where Parrot changed the name of all of its internal string functions.
16:01 moritz_ ah right
16:01 pmichaud I'm hoping I can get away with just the Feb 3 version of Parrot and the current one.
16:01 jnthn pmichaud: Don't think I'll get to do much Parrot stuff today. Ongoing sub-optimal health, Slovak class and PM meeting tonight between them haven't left me with much free moments.
16:01 pmichaud we'll see.  I'll commit intermediate progress on it so all can see that it's taking place.
16:01 pmichaud jnthn: no problem, you did great work yesterday.
16:02 pmichaud I'm looking at getting 'is export' to work today.
16:02 pmichaud (at least for the default setting)
16:02 jnthn That would be awesome.
16:02 pmichaud the rest of my rakudo day, and most of the plane rides tomorrow, is going to be spent writing articles and documentation, I think.
16:02 jnthn pmichaud: I did think over a bit planning for List and Array going into the prelude and becoming parametric roles.
16:03 alester morning all
16:03 pmichaud jnthn: okay, anything significant?  Also, should we be figuring out laziness then too?
16:03 jnthn I don't want to do major changes in terms of what processing it does, etc. Just re-structuring.
16:03 alester pmichaud: Anything we can put up on dru?
16:03 jnthn Basically:
16:03 pmichaud alester: yes, dru is one of the things I'm wanting as well.
16:04 alester I'm working tofigure out how to keep revisions
16:04 jnthn 1) We use ResizablePMCArray for storage, but stop inheriting from it. So we make it an attribute. Change most things that twiddle with self to twiddle with that.
16:04 pmichaud alester: I'm not too worried about keeping revisions.  But if we are keeping revisions, we should use git to do it.   I can set up another repo on github for it.
16:04 jnthn All that is done in the PIR.
16:04 alester pmichaud: No, no, Drupal keeps revision history.
16:04 jnthn Make sure we're still passing spectests at that point etc...
16:04 pmichaud alester: okay.
16:04 alester Like when making changes to wiki pages.
16:05 jnthn 2) Make a ResizablePMCArray proto-object in some Parrot:: namespace or somewhere out of the way.
16:05 jnthn 3) Start porting it to Perl 6 as a class at first. Do this completely.
16:06 jnthn 4) Once we're happy nothng broke in steps 1 to 3, s/class/role [::T]
16:06 jnthn And then start putting T on various parameters.
16:06 jnthn And then we should be done.
16:06 jnthn Sound workable?
16:06 pmichaud I don't have any major problems with it (more)
16:06 pmichaud I suggest we do each step in its own branch.
16:07 pmichaud since TEH AWESOME GIT is supposedly great at merging, this shouldn't be an issue.
16:07 pmichaud so, step 1 in branch, merge, step 2 in branch, merge, etc.
16:07 alester There are four FQ items that show red that make me sad.
16:07 jnthn I was thinking these were small, incremental enough steps that we shouldn't need to branch...but if it makes you more comfortable, I'm happy to do it that way.
16:08 pmichaud it would make me more comfortable, yes.
16:08 jnthn OK. I'll learn how to make branches in TEH AWESOME GIT.
16:08 PerlJam almost anything is better at merging than svn
16:08 moritz_ jnthn: 'git-checkout -b newbranchname'
16:08 PerlJam jnthn: git checkout -b new_branch
16:08 jnthn ...anyone else? ;-)
16:08 moritz_ ;-)
16:08 pmichaud they're small, but stuff based on RPA is so pervasive throughout the code (e.g., slurpy params) that it's a bit more involved than what you described.
16:09 pmichaud same for Hash
16:09 jnthn pmichaud: Yes, true. There may well be surprises.
16:09 jnthn Yeah, I planned to do Array and List, to get the experience of What Can Go Wrong.
16:09 masak jnthn: git co -b new_branch old_branch
16:09 pmichaud in particular, since Match is really based on both RPA and Hash, we might end up with some big surprises.
16:10 jnthn masak: :P
16:10 jnthn pmichaud: Yeah...true.
16:10 pmichaud I just expect that 3 of the 4 steps you outlined will have a surprise waiting for us.  (No, I don't know which 3.)
16:10 * PerlJam idly wonders if everyone has the "co" alias for "checkout"
16:10 pmichaud "co" didn't work for me at one point.
16:10 Eevee joined #perl6
16:11 PerlJam you need to configure the alias in ~/.gitconfig
16:11 masak yes, you need an alias.
16:11 masak but boy, is it worth it!
16:11 PerlJam here's the first few lines of my .gitconfig
16:12 PerlJam [alias] ci = commit st = status co = checkout br = branch
16:12 PerlJam (you'll have to imagine the newlines, sorry)
16:12 pmichaud PerlJam:  maybe add that to the wiki somewhere?  ;-)
16:12 PerlJam which wiki. there are so many (still)
16:13 masak yeah, people should stop making new wikis. :P
16:13 dukeleto perl6: say 42
16:13 p6eval elf 25442, pugs, rakudo 6c983d: OUTPUT«42␤»
16:13 dukeleto yay
16:14 dukeleto perl6: say (10).log
16:14 p6eval pugs: OUTPUT«2.302585092994046␤»
16:14 p6eval ..elf 25442, rakudo 6c983d: OUTPUT«2.30258509299405␤»
16:14 pmichaud in spectest-progress.csv, since we no longer have an svn revision number, what should I use for that column?  The (short) git id?
16:14 pmichaud PerlJam: I was thinking the github wiki for rakudo.
16:14 dukeleto perl6: say (10,20).log
16:14 moritz_ pmichaud: yes
16:14 p6eval elf 25442: OUTPUT«Useless use of a constant in void context at (eval 120) line 3.␤2.99573227355399␤»
16:14 p6eval ..pugs: OUTPUT«0.6931471805599453␤»
16:14 p6eval ..rakudo 6c983d: OUTPUT«0.693147180559945␤»
16:14 masak pmichaud: aye, I'd do that.
16:14 alester Is this anything obvious? http://sial.org/pbot/35131
16:14 masak perl6: say 42.new
16:14 alester I get it on my Linux box, but not my Mac
16:14 p6eval pugs: OUTPUT«<obj:Int>␤»
16:14 p6eval ..elf 25442: OUTPUT«Can't locate object method "Str" via package "42" at ./elf_h line 736.␤ at ./elf_h line 4346␤»
16:14 p6eval ..rakudo 6c983d: OUTPUT«0␤»
16:14 pugs_svn r25443 | pmurias++ | [mildew] &foo(...) works
16:14 pmichaud alester: try doing a make realclean
16:14 pmichaud (for rakudo)
16:15 alester pmichaud: Done a million times
16:15 masak should 42.new really evaluate to 0?
16:15 jnthn Probably.
16:15 pmichaud masak: it's the same as Int.new
16:15 PerlJam alester: feels like you've a missing quote elsewhere.
16:15 masak pmichaud: ok.
16:15 pmichaud PerlJam: no, I've seen that error many times.
16:15 masak rakudo: say 42.clone
16:15 p6eval rakudo 6c983d: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
16:15 pmichaud it usually indicates that rakudo and parrot have somehow gotten out of sync.
16:16 moritz_ alester: I always get that if I remake parrot and don't clean rakudo
16:16 dukeleto perl6: say log10(0), log(0)
16:16 p6eval pugs: OUTPUT«-Inf-Inf␤»
16:16 p6eval ..elf 25443: OUTPUT«Undefined subroutine &GLOBAL::log10 called at (eval 121) line 3.␤ at ./elf_h line 4346␤»
16:16 p6eval ..rakudo 6c983d: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
16:16 moritz_ alester: 'make realclean' inparrot doesn't clean rakudo anymore
16:16 PerlJam can rakudo be taught to "make realclean" parrot though?
16:16 alester wow, look, it works.
16:16 alester OK, so noted, thanks.
16:16 dukeleto perl6: say log(0)
16:17 p6eval rakudo 6c983d: OUTPUT«Can't take log of 0␤␤»
16:17 p6eval ..pugs: OUTPUT«-Inf␤»
16:17 p6eval ..elf 25443: OUTPUT«Undefined subroutine &GLOBAL::log called at (eval 120) line 3.␤ at ./elf_h line 4346␤»
16:17 pmichaud PerlJam: rakudo's configure.pl knows to do that, if using the --gen-parrot option.
16:17 alester soon I'll actually be able to use rakudo to do something useful.
16:19 alester so do you wanna know about my new double-linked-list glib error?
16:20 moritz_ I see a new file called perl6_s1.pbc - is that a product of the new setting/?
16:20 masak alester: oh, absolutely!
16:20 jnthn moritz_: Yes
16:20 alester how?
16:20 moritz_ if so, I'll gitignore it
16:20 pmichaud moritz_: it's the stage 1 compiler.
16:20 * [particle] considers writing sprintf in perl6
16:20 pmichaud yes, gitignore it, please.
16:20 masak alester: nopaste?
16:20 dukeleto does anybody else think that log(0) should return -Inf, like log10() does ? I did, so I updated that in my github fork. Perl 5 throws an exception, but no other arithmetic function does this. I seems a lot easier to catch an Inf than eval a statement that may have a log(0) buried in it
16:20 jnthn moritz_: Ah, OK.
16:20 alester masak: OK
16:20 jnthn moritz_: Also src/gen_setting.pm and src/gen_setting.pir then
16:20 masak dukeleto: you have a point.
16:20 pmichaud dukeleto: log(0) can return a Failure object.
16:21 pmichaud note that many things in Rakudo that currently throw exceptions should in fact be returning Failure
16:21 masak dukeleto: what does S29 say about it? it's kinda canon.
16:21 dukeleto pmichaud: but -Inf makes a lot more sense
16:21 [particle] dukeleto: log(0) is undefined, not -Inf
16:21 dukeleto masak: I will look in S29
16:21 pmichaud dukeleto: my point is that in general it won't be necessary to eval to catch the exception.
16:21 masak dukeleto: oh, [particle] is right, btw.
16:21 [particle] nothing raised to any power can produce 0
16:21 dukeleto particle: but it *is* defined. It is just infinite.
16:22 masak dukeleto: how do you figure that?
16:22 alester http://sial.org/pbot/35132
16:22 dukeleto limit of log(x) as x goes to 0 is mathematically -Infinity
16:22 moritz_ perl6: say log(0)
16:22 masak dukeleto: a limit is not the value of the function.
16:22 p6eval rakudo 6c983d: OUTPUT«Can't take log of 0␤␤»
16:22 p6eval ..pugs: OUTPUT«-Inf␤»
16:22 p6eval ..elf 25443: OUTPUT«Undefined subroutine &GLOBAL::log called at (eval 120) line 3.␤ at ./elf_h line 4346␤»
16:22 dukeleto as x approaches from the right
16:22 moritz_ perl6: say 1/0
16:22 masak dukeleto: I agree about the limit...
16:22 pmichaud by that same argument,   3/0 should produce +Inf
16:22 p6eval rakudo 6c983d: OUTPUT«Divide by zero␤current instr.: 'infix:/' pc 21340 (src/builtins/op.pir:194)␤»
16:22 p6eval ..pugs: OUTPUT«*** Illegal division by zero␤    at /tmp/BfUQnOBlE8 line 1, column 5 - line 2, column 1␤»
16:22 p6eval ..elf 25443: OUTPUT«Illegal division by zero at (eval 119) line 3.␤ at ./elf_h line 4346␤»
16:23 pmichaud and I don't think that 3/0 should produce +Inf
16:23 masak pmichaud: no, because the (bidiractional) limit x/0 is not defined.
16:23 moritz_ pmichaud: that's a bit different, because in that case you can have limits from either side, yielding -Inf and +Inf
16:23 masak pmichaud: what moritz_ said.
16:23 moritz_ what masak said ;-)
16:24 dukeleto i am trying to make log(x) work for complex numbers as well
16:24 masak good luck :)
16:24 moritz_ it's not that hard
16:24 dukeleto and being a math nerd, it seems a lot more useful to have log(0) = -Inf, just sayin'
16:24 masak it's a can of worms, if you ask me.
16:24 moritz_ every complex number can be written as c = a * exp(i p)
16:24 frew_ joined #perl6
16:24 moritz_ so log(c) = log (a * exp(i p)) = log (a) + i p
16:25 moritz_ where 0 <= p <  2 * pi by convention
16:25 masak moritz_: ok. I seemed to recall that the convention wasn't universal.
16:25 masak if it is, then it's not a can of worms.
16:25 masak maybe sqrt() is worse.
16:26 moritz_ masak: we've discussed on p6l to some length...
16:26 dalek rakudo: 6445d09 | (Moritz Lenz)++ | t/spectest.data:
16:26 dalek rakudo: four more passing spectests
16:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/6​445d0975a2f37f00b28e072188d0bee4f3727af
16:26 dalek rakudo: 00e9db4 | (Moritz Lenz)++ | .gitignore:
16:26 dalek rakudo: ignore perl6_s1.pc and src/gen_settings.pm
16:26 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/0​0e9db4553b8cb1bb5ce7e1bfdc1b2f8b4a19424
16:26 moritz_ masak: and TimToady said that this convention is universal for Perl 6 ;-)
16:26 masak moritz_: ok.
16:26 dukeleto moritz: I asked larry about complex branch cuts a long time ago, I think he decided on something, but I will have to look in the test suite to see what it is
16:26 Tene joined #perl6
16:26 moritz_ dukeleto: what I just wrote
16:27 dukeleto moritz_: sounds good to me
16:27 moritz_ he also suggested chokingly to have it return an infinite junction of all branches
16:27 moritz_ now *that* would be can for worms...
16:28 dukeleto moritz: sure, that can be an optional pragma :)
16:29 masak I'd rather that not be an optional anything. :)
16:29 moritz_ use all <memory insanity>;
16:30 moritz_ like this? ;-)
16:30 masak well, it'd have to be a _lazy_ infinite bidirectional junction of branch cuts, but still :P
16:30 jnthn Junctions aren't lazy AFAIK.
16:30 masak good.
16:31 moritz_ .oO( lazy quantum computing )
16:31 moritz_ I wonder if Schrödinger's cat was as lazy as Garfield ;-)
16:31 masak I'm glad there's still a contradiction left between us and insanity. :)
16:31 pmichaud isn't "lazy quantum computing" actually how the universe works?  ;-)
16:31 moritz_ masak: a tiny one ;-)
16:31 Tene__ joined #perl6
16:31 alester masak: Does that nopaste give you anything interesting?
16:31 pmichaud i.e., the outcome isn't decided until we look for the answer?  that sounds like laziness to me :-)
16:32 dukeleto so, the reason this matters is that for negative whole numbers, log(x) is either + or -Inf (even or odd). It makes a ton of sense to make log(0) = -Inf if log(x) is going to take negative numbers as well
16:32 masak moritz_: have you seen http://abstrusegoose.com/7 ? :)
16:32 moritz_ masak: not yet
16:32 moritz_ pmichaud: pretty much, yes
16:32 dukeleto no mathematician ever uses two definitions of  branch cut in the same problem
16:32 masak alester: what nopaste?
16:33 moritz_ lol
16:33 alester masak: http://sial.org/pbot/35132
16:33 dukeleto but occasionally you may want to know about multiple sheets in the Riemann surface. This is a job for a CAS built on Perl. I'm working on it....
16:33 masak alester: well, I can say I've had the same error at least once :)
16:34 masak dukeleto: cool.
16:34 moritz_ dukeleto: I couldn't convince anybody to build a CAS into Perl 6 core ;-)
16:35 masak "everybody wants the core"
16:35 alester CAS?
16:35 masak alester: unable to reproduce your error.
16:35 alester Well, good, then it must not be real! :-)
16:35 moritz_ alester: computer algebra system
16:36 autarch joined #perl6
16:36 skids joined #perl6
16:36 dukeleto alester: Computer algebra system
16:37 masak alester: Computer algebra system.
16:37 [particle] alester: Computer algebra system
16:37 FurnaceBoy joined #perl6
16:37 [particle] :)
16:37 dukeleto moritz_: I want complex matrices part of core at least. No one wants to maintain Math::MatrixReal (except me) and no one ever wrote Math::MatrixComplex
16:38 moritz_ dukeleto: your chances are rather slim
16:38 frew_ joined #perl6
16:38 [particle] why does it need to be core?
16:38 dukeleto particle: it doesn't
16:38 alester Does it mean computer algebra system?
16:38 [particle] it can be part of all distros
16:38 masak core is overrated.
16:38 dukeleto particle: we need a concept between CORE and CPAN
16:39 [particle] ...and still not be core.
16:39 autarch is this valid P6 ... new Date( :year(2008), :month(1), :day(10) )
16:39 [particle] Date.new(...)
16:39 autarch ah, of course
16:39 moritz_ indirect method syntax is gone
16:39 [particle] and the peasants rejoice.
16:39 autarch yah, that was a cut & pasteo
16:39 skids particle: "base"?
16:39 masak or new: Date, ...
16:40 dukeleto the Factor language has a concept of CORE which is only the vm and what is necessary to pull down other stuff. Then there is "basis" which is kind of like "stuff at least 80% of people will need". Then they have "extra", which is like CPAN
16:40 autarch is there a standard for method names in P6 core bits? is it day_of_week, dayOfWeek, dayofweek?
16:40 frew_ joined #perl6
16:40 autarch (and I really hope it's the first)
16:40 pmichaud readline would seem to indicate the last
16:41 dukeleto I think matrices are in the 80% category, but not in core
16:41 masak alester: go with the first, I'd say.
16:41 autarch and is there some concept of private attribute with public readers?
16:42 masak autarch: yes.
16:42 dukeleto if matrices did not require extra perl modules a lot more people would use them, making code easier to read and the world will rejoice. Or something.
16:42 autarch meta: I'm taking a look at the datetime stuff in S32 and trying to make it simple and sane
16:42 moritz_ alester: day-of-week is best IMHO
16:42 masak autarch: has $.attr;
16:42 moritz_ I meant autarch, sorry
16:42 alester moritz_: I don't know what you're saying.
16:42 autarch moritz_: with dashes?!
16:42 alester oh, ok
16:42 moritz_ alester: I autocompleted wrong, sorry
16:42 moritz_ autarch: yes
16:42 * masak likes day-of-week too
16:42 pmichaud fwiw, nearly all of the synopses do not use the underscores
16:42 autarch wow, that's legal?
16:42 moritz_ they are allowed in identifiers, so we should use them
16:43 masak autarch: it's quite a recent change.
16:43 autarch ok
16:43 moritz_ rakudo: sub day-of-week { say "Thursday" }; day-of-week()
16:43 masak day'of'week is legal, too :P
16:43 autarch yeah, it reads well that way
16:43 p6eval rakudo 00e9db: OUTPUT«Thursday␤»
16:43 pmichaud okay, I take it back -- there are some underscore method names in synopses
16:43 skids autarch: along with ' too.  But not usable at beginning or end like _
16:43 moritz_ pmichaud: we should get rid of them
16:43 pmichaud personally I prefer without underscores or hyphens.
16:43 pmichaud for consistency.
16:43 autarch pmichaud: dayofweek is nasty
16:44 pmichaud if we're going to do day-of-week, then perhaps we also need   read-line, is-writable, max-path, etc.
16:44 pmichaud read-pipe
16:45 moritz_ maybe I should write a mail to p6l ;-)
16:45 skids "weekday"?
16:45 * skids hides
16:45 autarch pmichaud: I think there's a difference in things based on existing Unix conventions, and stuff that's pulled out of butt
16:45 autarch DateTime.pm uses day_of_week, so there's your convention ;)
16:45 masak skids++
16:46 pmichaud afaict, "based on existing unix conventions" isn't a strong attractor in Perl 6.
16:46 autarch pmichaud: well, then based on existing Perl 5 conventions
16:47 pmichaud .callwith, .callsame, .nextwith, .nextsame
16:47 skids There's something to be said for sticking to nomenclature from a standard that a module is implementing, but not if it is onerous.  E.g. Net::SNMP internals (gah).
16:47 autarch well, I'll use day-of-week and @Larry can change it later ;)
16:47 dukeleto pmichaud: it's definitely a fat fractal
16:47 [particle] it's more of a strange attractor
16:47 pmichaud one of the goals of Perl 6 is to eliminate the need for memorizing lists of exceptions
16:48 ron_ joined #perl6
16:48 pmichaud and in many places, that trumps "based on existing Perl 5"
16:48 autarch I just don't think noseperator scales very well
16:48 pmichaud fair enough -- I just expect we should get some opinion from p6l, or at least @Larry.
16:49 autarch yeah
16:49 frew_ joined #perl6
16:49 pmichaud I know that in the parrot world, underscore versus no-underscore bites me all over the place.  It's definitely a place where I have to keep a memorized list of exceptions.
16:49 autarch like I said, I'll do it this way for now, I don't consider anything _I_ say final
16:49 skids A while ago I was wondering out loud whather it would be possible to have a class's internal namespace available inside method captures for that class at compile time.
16:49 autarch but when I do DateTime6 for CPAN it's going to have freaking separators
16:50 skids E.g. for constants you generally do not need to use except when calling methods.
16:51 [particle] ${'day of week'}
16:51 justatheory joined #perl6
16:52 PerlJam autarch++ day-of-week
16:53 pmichaud if we have separators, I definitely prefer the hyphen to the underscore.  :-)
16:54 autarch hyphen is great, I just didn't realize it worked
16:55 autarch wayland: are you gonna get pissed if I cut a huge chunk of S32/Temporal?
16:56 PerlJam autarch: hyphens in identifiers is a relatively recent phenomenon.
16:57 hercynium joined #perl6
16:57 ron_ left #perl6
16:58 pmichaud Tene__: ping
16:58 pmichaud oops, wrong chan.
17:01 autarch is there a built-in delegation syntax for P6? kind of like Moose "handles"
17:01 moritz_ autarch: yes
17:01 moritz_ autarch: and guess what it's called ;-)
17:02 autarch handles?
17:02 moritz_ aye
17:02 autarch ah, found it
17:02 autarch S12 is _so_ freaking huge
17:02 moritz_ autarch: ack '\bhandles\b' t/spec/
17:03 alester moritz_: ITYM   ack -w handles t/spec
17:03 moritz_ especially t/spec/S12-attributes/delegation.t
17:03 alester who needs backslashes?
17:03 moritz_ alester: another useful thiing learned, thanks ;-)
17:03 alester ack --help is useful, too.:-)
17:03 moritz_ yes, but too long
17:04 moritz_ I can only remeber one new option at a time
17:04 moritz_ last time I learned about -Q
17:04 Matt-W rakudo: say "{<}"
17:04 p6eval rakudo 00e9db: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
17:04 moritz_ it's rebuild time again...
17:05 Matt-W hmph
17:05 mikehh joined #perl6
17:05 Matt-W I'll use my own rakudo then
17:05 Matt-W if this one doesn't want me
17:05 moritz_ anyway, it's a parse error
17:05 Matt-W I had feared so
17:05 Matt-W guess what syntax Perl6::Form uses
17:06 moritz_ you need single quotes then
17:06 Matt-W hmm
17:06 Matt-W it'd be nice if it was something that was safe to use in double-quoted strings
17:06 moritz_ what about [<] then?
17:07 Matt-W it uses [ and ] for other things
17:07 moritz_ meh
17:07 Matt-W [[[[[[[[[[[] looks very strange :)
17:07 moritz_ it does
17:07 Matt-W I think all the brackets are taken :(
17:07 moritz_ even <<>>?
17:07 moritz_ ah, yes
17:09 autarch if I want to specify that an attribute does a role ...
17:09 autarch has { does Temporal::Date } $!date;
17:09 autarch ?
17:09 * autarch just makes up some syntax ;)
17:10 moritz_ has Temporal::Date $!date
17:10 autarch oh, that's simple
17:10 moritz_ that does a type-conformance check
17:10 moritz_ which works for both is and does
17:12 autarch cool
17:12 autarch Perl 6 is great!
17:12 masak we like to think so, too.
17:12 moritz_ it is indeed
17:13 moritz_ which is why I spend so freakin' much time on it
17:13 moritz_ (and because the people that group around Perl 6 are also great)
17:14 masak moritz_: that's because stupid people come later in the adopter cycle.
17:14 justatheory Is http://perlcabal.org/syn/ still the canonical location for Perl6 documentation?
17:14 masak justatheory: aye.
17:14 justatheory ta
17:14 masak np
17:14 hanekomu joined #perl6
17:17 autarch is $number.sprintf('%02d') the best way to do that?
17:20 masak autarch: $number.fmt("%02d")
17:21 autarch k
17:23 * Matt-W mumbles darkly about putting comments in horribly complicated code
17:25 moritz_ masak: I don't think it's primarily intelligence - mostly attitude
17:25 masak moritz_: hm... you have a point.
17:26 masak but I'm unable to think of how to tell the difference.
17:29 autarch our Time multi gmtime == multi gmtime returns Time ?
17:29 moritz_ autarch: aye
17:29 [particle] pmichaud: what are you looking for in the rakudo setting? new unimplmented functions, or reimplementations of current pir functions? both? i have Str.perl, for example.
17:30 moritz_ rakudo: say *.perl
17:30 p6eval rakudo 00e9db: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
17:31 oskie joined #perl6
17:34 Lorn joined #perl6
17:34 pmichaud [particle]: anything that can be reasonably written in p6 is a candidate for setting code.
17:34 [particle] ok then.
17:35 pmichaud this includes re-implementations of current pir stuff.
17:35 pmichaud note, however, that 'is export' doesn't work yet.
17:35 [particle] the exporting works, but not the importing.
17:35 pmichaud right, that's what I mean.
17:35 [particle] yep
17:35 pmichaud I'm working on that today/now.
17:35 [particle] i believe we have everything in place to do it now, yes?
17:35 pmichaud yes.
17:36 alester So how do I manually merge someone's commit?
17:36 pmichaud I just have to write the code to do the importing.
17:36 alester I'm trying to figure why http://github.com/rakudo/rakudo/commit/3​c5ea038edbcfd5ab2c91a0cdbd8ec4d270cfb6c won't merge for me.
17:36 [particle] yeah, shouldn't be too much code
17:36 pmichaud alester: yesterday we discovered that http:// addresses for github aren't working.
17:36 pmichaud it's a known github problem/issue.
17:36 alester well,
17:36 alester aside from that
17:36 pmichaud if you switch to using git://  then everything works fine.
17:36 autarch is stringification overloading done by defining an infix:{'~'} method?
17:37 alester pmichaud: but I'm talking about doing the merging in the FQ screen
17:37 pmichaud autarch: define a 'Str' method
17:37 alester not from the CLI
17:37 pmichaud alester: okay, I don't know about that part.
17:37 autarch pmichaud: and a Num method for numification?
17:37 moritz_ rakudo: class A { method Str { "A's String" } }; say A.new
17:37 p6eval rakudo 00e9db: OUTPUT«A's String␤»
17:37 pmichaud autarch: yes, but I'm not sure if Num overloading is implemented in Rakudo yet.
17:37 alester pmichaud: You manually merge everything from the CLI?
17:37 pmichaud alester: I haven't had to do many merges yet.
17:37 moritz_ same here
17:37 autarch pmichaud: I'm just working on a spec
17:37 alester pmichaud: How are you getting our commits from our forks?
17:38 pmichaud alester: I haven't had to do that yet.
17:38 pmichaud alester: I've been busy focusing on getting the build system working.
17:38 alester pmichaud: Somehow you are, because things that have been on my forks are in the main rakudo/rakudo.
17:38 pmichaud alester: then I'm not the one who did those.  :-)
17:38 alester oooh, ok.
17:38 moritz_ it works with git-fetch + git-cherry-pick + git-push
17:39 moritz_ alester: I might have merged one of your commits
17:39 moritz_ hope that's OK
17:39 moritz_ (copyright-wise etc.)
17:39 alester that's fine, yes.
17:40 alester moritz_: so how do I get that commit from rakudo/rakudo to my fork?
17:40 alester git-cherry-pick 3c5ea038edbcfd5ab2c91a0cdbd8ec4d270cfb6c doesn't seem to do anything
17:40 alester uniqua:~/rakudo : git-cherry-pick  3c5ea038edbcfd5ab2c91a0cdbd8ec4d270cfb6c
17:40 alester Finished one cherry-pick.
17:40 alester # On branch master
17:40 alester nothing to commit (working directory clean)
17:40 moritz_ well, then it did one cherry-pick
17:40 moritz_ and committed that as a change
17:40 moritz_ git-log should show it
17:41 IllvilJa joined #perl6
17:41 alester shouldn't I see something in git-status then?
17:41 alester Or does it autocommit it?
17:41 moritz_ it autocommits
17:41 moritz_ unless you tell it not to
17:41 alester oooh, ok
17:41 alester this whole crazy-different workflow is crazy-different.
17:42 moritz_ aye
17:42 moritz_ but after some getting used to it works astonishingly well
17:42 riffraff joined #perl6
17:45 pugs_svn r25444 | moritz++ | [t/spec] tests for RT #63330 and RT #63332
17:50 ron_ joined #perl6
17:53 autarch alright, checked in a big rewrite of the S32/Temporal spec
17:54 iblechbot joined #perl6
17:54 skids joined #perl6
17:54 nihiliad joined #perl6
17:54 cls_bsd joined #perl6
17:54 Caelum joined #perl6
17:55 autarch or not
17:55 autarch apparently I don't have commit to pugs any more?
17:55 * moritz_ takes a look
17:57 autarch has $.hour is ro?
17:58 moritz_ it's ro by default
17:58 autarch yay
17:59 moritz_ autarch: <autarch@urth.org> (administrator, pending)
17:59 moritz_ autarch: does that look sane?
17:59 moritz_ or should I re-submit your email address?
18:00 autarch that's the right email
18:00 autarch maybe I just don't know my pw
18:00 moritz_ I've re-sbumitted it
18:00 moritz_ should should get a password email real soon
18:01 ron_ left #perl6
18:11 zamolxes joined #perl6
18:14 autarch moritz_: yep, all set, just checked in my spec changes
18:15 moritz_ autarch++
18:15 pugs_svn r25445 | autarch++ | This is a very drastic revision (hopefully this won't turn into a revert war ;)
18:15 pugs_svn r25445 | autarch++ |
18:15 pugs_svn r25445 | autarch++ | Here's the changes in summary:
18:15 pugs_svn r25445 | autarch++ |
18:15 pugs_svn r25445 | autarch++ | removed all references to ...
18:15 pugs_svn r25445 | autarch++ |
18:15 pugs_svn r25445 | autarch++ | Locales, including eras, which come from a locale - this is a vast and complicated domain
18:15 pugs_svn r25445 | autarch++ |
18:15 pugs_svn r25445 | autarch++ | Alternate calendars - also vast and complicated
18:15 pugs_svn r25445 | autarch++ |
18:15 pugs_svn r25445 | autarch++ | String parsing of any sort - ditto, see the pattern here? ;)
18:15 pugs_svn r25445 | autarch++ |
18:15 pugs_svn r25445 | autarch++ | Format specifiers - this could come from locales (CLDR specifies this)
18:15 pugs_svn r25445 | autarch++ | or strftime, but again, it's more complicated than is needed
18:15 pugs_svn r25445 | autarch++ |
18:15 pugs_svn r25445 | autarch++ | Comparing dates or times to durations - this just doesn't make
18:15 pugs_svn r25445 | autarch++ | sense. Is 2009-02-23 greater or less than 5 days?
18:15 pugs_svn r25445 | autarch++ |
18:15 pugs_svn r25445 | autarch++ | Any sort of date or time math
18:15 pugs_svn r25445 | autarch++ |
18:15 pugs_svn r25445 | autarch++ | Added iso8601 output for every role, and made that the
18:15 pugs_svn r25445 | autarch++ | stringification. ISO8601 is unambiguous world-wide, easy to read, and
18:15 pugs_svn r25445 | autarch++ | easy to output.
18:15 pugs_svn r25445 | autarch++ |
18:16 pugs_svn r25445 | autarch++ | Renamed Temporal::Instant to Temporal::DateTime
18:16 pugs_svn r25445 | autarch++ |
18:16 pugs_svn r25445 | autarch++ | Got rid of Temporal::Subsecond and just made Temporal::Time allow for
18:16 pugs_svn r25445 | autarch++ | sub-second resolutions. Not sure if this is best done with an
18:16 pugs_svn r25445 | autarch++ | $.attosecond attribute or as a decimal number.
18:16 pugs_svn r25445 | autarch++ |
18:16 pugs_svn r25445 | autarch++ | Renamed Temporal::Timezone to Temporal::TimeZone::Observance. The
18:16 pugs_svn r25445 | autarch++ | latter is a simple thing which represents the offset, isdst flag, and
18:16 pugs_svn r25445 | autarch++ | short name for a given local time. This information should be
18:16 pugs_svn r25445 | autarch++ | available on all supported platforms. TimeZones themselves are
18:16 autarch gah, sorry
18:16 pugs_svn r25445 | autarch++ | complicated and very much platform-dependent. Better to leave this as
18:16 pugs_svn r25445 | autarch++ | a separate CPAN6 distro.
18:16 pugs_svn r25445 | autarch++ |
18:16 pugs_svn r25445 | autarch++ | Got rid of all mutating operators on everything. The built-ins should
18:16 autarch karma autarch
18:16 pugs_svn r25445 | autarch++ | be immutable for simplicity.
18:16 pugs_svn r25445 | autarch++ |
18:16 pugs_svn r25445 | autarch++ | Added numification overloading for Temporal::DateTime, which gives us
18:16 pugs_svn r25445 | autarch++ | comparison for free.
18:17 PerlJam Has it ended?
18:17 * pmichaud comes down from the tree he climed to avoid the flood.
18:17 pmichaud *climbed
18:17 * pmichaud wanders off to lunch.
18:17 autarch was I supposed to do something to avoid that?
18:17 pmichaud we normally go for shorter commits messages, I think.
18:17 moritz_ well, but if it needs to documented, do it
18:18 pmichaud agreed.
18:18 autarch I made big changes, I didn't want to make my message "drastic revision of datetime stuff"
18:18 moritz_ autarch: ignore the nay-sayers ;-)
18:18 pmichaud I think it's reasonable.  we should probably get the bot to do some flood control.
18:18 pmichaud i.e., don't count me as a 'nay sayer' here :-)
18:18 autarch just have the bot include the first 3 lines and no more or something
18:18 moritz_ especially it should ignore empty lines
18:18 PerlJam Well, this is why I think the bot(s) should just do a short summary of the commit message anyway
18:19 pmichaud 5 lines would be okay for me.
18:19 pmichaud I do wish we could get the automatic-email-to-p6l to give better subject lines, though.
18:19 pmichaud Re:  t/docs/Spec    isn't proving to be very easy to find messages.
18:20 PerlJam (or if we follow the git-way, the first line would be "drastic revision of datetime stuff" and the rest would be the details.  Then the bot need only show the first line)
18:21 moritz_ funny thing is, I already implemented a 'first 5 lines only' mechanism, but I screwed up the usuage of splice() ;-)
18:21 pugs_svn joined #perl6
18:23 frew_ rakudo: 1;
18:23 p6eval rakudo 00e9db: RESULT«1»
18:23 moritz_ hopefully fixed
18:23 frew_ rakudo: [\+] 1,1,2,3;
18:23 p6eval rakudo 00e9db: OUTPUT«Syntax error at line 1, near "[\\+] 1,1,2"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
18:23 frew_ rakudo: [\+] (1,1,2,3);
18:23 p6eval rakudo 00e9db: OUTPUT«Syntax error at line 1, near "[\\+] (1,1,"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
18:23 frew_ rakudo: [+] 1,1,2,3;
18:23 p6eval rakudo 00e9db: RESULT«7»
18:24 moritz_ frew_: triangle reduce ops are not yet implemented
18:24 frew_ apparently
18:24 frew_ that's sad
18:24 moritz_ frew_: bacek++ submitted a patch for that, but it waits for review
18:25 frew_ I just want to do the awesome uh, how does it go: [\+] 1,1,2..Inf
18:25 frew_ and that gives the fib sequence?
18:25 fridim_ joined #perl6
18:26 moritz_ that's simply 1, 1 ... &infix:<+>
18:26 moritz_ but ... isn't implemented either
18:26 moritz_ both need lazy lists
18:26 frew_ still awesome
18:26 frew_ but if I can't demonstrate it I won't tell them
18:26 moritz_ pugs: say  [\+] 1,1,2..*
18:26 p6eval pugs: OUTPUT«pugs: out of memory (requested 1048576 bytes)␤»
18:26 frew_ haha, nice
18:27 moritz_ pugs: say  ([\+] 1,1,2..*).[0..10]
18:27 p6eval pugs: OUTPUT«pugs: out of memory (requested 1048576 bytes)␤»
18:27 moritz_ that wuold work if pugs did lazyness correct
18:27 frew_ right
18:27 frew_ I am surprised it doesn't
18:28 frew_ Haskell is lazy right/
18:28 autarch left #perl6
18:29 moritz_ it had a lazy backend
18:29 moritz_ but that bit-rotted
18:29 frew_ unsurprisingly
18:30 Psyche^ joined #perl6
18:32 araujo joined #perl6
18:34 pugs_svn r25446 | lwall++ | [inplace.t] missing lparen
18:34 pugs_svn r25446 | lwall++ | [adverbial-modifiers.t] malformed postfix
18:37 TimToady [\+] can't do fibonacci
18:38 frew_ Why?
18:40 moritz_ because fibonacci requires feedback?
18:41 TimToady you would need an operator that returns 2 previous results, not one
18:42 moritz_ std.pm rejects @foo[stuff]:p.value
18:42 TimToady it was playing around with [\+] that led me to propose 1,1...{$^a+$^b} instead
18:42 moritz_ is that correct?
18:43 TimToady problem is that :p is considered infix, which is past the postfix boundary, i think
18:44 TimToady perhaps I can reclassify :p as postfix with optional ws, maybe
18:44 TimToady but then that breaks the rule :/
18:44 moritz_ well, I don't strongly care either way, just wanted to know
18:44 TimToady std: (@foo[$stuff]:p).value
18:44 p6eval std 25446: OUTPUT«can't create CORE.pad.store: Permission denied at Cursor.pm line 194␤FAILED 00:02 32m␤»
18:44 wolverian > fix ((0:) . scanl (+) 1)
18:44 lambdabot [0,1,1,2,3,5,8,13,21,34,55,89,144,233,3​77,610,987,1597,2584,4181,6765,10946...
18:45 TimToady showoff
18:45 moritz_ std: (@foo[$stuff]:p).value
18:45 p6eval std 25446: OUTPUT«can't create CORE.pad.store: Permission denied at Cursor.pm line 194␤FAILED 00:04 35m␤»
18:45 wolverian surely I can write fix in perl 6 too, though
18:45 moritz_ meh
18:46 moritz_ std: enum Foo <Bar Baz>; say Foo::Bar
18:47 p6eval std 25446: OUTPUT«Undeclared name:␤      Foo::Bar used at 1 ␤ok 00:02 33m␤»
18:47 TimToady doesn't remember enums yet
18:47 moritz_ that's what I wanted to tell you ;-)
18:47 barney joined #perl6
18:48 TimToady but I already knew that :{P
18:48 moritz_ but I didn't know that ;-)
18:52 alester what's the preferred way to get tickets into RT?
18:52 alester Someone mentioned rakudobug, but I don't see it.
18:52 moritz_ rakudobug@perl.org
18:52 moritz_ send a mail there, and it will appear in RT
18:53 meppl good night
18:55 alester whooo, my first bug.
18:56 alester http://rt.perl.org/rt3/Tic​ket/Display.html?id=63346 concerns me a lot.
18:57 alester We play clever tricks, but Test::Harness ignores the failure.
19:13 TimToady ruoso: problem is that lex gets blown away when STD changes, not when CORE.pm changes, so would tend to rebuild more often than necessary, but that's more of a problem with rm -rf lex, which is a crude ax
19:15 frew_ rakudo: [1,2,3] >>+<<[4,5,6]
19:15 p6eval rakudo 00e9db: OUTPUT«Parrot VM: Can't stat languages/rakudo/perl6.pbc, code 2.␤main: Packfile loading failed␤»
19:15 frew_ pugs: [1,2,3] >>+<<[4,5,6]
19:15 p6eval pugs: RESULT«(5, 7, 9)»
19:15 frew_ pugs: [1,2,3] >>*<<[4,5,6]
19:15 p6eval pugs: RESULT«(4, 10, 18)»
19:15 frew_ pugs: [1,2,3] >>/<<[4,5,6]
19:15 p6eval pugs: RESULT«(1/4, 2/5, 1/2)»
19:16 frew_ pugs: [1,2,3] >>.<<[say,say,say]
19:16 p6eval pugs: OUTPUT«*** ␤    Unexpected ">>.<<["␤    expecting operator␤    at /tmp/R6rxX6T4uA line 1, column 9␤»
19:16 frew_ pugs: [1,2,3] >>+<<[i,i,i]
19:16 p6eval pugs: OUTPUT«*** No such subroutine: "&i"␤    at /tmp/3bT3xuUpcW line 1, column 15-20␤»
19:17 frew_ pugs: [1,2,3] >>.<<[i,i,i]
19:17 p6eval pugs: OUTPUT«*** ␤    Unexpected ">>.<<["␤    expecting operator␤    at /tmp/9nMhbylaqk line 1, column 9␤»
19:18 frew_ pugs: [1,2,3].map({ $^foo + i})
19:18 p6eval pugs: OUTPUT«*** No such subroutine: "&i"␤    at /tmp/AOqPdzenxo line 1, column 15-24␤»
19:18 frew_ pugs: [1,2,3].map({ $^foo + 1})
19:18 p6eval pugs: RESULT«(2, 3, 4)»
19:25 Exodist joined #perl6
19:26 dukeleto joined #perl6
19:35 maerzhase joined #perl6
19:41 skids frew: no hypers for postfix yet but that would be [1,2,3]>>.say
19:42 TimToady no guarantee on order of that
19:43 frew_ rakudo: [1,2,3]>>.say
19:43 skids does (1,2,3).say guarantee order?
19:43 p6eval rakudo 00e9db: OUTPUT«Statement not terminated properly at line 1, near ">>.say"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
19:43 frew_ pugs: [1,2,3]>>.say
19:43 TimToady sure, it's just a list in string context
19:43 p6eval pugs: OUTPUT«2␤3␤1␤»
19:44 TimToady error above was putting space before a postfix
19:45 skids I guess I meant (1,2,3)>>.say but of course that would be one operand now that you point that out :-)
19:45 TimToady well, or using . as an infix :)
19:45 frew_ pugs: (1,2,3)>>.say
19:45 p6eval pugs: OUTPUT«2␤3␤1␤»
19:46 TimToady hyperops are always allow to execute in any order
19:46 frew_ someone told me that () and [] are effectively the same in perl6
19:46 frew_ is that true?
19:46 TimToady people tell you the darndest things
19:46 frew_ they do!
19:46 TimToady no, it's not true
19:46 frew_ I'm assuming that means not true
19:46 moritz_ rakudo: .say for [1, 2, 3]
19:46 p6eval rakudo 00e9db: OUTPUT«1 2 3␤»
19:46 moritz_ rakudo: .say for (1, 2, 3)
19:46 p6eval rakudo 00e9db: OUTPUT«1␤2␤3␤»
19:47 frew_ hmm
19:47 moritz_ not quite the same
19:47 frew_ can you explain what the deal is here then:
19:47 frew_ rakudo: [1,2,3].perl
19:47 TimToady pugs: my @a = [1,2,3]; say @a.elems # sb 1
19:47 p6eval rakudo 00e9db: RESULT«"[1, 2, 3]"»
19:47 p6eval pugs: OUTPUT«1␤»
19:47 frew_ rakudo: (1,2,3).perl
19:47 p6eval rakudo 00e9db: RESULT«"[1, 2, 3]"»
19:47 frew_ same thing
19:47 frew_ is .perl wrong?
19:47 moritz_ no
19:47 TimToady pugs: my @a = (1,2,3); say @a.elems # sb 3
19:47 p6eval pugs: OUTPUT«3␤»
19:47 moritz_ .perl can't distinguish the two
19:47 moritz_ but that doesn't mean they are the same
19:48 TimToady .perl assumes item context
19:48 frew_ ok, so is [] still a reference?
19:48 TimToady yes, but don't tell anyone
19:48 moritz_ rakudo: .say for (1, 2, 3).item
19:48 p6eval rakudo 00e9db: OUTPUT«1␤2␤3␤»
19:48 moritz_ TimToady: that's wrong, isn't it?
19:49 frew_ so I somehow got the idea that if I do my @a = (1,2,3); foo(@a) foo would get a reference... or something like it
19:49 frew_ is that true?
19:49 TimToady (1,2,3) is specced to become [1,2,3] in item context
19:49 pmichaud rakudo currently converts (1,2,3) to [1,2,3] in scalar scontext
19:49 pmichaud *context
19:49 TimToady depends on the signature of foo
19:49 skids frew_: http://perlcabal.org/syn/S02.html#Literals
19:50 moritz_ pmichaud: so you agree that my example above is a bug in rakudo?
19:50 TimToady if sub foo (@x) then it gets @x as a ref
19:50 pmichaud moritz_: it wasn't clear to me from the spec if item context was sufficient to promote List to Array
19:50 TimToady if sub foo (*@x) then it gets the flattened list
19:50 pmichaud or if it required scalar context
19:51 TimToady there's no such thing as scalar context
19:51 TimToady there are scalars...
19:51 TimToady which, if you assign to one, provides item context
19:52 pmichaud okay, I can switch it over.  There was some example I saw (either in syn or in spectests) where that didn't seem to be right.
19:52 frew_ so sub foo($bar) gets a reference even if I pass it an array
19:52 TimToady if you find the term "scalar context" anywhere in the specs, it's either a ref to Perl 5 or an error
19:52 TimToady yes
19:52 frew_ interesting
19:53 pmichaud moritz_: yes, you can file it as a rakudobug
19:53 moritz_ pmichaud: will do
19:53 pmichaud and we need tests :-)
19:53 moritz_ will also do
19:53 TimToady so there's no difference between foo( (1,2,3) ) and foo( [1,2,3] ) in that case
19:53 frew_ ok
19:53 frew_ what about if I pass an array ref into array context?
19:54 moritz_ rakudo: .say for @([1, 2, 3])
19:54 p6eval rakudo 00e9db: OUTPUT«1␤2␤3␤»
19:54 moritz_ rakudo: .say for |[1, 2, 3]
19:54 p6eval rakudo 00e9db: OUTPUT«1␤2␤3␤»
19:54 pmurias dukeleto: re CORE,basis and extra, in Perl 6 we have stuff that's implicitly loaded at the start (Prelude) and explicitly loaded (the CPAN)
19:54 frew_ cool
19:55 Matt-W pmurias: setting, setting, setting
19:55 TimToady scalars never autointerpolate
19:56 skids pmurias: in addition to whether it's loaded, there's whether it is "shipped with"
19:56 TimToady dukeleto: complex and matrices are both built-in datatypes
19:56 TimToady see S09
19:56 frew_ so my @foo = (1,2,3); sub bar($baz) { ... }; bar(@foo) is wrong
19:56 TimToady that doesn't necessarily imply that all possible matrix operations are built-in
19:57 TimToady not wrong
19:57 TimToady $baz is aliased to @foo
19:57 TimToady it's just a binding
19:57 pmichaud a scalar parameter can bind to basically anything, iirc
19:57 TimToady and a scalar can bind to anything
19:57 skids pmurias: the two would not necessarily have to be subsets, e.g. perl6 could load-by-default something if it finds it installed, but that might get ugly and just seems wrong.
19:57 TimToady gah
19:58 pugs_svn r25447 | moritz++ | [t/spec] tests for list in item context
19:59 pmichaud rakudo:  say (1.2.3).item.WHAT;
19:59 p6eval rakudo 00e9db: OUTPUT«Statement not terminated properly at line 1, near ".3).item.W"␤␤current instr.: 'parrot;PGE;Util;die' pc 129 (runtime/parrot/library/PGE/Util.pir:83)␤»
19:59 moritz_ s/\./,/g
19:59 pmichaud rakudo:  say (1,2,3).item.WHAT;
19:59 p6eval rakudo 00e9db: OUTPUT«Array␤»
20:00 TimToady rakudo: say (1,2,3).WHAT
20:00 p6eval rakudo 00e9db: OUTPUT«sh: ./parrot: No such file or directory␤»
20:00 moritz_ gah, it's the full hour and parrot rebuilds
20:00 TimToady heh, top of the hour
20:00 pmichaud we _really_ need to do something about the rebuild sequence.
20:01 pmichaud like, don't do a rebuild if there haven't been any updates.
20:01 pmichaud especially since parrot changes shouldn't affect rakudo builds (unless build/PARROT_REVISION changes)
20:01 TimToady or copy the finished product somewhere right at the end
20:01 pmichaud anyway, (1,2,3).WHAT returns List
20:01 TimToady (trying not to mention the "i" word...)
20:02 TimToady what I figgered
20:02 TimToady which is okay, since it's a mcro
20:02 TimToady a
20:02 TimToady any real method should imply .item though
20:02 pmichaud oh, I remember the issue.
20:02 TimToady (maybe)
20:02 pmichaud with   .say for (1,2,3).item
20:03 pmichaud why would that not be   1\n2\n3\n ?
20:03 TimToady rakudo: .say for [1,2,3]
20:03 p6eval rakudo 00e9db: OUTPUT«sh: ./parrot: No such file or directory␤»
20:03 moritz_ because it's one item over which for iterate
20:03 TimToady (1,2,3).item should be equiv to [1,2,3]
20:03 moritz_ *iterates
20:03 pmichaud yes, but how does that differ from   .say for @a   ?
20:04 TimToady @a interpolates, [] doesn't; I guess I think of it as [] since it's anonymous
20:04 lambdabot Maybe you meant: activity activity-full admin all-dicts arr ask . ? @ v
20:04 TimToady lambdabot--
20:04 pmichaud I know that @a interpolations and [] doesn't, but what distinguishes the two internally?
20:04 pmichaud *interpolates
20:05 TimToady I suppose [] is really Scalar of Array
20:05 pmichaud right
20:05 pmichaud that's what Rakudo currently does
20:05 pmichaud so does this mean that .item also implies Scalar of ... ?
20:06 pmichaud i.e., so that  (1,2,3).item would return a reference as opposed to just an Array ?
20:06 TimToady lemme think about that
20:06 pmichaud that's the issue I kept running into, and why Rakudo ended up doing things the way it does now.
20:07 pmichaud Rakudo already does List->Array for .item, at any rate.
20:07 pmichaud and doing for on an Array should interpolate the array
20:07 TimToady don't disagree with that part :)
20:08 TimToady something about Captures as return values, I think
20:08 pmichaud anyway, I'll annotate the rakudobug
20:10 TimToady question is whether .item returns Capture of Array, I think
20:10 TimToady where Scalar of Array is just a degenerate case
20:13 TimToady or it might be that (1,2,3) promotes only to positional Capture in item context
20:16 pugs_svn r25448 | pmichaud++ | [t/spec]:  update new .item test with reference to RT ticket.
20:33 rindolf joined #perl6
20:54 pmurias skids: what's "shipped with" is a packaging issue not a language one
20:59 * frew_ enjoys King Cake
21:01 skids pmurias: wrt "base" though maybe thought should be put into a base package that comes with a bundler "use Base" which loads a certain set of libraries, so we don't have use bloat.  Those particular modules should probably be held to a higher standard WRT sane exports etc.
21:02 skids as to what's a "language" issue is depends on whether you view that from a compsci perspective or a lay perspective.
21:06 pmurias skids: even the same implementations might come in different packages like "a batteries include" one
21:07 jan_ joined #perl6
21:07 pmurias and while different implementations are expected to implement the same language a default module set IMHO shouldn't be enforced
21:07 pmichaud after I do git checkout <version>  to get to version as of a specific date, how do I get back to the present-day version?
21:09 perlsyntax joined #perl6
21:10 perlsyntax left #perl6
21:10 zamolxes joined #perl6
21:13 pmurias svn-- # creating it's own problems and made-up error messags
21:15 pugs_svn r25449 | pmurias++ | [mildew] renamed prelude to CORE - part 1
21:16 pugs_svn r25450 | pmurias++ | [mildew] part 2 of last commit - svn asked me to do it that way
21:18 pmurias ruoso: i rename the Prelude to CORE
21:19 pmurias * renamed
21:30 * ruoso later &
21:31 alester joined #perl6
21:31 icwiener joined #perl6
21:37 pugs_svn r25451 | hinrik++ | [S29] fix Pod errors
21:49 alester FINALLY, got my rakudo/rakudo merged down.
22:01 cxreg pmichaud: hopefully you've found it by now, but "git checkout branchname"
22:01 pmichaud cxreg: yes, I did.  "git checkout master" does what I want.
22:01 pmichaud so, "git checkout master", followed by "git checkout <new-desired-date>"
22:01 pmichaud cxreg: thanks.
22:01 cxreg yeah.  master is just a branch, nothing special about its name.  np.
22:46 iblechbot joined #perl6
22:52 wknight8111 joined #perl6
22:55 Limbic_Region joined #perl6
22:59 alexn_org joined #perl6
23:17 bacek_ joined #perl6
23:43 drbean joined #perl6
23:48 dalek rakudo: a74de6a | pmichaud++ | docs/spectest-progress.csv:
23:48 dalek rakudo: First cut of spectest-progress.csv update, more to come.
23:48 dalek rakudo: review: http://github.com/rakudo/rakudo/commit/a​74de6adffb4a144915beed72892ce04cbc78e9c
23:57 s1n1 joined #perl6
23:58 s1n1 jnthn: ping
23:58 wayland Question for everyone -- if I have an object that needs to have a specific stringification, what do I do?  If I make a .toString() method, will it call that?  Answers good, doco link even better :)
23:59 s1n1 wayland: is it possible to overload the prefix:~ method?
23:59 User757 joined #perl6

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo