Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2009-01-16

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:02 pugs_svn r24921 | lwall++ | [STD] allow $x\i
00:02 pugs_svn r24921 | lwall++ | [STD] guess at two terms in a row for syntax error where infix was expected
00:02 pugs_svn r24921 | lwall++ | [STD] postfix:<i> now parses at Methodcall precedence to avoid surprises on .i
00:07 Eevee joined #perl6
00:09 TimToady std:  my $t = 5; $t\i
00:09 p6eval std 24921: OUTPUT«############# PARSE FAILED #############␤Syntax error at /tmp/5TEfGr9Ke6 line 1:␤------> [32mmy $t = 5; $t[31m\i[0m␤    expecting any of:␤        POST␤   infix or meta-infix␤        infix stopper␤    postfix␤        postfix_prefix_meta_operator␤       standard stopper␤
00:09 p6eval ..statement modifier loop␤  terminator␤     wh...
00:10 TimToady STD not rebuilt yet, apparently...
00:12 TimToady I'm leaning towards saying that $t.i must always be the method call, and use $t\i form to force postfix on any alphabetic postfix
00:14 TimToady and then Any can declare method i { self\i }
00:14 TimToady this will avoid surprise if the user defines their own method i
00:15 ruoso what is $x\i?
00:16 jnthn TimToady: ($t.i always is a method call) yes, please.
00:17 ruoso (the simple idea that $t.i could be something else freaks me out)
00:17 Eevee is there any chance of pack/unpack being human-friendlier in p6?  and is there any support in rakudo right now for parsing binary files?
00:20 TimToady p6 will treat pack templates more like assembly code that is expected to be the result of some other function
00:21 TimToady ruoso: currently 42.i is 42i
00:21 ruoso hmm
00:21 TimToady but I've decided it's probably a bad idea
00:22 TimToady the problem is with $x.i
00:22 TimToady you can't just say $xi
00:22 TimToady ($x)i works
00:22 TimToady but we've already specced that $x\i should work
00:22 ruoso I see...
00:23 TimToady and if that works, I can force $x.i to be the method call
00:23 jnthn Gets my vote.
00:23 TimToady and we can supply a default i method that still does complex
00:23 ruoso not on Any
00:23 ruoso just on Number
00:23 jnthn And probably Int.
00:23 ruoso please
00:24 Eevee sounds good to me
00:24 ruoso isn't Int a Number
00:24 TimToady why?  It'll just fail if self\i doesn't work
00:24 jnthn ruoso: OH NO DON'T START THAT ONE AGAIN
00:24 ruoso again?
00:24 jnthn ruoso: some_int_here ~~ Num
00:24 jnthn However in type hierarchy I don't thin Int isa Num
00:24 TimToady but ~~ is does, not isa
00:25 jnthn ruoso: I'm sure there's been more than one thread on this topic on p6l.
00:25 ruoso jnthn, sorry... missed those
00:25 ruoso and I'd expect Number to be a role, actually
00:25 TimToady so putting method i into role Num is probably okay
00:25 jnthn *sigh* Yeah, a spec'd type hierarchy would be nice.
00:25 * TimToady whistles
00:26 jnthn TimToady: Am I missing it in the synopses, or do we anywhere explicitly specify the "a role puns a class if used as one" thing?
00:26 jnthn Example
00:26 jnthn my $x is Array[:of(Int)]
00:26 jnthn Roles are parametric but not classes, thus Array must be a role.
00:27 jnthn _but_ roles aren't meant to be directly instantiable, right? Or?
00:27 jnthn I'm about at the point in Rakudo where I rather need an answer on this kinda stuff.
00:27 ruoso so do I, actually
00:28 TimToady S12:2070 mentions punned roles in passing
00:28 TimToady some roles have enough information to pun, and some don't, I assume
00:29 jnthn Hmm.
00:29 jnthn OK, that is probably workable.
00:29 TimToady a matter of defaults, I presume
00:29 ruoso I'd be happy with the idea that all built-in types represent just an API
00:29 jnthn TimToady: I'll clarify it to my liking in S14 and you can give it the appropriate amount of hate. :-)
00:30 TimToady Array and Hash presumably default to :of(Object) or some such
00:30 ruoso the problem is how Array.new could work
00:31 jnthn The thingy that's installed in the namespace for a role can intercpet a method lookup, I guess.
00:31 TimToady you can't call a method on a role, so obviously you're asking for a pun
00:31 jnthn And hand back (or generate if it's the first time) the punned class.
00:31 jnthn Or rather, an instnce of it.
00:31 TimToady a form of autoviv
00:31 jnthn That's workable for me.
00:32 jnthn I just want to spec to explicitly say it. Oh hey, I signed up to do S14... :-)
00:32 jnthn Seriously though, those answers pretty much clear up a lot of my questions.
00:33 ruoso hmm...
00:33 jnthn The whole "roles are something you can instantiate" thing stops looking so.
00:33 jnthn But that doesn't mean we need to *encourage* people to pun.
00:34 jnthn erm, *can't* instantiate
00:34 alc joined #perl6
00:34 TimToady they're like bare quarks; they create their own reality if you try to do it
00:35 ruoso just a sanity check
00:35 jnthn ...sanity?!
00:35 jnthn ;-)
00:35 ruoso are we ok with "built-in types are just interfaces" ?
00:36 pugs_svn r24922 | lwall++ | [STD] default $x.i to be method call, not postop; use ($x)i or $x\i now
00:36 TimToady interfaces with default implementations
00:36 jnthn Which means, er, roles?
00:37 TimToady yes, here's how you perform Hamlet by default, but you can tweak it... :)
00:37 * jnthn nods
00:38 ruoso you realize that this is making 4.WHAT more and more undetermined
00:38 TimToady 'course, now someone will say that [1,2,3].WHAT should be saying Array[:of(Object)]
00:38 jnthn TimToady: Why?
00:39 ruoso because if Int and Num are just roles, 4 might be RandomInternalThingyThatHappensToImplementNumAndInt
00:39 Eevee you know, there should probably be an S00 that serves as a glossary/index
00:39 jnthn ruoso: Ah. Hmm. :-)
00:39 TimToady so 4 is really an Int{ :value(4) } kind of protoobject
00:39 jnthn ruoso: I suspect the punned class should take on the name of the role.
00:40 ruoso which one?
00:40 ruoso if we impose that
00:40 ruoso we're making them classes
00:40 jnthn We gotta have a class at _some_ point.
00:40 jnthn We're not at all.
00:40 ruoso but that might be implementation specific
00:40 TimToady Eevee: go for it :)
00:40 Eevee haha, walked right into that
00:41 jnthn role Array[:$of] { ... }
00:41 ruoso I think my point is relaxing the spec in that sense
00:41 ruoso allowing more implementation-specific stuff
00:41 TimToady role Array[:$of = Object] {...}
00:41 jnthn Array.new # Puns a class that does Array and has the short-name Array
00:41 jnthn TimToady: Yes, I was thinking that and didn't write it. :-)
00:42 pcbuetow joined #perl6
00:42 jnthn ruoso: If someone wants a more custom implementation than the methods in the Array role and Any provide between them, they can write their own class MyArray does Array { ... }
00:43 jnthn Or role MyArray[:$of = Object] does Array[$of] { ... }
00:43 jnthn If they wanna keep it all parametric.
00:44 TimToady does Array[:$of] to keep it named
00:44 ruoso I'm ok with that part
00:44 TimToady or you can "class Array is also {...}" but then you're modifying the punned class, not the original role
00:44 ruoso my question is about .WHAT
00:44 TimToady roles are immutable
00:44 jnthn TimToady: Erm, it's passing it as a parameter there, it's not a sig!
00:45 jnthn Oh!
00:45 jnthn Duh
00:45 TimToady :$of declares a named only parameter
00:45 jnthn Named parameter. :-)
00:45 jnthn Yes, yes.
00:45 TimToady mind, maybe we want it positional
00:45 jnthn This is what beer does.
00:45 TimToady so people can say Array[Object]
00:45 jnthn TimToady: Perhaps we do.
00:46 TimToady and can still say :of(Object) if they like
00:46 jnthn TimToady: My main reason for wanting to go positional, is that we don't do multi-dispatch on named paramters...
00:46 TimToady ah
00:46 jnthn And I don't want to give you the idea of proto roles.
00:46 TimToady Array[Hash[Array[Hash[Object]]]]
00:47 TimToady I can buy it, I think
00:47 jnthn That's fine. Folks can still write my Hash of Array of Hash @a;
00:47 Eevee who updates existing synopses?  e.g. I don't see infix \ in S03
00:47 Limbic_Region is that anyone with a pugs commit bit?
00:47 ruoso yes
00:48 Limbic_Region Eevee - got a commit bit?
00:48 Eevee I may
00:48 jnthn ruoso: On WHAT, I don't see an issue with returning a proto-object for the punned class.
00:48 Eevee aha, I do
00:49 jnthn And when it comes to what we want it to stringify to, saying "it's the short name" doesn't to me seem like a huge issue.
00:49 jnthn Multiple proto-obojects *already* stringify to the same thingy anyway.
00:49 ruoso jnthn, right... that means [1,2,3].WHAT === Array migth fail
00:49 jnthn Hmm. Yes.
00:50 jnthn Since in the namespace, Array is a role.
00:50 ruoso cool... that's my point
00:50 jnthn Is that a problem?
00:50 jnthn Or rather, do you see that as a problem?
00:50 ruoso pmichaud had a  problem with it, iirc
00:50 ruoso some people expect .WHAT to be a way to test type identity
00:51 jnthn I'd happily break their expectations.
00:51 TimToady only .WHICH provides identity
00:51 jnthn [1,2,3].WHAT ~~ Array
00:51 jnthn Is 1 char less.
00:51 jnthn ;-)
00:51 jnthn (And would work.)
00:51 ruoso well... that was my point at all times this issue came out
00:52 TimToady the purpose of WHAT is to give a glib answer to "What is it?"
00:52 TimToady WHO gives the long answer, iirc
00:52 |jedai| joined #perl6
00:52 ruoso well, I'm glad to hear that...
00:53 jnthn TimToady: Well, it gives back the proto object, which is also a way to make another one of the same thingy. It's the stringification that I guess gives the "what is it" kinda answer.
00:53 jnthn $x.WHAT.new # another instance of whatever type $x is
00:54 jnthn Though I'm not sure how that plays out if you've mixed into $x
00:54 ruoso that's precisely my corner-point
00:54 jnthn As in, should that give you a new instance of what $x originally was, or the current "class" of $x...
00:54 TimToady I guess it's just stringification that shortens WHO
00:54 ruoso as SMOP stands today... the current $x
00:55 jnthn ruoso: Ah. Rakudo does the opposite.
00:55 jnthn It doesn't matter to me a great deal which answer we pick though.
00:55 jnthn On my side, it's a trivial change, I think.
00:55 TimToady mixins create new classes
00:55 jnthn TimToady: Aye.
00:55 jnthn I'm leaning towards what SMOP does rather than what Rakudo does.
00:55 TimToady so $x.WHAT represents $x's new class
00:55 jnthn OK. I'll fix Rakudo up on that one. :-)
00:56 * jnthn is really happy to be getting all these questions answered.
00:56 * TimToady is happy to get a refresher in his own spec :)
00:57 ruoso I'm still unsure on how to make Object.Str return "Object"
00:57 TimToady note proto stringifies to Array() these days, according to S12
00:57 jnthn Oh?
00:57 jnthn I missed that commit
00:57 jnthn Rationalie?
00:57 TimToady I'm trying to remember
00:57 jnthn *Rationale
00:57 [particle]2 to show it's undef-like nature
00:58 [particle]2 iirc
00:58 TimToady that were it
00:58 jnthn That's a very xen answer. :-)
00:58 TimToady aye
00:59 TimToady eep, gotta go play the drums at church
00:59 jnthn I can certainly say on the Rakudo side that built-ins will become roles *after* we get a Perl 6 prelude.
00:59 * jnthn doesn't fancy hand-PIRing parametric roles
00:59 jnthn TimToady: Have fun. Thanks for the input! :)
00:59 ruoso indeed...
01:00 TimToady afk & # gotta beat it...
01:00 jnthn <rimshot>
01:00 [particle] <eyeroll>
01:00 dh_ sick
01:02 jnthn Ooh, 2am.
01:02 * jnthn -> sleep
01:12 hercynium joined #perl6
01:22 eternaleye joined #perl6
01:25 |jedai| joined #perl6
01:41 hercynium_ joined #perl6
01:54 [particle]1 joined #perl6
01:54 [particle]2 joined #perl6
01:54 LimbicRegion joined #perl6
01:55 [particle]2 left #perl6
01:58 [1]Limbic_Region joined #perl6
02:24 Helios joined #perl6
02:36 aindilis joined #perl6
02:36 unobe joined #perl6
02:42 eternaleye joined #perl6
03:01 pmichaud std: my %h; %h{"key"} = "value"; say %h\{"key"};
03:01 p6eval std 24922: OUTPUT«00:07 87m␤»
03:14 kisu joined #perl6
03:19 hercynium joined #perl6
03:23 sail0r joined #perl6
03:29 sail0r joined #perl6
03:35 cognominal joined #perl6
03:37 chrisdolan joined #perl6
03:40 chrisdolan Very roughly, how feasible is it to implement actions.pm for a PCT-based language in Rakudo instead of NQP today?
03:43 pmichaud chrisdolan: Rakudo doesn't have good binding operators yet.
03:44 pmichaud other than that, not too difficult.
03:44 pmichaud also, Perl 6 changed such that $/ can't be a parameter.  I'm not sure how to deal with that one yet.
03:45 pmichaud std:  sub foo($/) { ... }
03:45 p6eval std 24922: OUTPUT«############# PARSE FAILED #############␤Unable to parse multisig; couldn't find final ')' at /tmp/8kaGZiX71c line 1:␤------> [32msub foo($[31m/) { ... }[0m␤    expecting any of:␤       param_sep␤        parameter␤        post_constraint␤  trait␤  twigil␤   whitespace␤00:05
03:45 p6eval ..83m␤»
03:45 chrisdolan By binding, you mean the "make" command, or something else?
03:45 pmichaud :=
03:45 chrisdolan Oh
03:54 meppl joined #perl6
03:58 Eevee joined #perl6
04:04 samlh joined #perl6
04:12 pugs_svn r24923 | lwall++ | [STD] allow $/ and $! as parameter names
04:14 [particle] joined #perl6
04:19 TimToady joined #perl6
04:19 |jedai| joined #perl6
04:19 [particle] joined #perl6
04:19 samlh joined #perl6
04:19 Eevee joined #perl6
04:19 chrisdolan joined #perl6
04:19 cognominal joined #perl6
04:19 sail0r joined #perl6
04:19 hercynium joined #perl6
04:19 kisu joined #perl6
04:19 unobe joined #perl6
04:19 aindilis joined #perl6
04:19 [particle]1 joined #perl6
04:19 ruoso joined #perl6
04:19 Southen joined #perl6
04:19 On joined #perl6
04:19 bsdperl joined #perl6
04:19 c9s joined #perl6
04:19 mberends joined #perl6
04:19 lambdabot joined #perl6
04:19 jhorwitz joined #perl6
04:19 stephenlb joined #perl6
04:19 spx2 joined #perl6
04:19 alester joined #perl6
04:19 dalek joined #perl6
04:19 estrabd joined #perl6
04:19 tux300181 joined #perl6
04:19 dukeleto joined #perl6
04:19 cj joined #perl6
04:19 jiing joined #perl6
04:19 szabgab joined #perl6
04:19 jrockway joined #perl6
04:19 simcop2387 joined #perl6
04:19 dh_ joined #perl6
04:19 jnthn joined #perl6
04:19 athenot joined #perl6
04:19 pdcawley joined #perl6
04:19 orafu joined #perl6
04:19 araujo joined #perl6
04:19 krunen joined #perl6
04:19 broquaint joined #perl6
04:19 diakopter joined #perl6
04:19 Caelum joined #perl6
04:19 agentzh joined #perl6
04:19 SamB joined #perl6
04:19 plu joined #perl6
04:19 rhr joined #perl6
04:19 preflex joined #perl6
04:19 Trey joined #perl6
04:19 nipotan joined #perl6
04:19 kolibrie joined #perl6
04:19 sjn joined #perl6
04:19 shachaf joined #perl6
04:19 awwaiid joined #perl6
04:19 PZt joined #perl6
04:19 felipe joined #perl6
04:19 lumi_ joined #perl6
04:19 edenc joined #perl6
04:19 nothingmuch joined #perl6
04:19 drbean_ joined #perl6
04:19 dmpk2k joined #perl6
04:19 Matt-W joined #perl6
04:19 yahooooo joined #perl6
04:19 c1sung joined #perl6
04:19 gbacon joined #perl6
04:19 Blasi joined #perl6
04:19 Jedai joined #perl6
04:19 jan_ joined #perl6
04:19 literal joined #perl6
04:19 p6eval joined #perl6
04:19 kst joined #perl6
04:19 xinming joined #perl6
04:19 rafl joined #perl6
04:19 moritz_ joined #perl6
04:19 avar joined #perl6
04:19 cls_bsd joined #perl6
04:19 smg joined #perl6
04:19 r0bby joined #perl6
04:19 buubot joined #perl6
04:19 Khisanth joined #perl6
04:19 Lunchy_ joined #perl6
04:19 tcliou|Away joined #perl6
04:19 Maddingue joined #perl6
04:19 perlbot joined #perl6
04:19 pmichaud joined #perl6
04:19 Gothmog_ joined #perl6
04:19 LCamel_ joined #perl6
04:19 clkao joined #perl6
04:19 pugs_svn joined #perl6
04:19 rakudo_svn joined #perl6
04:19 PerlJam joined #perl6
04:19 BinGOs joined #perl6
04:19 yves joined #perl6
04:19 s1n joined #perl6
04:19 integral joined #perl6
04:19 ilogger2 joined #perl6
04:19 buu joined #perl6
04:19 Aisling joined #perl6
04:19 jjore joined #perl6
04:19 ingy joined #perl6
04:19 baest joined #perl6
04:19 kcwu joined #perl6
04:19 silug joined #perl6
04:19 sunnavy joined #perl6
04:19 spinclad joined #perl6
04:19 mtve joined #perl6
04:19 meppl joined #perl6
04:19 Helios joined #perl6
04:19 alc joined #perl6
04:19 wolverian joined #perl6
04:19 Patterner joined #perl6
04:19 AzureStone joined #perl6
04:19 japhb joined #perl6
04:19 xuser joined #perl6
04:19 lisppaste3 joined #perl6
04:19 cotto joined #perl6
04:19 pasteling joined #perl6
04:19 zostay joined #perl6
04:19 szbalint joined #perl6
04:19 nnunley joined #perl6
04:19 hcchien joined #perl6
04:26 TimToady joined #perl6
04:26 |jedai| joined #perl6
04:26 [particle] joined #perl6
04:26 samlh joined #perl6
04:26 Eevee joined #perl6
04:26 chrisdolan joined #perl6
04:26 cognominal joined #perl6
04:26 sail0r joined #perl6
04:26 hercynium joined #perl6
04:26 kisu joined #perl6
04:26 unobe joined #perl6
04:26 aindilis joined #perl6
04:26 [particle]1 joined #perl6
04:26 ruoso joined #perl6
04:26 Southen joined #perl6
04:26 On joined #perl6
04:26 bsdperl joined #perl6
04:26 c9s joined #perl6
04:26 mberends joined #perl6
04:26 lambdabot joined #perl6
04:26 jhorwitz joined #perl6
04:26 stephenlb joined #perl6
04:26 spx2 joined #perl6
04:26 alester joined #perl6
04:26 dalek joined #perl6
04:26 estrabd joined #perl6
04:26 tux300181 joined #perl6
04:26 dukeleto joined #perl6
04:26 cj joined #perl6
04:26 jiing joined #perl6
04:26 szabgab joined #perl6
04:26 jrockway joined #perl6
04:26 simcop2387 joined #perl6
04:26 dh_ joined #perl6
04:26 jnthn joined #perl6
04:26 athenot joined #perl6
04:26 pdcawley joined #perl6
04:26 orafu joined #perl6
04:26 araujo joined #perl6
04:26 krunen joined #perl6
04:26 broquaint joined #perl6
04:26 diakopter joined #perl6
04:26 Caelum joined #perl6
04:26 agentzh joined #perl6
04:26 SamB joined #perl6
04:26 plu joined #perl6
04:26 rhr joined #perl6
04:26 preflex joined #perl6
04:26 Trey joined #perl6
04:26 nipotan joined #perl6
04:26 kolibrie joined #perl6
04:26 sjn joined #perl6
04:26 shachaf joined #perl6
04:26 awwaiid joined #perl6
04:26 PZt joined #perl6
04:26 felipe joined #perl6
04:26 lumi_ joined #perl6
04:26 edenc joined #perl6
04:26 nothingmuch joined #perl6
04:26 drbean_ joined #perl6
04:26 dmpk2k joined #perl6
04:26 Matt-W joined #perl6
04:26 yahooooo joined #perl6
04:26 c1sung joined #perl6
04:26 gbacon joined #perl6
04:26 Blasi joined #perl6
04:26 Jedai joined #perl6
04:26 jan_ joined #perl6
04:26 literal joined #perl6
04:26 p6eval joined #perl6
04:26 kst joined #perl6
04:26 xinming joined #perl6
04:26 rafl joined #perl6
04:26 moritz_ joined #perl6
04:26 avar joined #perl6
04:26 cls_bsd joined #perl6
04:26 smg joined #perl6
04:26 r0bby joined #perl6
04:26 buubot joined #perl6
04:26 Khisanth joined #perl6
04:26 Lunchy_ joined #perl6
04:26 tcliou|Away joined #perl6
04:26 Maddingue joined #perl6
04:26 perlbot joined #perl6
04:26 pmichaud joined #perl6
04:26 Gothmog_ joined #perl6
04:26 LCamel_ joined #perl6
04:26 clkao joined #perl6
04:26 pugs_svn joined #perl6
04:26 rakudo_svn joined #perl6
04:26 PerlJam joined #perl6
04:26 BinGOs joined #perl6
04:26 yves joined #perl6
04:26 s1n joined #perl6
04:26 integral joined #perl6
04:26 ilogger2 joined #perl6
04:26 buu joined #perl6
04:26 Aisling joined #perl6
04:26 jjore joined #perl6
04:26 ingy joined #perl6
04:26 baest joined #perl6
04:26 kcwu joined #perl6
04:26 silug joined #perl6
04:26 sunnavy joined #perl6
04:26 spinclad joined #perl6
04:26 mtve joined #perl6
04:26 meppl joined #perl6
04:26 Helios joined #perl6
04:26 alc joined #perl6
04:26 wolverian joined #perl6
04:26 Patterner joined #perl6
04:26 AzureStone joined #perl6
04:26 japhb joined #perl6
04:26 xuser joined #perl6
04:26 lisppaste3 joined #perl6
04:26 cotto joined #perl6
04:26 pasteling joined #perl6
04:26 zostay joined #perl6
04:26 szbalint joined #perl6
04:26 nnunley joined #perl6
04:26 hcchien joined #perl6
04:27 cspencer joined #perl6
04:30 alester_ joined #perl6
04:44 diakopter std:  sub foo($/) { ... }
04:45 p6eval std 24923: OUTPUT«00:05 83m␤»
04:55 diakopter std:  sub foo($!) { $/ }
04:55 p6eval std 24923: OUTPUT«00:05 84m␤»
04:56 cspencer joined #perl6
04:59 pmichaud std:  sub foo($_) { ... }
04:59 p6eval std 24923: OUTPUT«00:05 83m␤»
05:00 pmichaud TimToady++  # allowing $/ and $! as parameter names
05:00 rakudo_svn r35615 | pmichaud++ | [rakudo]:  Fix degenerate space before postfix ops.  (RT #60148)
05:15 diakopter rakudo: say "is if a function" if(1);
05:15 p6eval rakudo 35614: OUTPUT«is if a function␤»
05:15 |jedai| joined #perl6
05:16 diakopter rakudo: say "is if a function" if (1);
05:16 p6eval rakudo 35615: OUTPUT«is if a function␤»
05:17 diakopter rakudo: say "is if a function" if.(1);
05:17 p6eval rakudo 35615: OUTPUT«is if a function␤»
05:17 diakopter rakudo: say "is if a function" if   .(1);
05:17 p6eval rakudo 35615: OUTPUT«is if a function␤»
05:17 diakopter o_O
05:19 diakopter pmichaud: I assume there are rakudobugs already for the above?
05:19 pmichaud yes.
05:19 pmichaud although why "if as a function" is so important to people kinda boggles my mind.
05:20 TimToady std: say "is if a function" if(1);
05:20 p6eval std 24923: OUTPUT«00:06 86m␤»
05:20 TimToady oops
05:20 pmichaud :-)
05:20 pmichaud did it backtrack to the modifier form?
05:21 TimToady not looking for a term when expecting an infix, and modifier if apparently doesn't reject () form
05:22 diakopter std: say "is if a function" if   .(1);
05:23 p6eval std 24923: OUTPUT«00:06 83m␤»
05:23 diakopter std: say "is if a function" if.(1);
05:23 p6eval std 24923: OUTPUT«00:06 86m␤»
05:23 diakopter std: say "is if a function" if\  .(1);
05:24 p6eval std 24923: OUTPUT«00:06 86m␤»
05:33 pugs_svn r24924 | lwall++ | [STD] add <nofun> to statement modifiers
05:33 TimToady that'll fix your wagon...
05:36 diakopter pmichaud: perhaps it feels significant because it's a backward incompatibility
05:37 diakopter std: say "is if a function" if\  .(1);
05:38 p6eval std 24924: RESULT«(null pattern for prefix_circumfix_meta_operator:*) at Cursor.pm line 462.␤############# PARSE FAILED #############␤Syntax error (two terms in a row?) at /tmp/E93mtQYhWL line 1:␤------> [32m( ( do { say "is if a function" if[31m\  .(1);[0m␤    expecting nofun␤00:06 49m␤»
05:40 diakopter std: say "is if a function" if .(1);
05:41 p6eval std 24924: OUTPUT«00:03 33m␤»
05:41 diakopter std: .();
05:41 p6eval std 24924: OUTPUT«00:02 32m␤»
05:41 diakopter rakudo: .();
05:41 p6eval rakudo 35615: RESULT«[undef]»
05:45 diakopter std:  \  .();
05:45 p6eval std 24924: OUTPUT«00:02 32m␤»
05:56 TimToady std: say "is if a function" if(1);
05:56 p6eval std 24924: OUTPUT«############# PARSE FAILED #############␤Syntax error (two terms in a row?) at /tmp/EXHinKVKR3 line 1:␤------> [32msay "is if a function" if[31m(1);[0m␤    expecting nofun␤00:07 86m␤»
06:07 Psyche^ joined #perl6
06:07 pugs_svn r24925 | putter++ | [elf_h] Improved name mangling.  Still crufty.
06:07 pugs_svn r24925 | putter++ | [elfparse] Started sketching in category handling.  Also tweaked README, removed some dead code, and added Makefile targets.
06:12 alc joined #perl6
06:12 pmurias joined #perl6
06:27 |jedai| joined #perl6
06:33 jimmy_ joined #perl6
07:22 masak joined #perl6
07:23 ChrisDavaz joined #perl6
07:41 spx2_ joined #perl6
07:42 pugs_svn r24926 | lwall++ | [STD] alignment with S03 on associativity noted by mtnviewmark++
07:42 pugs_svn r24926 | lwall++ | [STD] added various missing functions and types
07:42 pugs_svn r24926 | lwall++ | [t/spec] remove my() function calls  :)
07:43 ejs joined #perl6
07:45 masak rakudo: sub my($a) { say "OH MY" }; my $b; my($b)
07:45 lambdabot masak: You have 1 new message. '/msg lambdabot @messages' to read it.
07:45 p6eval rakudo 35615: RESULT«undef»
07:45 masak @massage
07:45 lambdabot azawawi said 5d 11h 20m 49s ago: http://use.perl.org/~azawawi/journal/38255
07:45 masak lambdabot: yes, I've read that message. twice. I've also asked you to clear it.
07:46 masak lambdabot: have I misunderstood your mode of operation somehow? if so, please let me know.
07:46 masak @clear
07:46 lambdabot Messages cleared.
07:48 moritz_ masak: yesterday I also got a 7 days old message from  lambdabot
07:49 masak moritz_: wonder what causes it.
07:49 TimToady perhaps you're trapped in a monad
07:50 masak isn't everybody?
07:50 masak how else would we be able to do side effects, I mean?
07:51 moritz_ i'm not, but I want to get out anyway ;-)
07:51 masak that's deep.
07:53 pugs_svn r24927 | masak++ | [u4x] added special exo-proglang terms to list
07:54 TimToady @tell pmurias it's likely that I just broke mildew with the associativity changes
07:54 lambdabot Consider it noted.
08:04 masak mtnviewmark++ # the email on ops
08:04 iblechbot joined #perl6
08:05 moritz_ http://www.perlfoundation.org/perl6/index.cgi?summer_of_code_ideas
08:06 moritz_ feel free to add any Perl 6 or Parrot ideas there
08:08 mberends joined #perl6
08:10 DemoFreak joined #perl6
08:14 masak moritz_: are the parenthesized names meant to signify proposed, or possible mentor? I'm thinking whether I should add myself to the 'Documentation' item.
08:15 masak (as a possible mentor, because I see myself being heavily involved in u4x)
08:16 _jedai_ joined #perl6
08:21 mberends masak: hi! took up your volunteer appeal for November, and can so far report the following: the Perl 5 prove in Debian has no -e or nocolor, but does support --perl instead. are you willing to change that in Makefile?
08:21 masak mberends: aye, sure! patches welcome.
08:22 masak mberends: since I sighed and moaned yesterday, my particular issues then have been solved (I fixed them). but volunteers are still very welcome for many things.
08:22 masak mberends: we still have an outstanding grammar matching issue in the tests and in the application itself.
08:22 masak I know what to do about it, I just haven't done it.
08:23 mberends ok, and is this the address for patches, or git push instead?
08:24 masak mberends: git push is only possible if you have access to the november-wiki repo.
08:24 masak (which I'm perfectly willing to give you, but it'll take a while, since viklund sits on the admin controls)
08:24 masak (maybe a day or so)
08:25 masak you can always clone the repo at github.
08:25 masak or just send patches by email.
08:25 masak remember to add yourself to the AUTHORS file. :)
08:26 mberends will do later, must start teaching soon. M$.
08:27 masak gotcha.
08:32 vixey joined #Perl6
08:38 moritz_ masak: initially I meant proposal, but feel free to yourself to it
08:39 masak oki
08:40 ludan joined #perl6
08:41 Matt-W Good morning
08:42 moritz_ good mourning ;-)
08:43 masak goad mooring.
08:44 Matt-W Another day of work
08:45 moritz_ but TCIF!
08:45 Matt-W Hitting Visual C++ with a hammer and wishing for a nuclear missile
08:46 Matt-W TCIF?
08:47 moritz_ Thank Christ It's Friday
08:47 masak Matt-W: I'm not sure there's any context where one should actually, truly wish for a nuclear missile. unless perhaps in museums, disarmed.
08:49 masak moritz_: I know about Thank God It's Wednesday, but I'd never heard about TCIF :)
08:50 moritz_ masak: it comes up every Friday on the Perlmonks chatterbox
08:50 masak oh.
08:50 masak I'm not a Perlmonk regular, I'm afraid.
08:50 Matt-W masak: I'm speaking of metaphorical hammers and metaphorical nuclear missiles - something that will get rid of Visual C++, anyway
08:50 masak Matt-W: OIC. I thought for a moment you were really tired of your work.
08:50 Matt-W Real nuclear missiles keep me awake at night.
08:51 Matt-W Probably the worst thing the human race has ever done
08:51 Matt-W No no not *that* tired
08:51 Matt-W maybe if they stop me coming to #perl6...
08:54 |jedai| joined #perl6
09:05 vixey joined #Perl6
09:22 jimmy_ joined #perl6
09:22 wolverian joined #perl6
09:24 schmalbe joined #perl6
09:25 jferrero joined #perl6
09:40 namenlos joined #perl6
09:49 tmaesaka joined #perl6
10:05 braceta joined #perl6
10:27 _jedai_ joined #perl6
10:30 pmurias joined #perl6
10:36 agentzh joined #perl6
11:07 ashizawa joined #perl6
11:11 |jedai| joined #perl6
11:30 |jedai| joined #perl6
11:38 pugs_svn r24928 | jnthn++ | [t/spec] Some fudging changes (mostly removal) and corrections to a roles test, so we can add it to the spectests. One test I'm not quite sure what to do with - left it fudged for now.
11:39 xinming_ joined #perl6
11:50 rakudo_svn r35622 | jonathan++ | [rakudo] Implement .does method (Any delegates to the metaclass, and we have the implementation there).
11:50 rakudo_svn r35623 | jonathan++ | [rakudo] infix:<but> needs to be aware of ObjectRef, otherwise we end up affecting the original object.
11:50 rakudo_svn r35624 | jonathan++ | [rakudo] Oops, should have checked updated makefile in a couple of commits ago.
11:50 rakudo_svn r35625 | jonathan++ | [rakudo] Add the (now substantially passing) S12-role/basic.t to the spectests. It tests .does in the non-parametric case as well as covering the infix:<but> with ObjectRef bug recently fixed.
11:57 pugs_svn r24929 | jnthn++ | [t/spec] Unfudge some .does parameterized roles tests for Rakudo now that we have at least some implementation of that.
12:00 pjcj joined #perl6
12:01 Matt-W jnthn: you've been busy
12:03 jnthn Matt-W: Just .does, a bug fix and some spectest review. :-)
12:03 Matt-W Looks good to me!
12:03 Matt-W More tests that work is always good
12:11 * jnthn looks at some dispatch-y stuff for a bit as a break from parametric roles
12:17 plu left #perl6
12:32 ruoso joined #perl6
12:38 schmalbe joined #perl6
12:46 ruoso are we already preparing stuff for GSOC2009 for Perl 6?
12:47 moritz_ ruoso: I'm collecting ideas
12:47 moritz_ and we should start advertising early
12:47 ruoso I'd like to add a proposal of a project
12:47 ruoso which is to hunt down all SMOP leaks
12:47 moritz_ oh, fun
12:48 moritz_ ruoso: just add it to the wiki page
12:48 ruoso where?
12:48 * ruoso has a short memory
12:48 moritz_ ruoso: http://www.perlfoundation.org/perl6/index.cgi?summer_of_code_ideas
12:59 moritz_ jnthn: t/spec/S12-methods/instance.t fails for me
13:00 moritz_ as well as S12-methods/syntax.t
13:00 jnthn That's odd...
13:00 moritz_ (or maybe I should tell pmichaud, how changed the parser recently)
13:01 jnthn Hmm. But I did svn up today and didn't see those ones. :-|
13:01 jnthn I've got some really nasty local diffs at the moment, so can't check much right now...
13:02 ruoso joined #perl6
13:02 moritz_ it barfs on $obj.method\ ()
13:02 moritz_ which sure looks related to what pmichaud did
13:04 jnthn Ah, phew. :-)
13:04 kane_ joined #perl6
13:04 jnthn Crap, I has to do parrot guts. :-|
13:17 ruoso joined #perl6
13:26 lisppaste3 joined #perl6
13:27 pmichaud weird -- I did a 'make spectest' after implementing \  () and didn't get any failures.
13:31 jnthn pmichaud: I'm currently trying to sort out the "subclassing Sub" mess.
13:31 jnthn So we can rebless_subclass things.
13:32 jnthn Which means Parrot guts. :-|
13:32 pmichaud jnthn: good luck.  :-)
13:36 |jedai| joined #perl6
13:49 jnthn pmichaud: I'd need less luck if people bothered to follow the "have a PARROT_INTERP parameter" rule...
13:50 pmichaud is that a rule?  ;-)
13:51 jnthn Not if your name is leo.
13:51 jnthn </harsh>
13:54 jnthn Gah. Now I've made PGE explode. :-|
13:59 Matt-W Oh dear
14:00 rakudo_svn r35629 | pmichaud++ | [rakudo]: spectest-progress.csv update: 285 files, 6263 passing, 0 failing
14:00 cai joined #perl6
14:01 jnthn OK, PGE lives. :-)
14:05 namenlos joined #perl6
14:11 Matt-W Hurrah!
14:12 Matt-W I know, I'm not being very helpful, I'm just trying to provide some moral support
14:16 jnthn Muchly needed when dealing with Parrot guts.
14:19 Matt-W I've not looked inside Parrot. I daren't.
14:19 Matt-W Quite enough to deal with the PIR code that makes Rakudo go
14:21 jnthn Well, progress...that makes us through the sanity tests again.
14:22 Matt-W Generally a good state to be in
14:22 jnthn And Test.pm isn't epic breakage.
14:27 Lorn joined #perl6
14:34 ruoso I just realized the capture issue wasn't solved yet
14:34 ruoso for those who don't remember, the issue is:
14:34 ruoso "what should a capture return when coerced to a context it doesn't provide a value for?"
14:35 Matt-W undef?
14:35 ruoso Matt-W, that doesn't DWIM
14:36 Matt-W Well if there's no value...
14:36 Matt-W I'm obviously missing lots of subtleties here :)
14:36 ruoso "return 1"
14:36 ruoso that contains a single positional argument
14:36 ruoso the spec says a capture in item context returns the invocan
14:36 ruoso there's no invocant there
14:36 ruoso but that applies to every other context
14:37 Matt-W If there are times when there is no invocant, a capture in item context can never be guarenteed to return the invocant
14:39 Matt-W Problem
14:40 jhorwitz joined #perl6
14:48 ruoso yes... but in order to DWIM, there needs to be exceptions...
14:48 ruoso jhorwitz, hi... I'm writing the SMOP report atm... I think it's the longest ever...
14:48 jhorwitz your previous ones were long....this one's gonna be a book.   :)
14:50 _jedai_ joined #perl6
14:51 alexn_org joined #perl6
14:59 jnthn Oooh...I forgot about lunch, with all the debugging.
15:00 * jnthn is a tad hungry now...bbiab
15:16 [particle] joined #perl6
15:21 ruoso you know... I'm a little worried that the grant took a path so diverse from the planned that we only reach the end when SMOP+Mildew releases 1.0
15:22 ruoso jhorwitz, ^
15:23 ruoso because I planned to implement the prelude in a first-stage language
15:23 ruoso but now we're implementing full Perl 6
15:23 jhorwitz yeah, i mentioned that several months ago, but the benefits (at the time)  outweighed the diversion.
15:24 ruoso well the benefits now still outweight the diversion, I think...
15:25 jhorwitz right -- and we can always tweak the timeline or deliverables to match reality.  maybe we should talk about that...
15:27 cspencer joined #perl6
15:33 Exodist joined #perl6
15:34 ruoso joined #perl6
15:35 * ruoso *sigh* my uplink is closing my connections
15:35 alester joined #perl6
15:36 pmichaud (smop grant) fwiw, as an interested observer, I'm very impressed by what is being accomplished by the grant.  Even if the path has diverted from what is planned, I think it's clear that TPF and the Perl community are getting something very valuable from it.
15:36 ruoso jhorwitz, if we take a look at the original plan
15:36 ruoso we had 1) s1p
15:36 ruoso this is now mildew, which is not a first-stage language... but instead a full Perl 6 implementation
15:36 pmichaud so, I'd be very supportive of recognizing that the plan changed (for the better).
15:36 ruoso 2) the built-in types
15:36 ruoso that is where we are right now
15:36 ruoso but as it's not based on a first-stage language, it's way more complicated
15:37 ruoso 3) AST Types
15:37 ruoso I think that is already implemented by mildew, and we even are a back-end for STD instead of KP6 which is, IMHO, a very important aspect
15:37 ruoso so, the only thing missing from the original plan is the built-in types... but considering we're already doing it in full Perl 6, it means that when the built-in types are ready, we almost have a full Perl 6 implemnetation
15:37 ruoso (missing the grammar engine)
15:37 ruoso in fact, if we take a look at the "deliverables" of the grant proposal
15:37 ruoso "SMOP has already a planned ROADMAP, in which it is very clear where its effort starts to intersect with KP6. The aim of this grant proposal is to take SMOP to the point where it can be effectivelly used as a KP6 backend, as it's marked in point "0.4.4" of the ROADMAP."
15:38 ruoso We're currently effectively used as a STD backend
15:38 ruoso which looks prettier than as a KP6 backend
15:38 jhorwitz indeed
15:39 jhorwitz pmichaud: your sentiments are widely shared.
15:41 |jedai| joined #perl6
15:43 PerlJam ruoso: so just say, "oops, I did too much"  :-)
15:43 jhorwitz ruoso: even with the different path you ended up taking, the results are impressive and as pmichaud said, very valuable to the community.  i wouldn't worry about any issues with the grant.  :)
15:44 pmichaud jhorwitz said what I was trying to say
15:44 pmichaud i.e., I don't think anyone will have issues with the grant.
15:44 pmichaud or its deliverables.
15:44 jhorwitz esp. when the grant manager has no issues.  ;-)
15:48 ruoso ;)
15:50 riffraff joined #perl6
15:50 ruoso jhorwitz, does that mean I can consider the grant as finished?
15:51 |jedai| joined #perl6
15:52 jhorwitz ruoso: i need to take a look at the propsal again and talk w/ ambs.  it's a lot to grok.  :)
15:53 jhorwitz but you're saying that the only missing thing right now is built-in types?
15:53 jhorwitz and that won't be there til 1.0?
15:53 ruoso_ joined #perl6
15:54 ruoso_ jhorwitz, well... the problem is nat it's not "only" the built-in types
15:55 ruoso because it's now a "full typesystem bootstrap"
15:55 ruoso not just the first-stage
15:56 ruoso and that's way more complicated than writing the built-in types in a simplified language
15:57 jan_ joined #perl6
15:57 jhorwitz right
15:57 ruoso for instance...
15:57 ruoso I started with ClassHOW
15:58 ruoso but ClassHOW requires "return"
15:58 ruoso then I wrote "Return"
15:58 ruoso then Return requires "is export"
15:58 ruoso then "is export" requires Multi
15:58 ruoso then I started Multi
15:58 ruoso and Multi got its own requirement
15:59 ruoso if it was a first-stage language, I'd use compiler hacks to make ClassHOW work
16:00 ruoso but it's being compiled as full-featured Perl 6
16:00 TimToady btw, I probably broke mildew last night with STD associativity changes
16:00 jhorwitz oh, well that changes EVERYTHING.  ;-)
16:00 ruoso I saw it in the backlog... still haven't time to test it...
16:00 TimToady in particular, some things changed from left to list associative
16:02 TimToady which may tend to propagate through as api changes from ($a,$b) to (*@args)
16:02 ruoso TimToady, in the meanwhile, have you thought about the capture issue?
16:03 TimToady been thinking about it off and on all along
16:03 TimToady my problem is that the current design seems to want to do contradictory things with item context
16:03 TimToady and I'm not sure we have enough item contexts to carry it off :)
16:03 ruoso for now SMOP only implements the DWIM for no invocant but positionals
16:03 ruoso there are still all the other combinations
16:04 TimToady and I'm wondering how best to break out some of the item functionality
16:04 TimToady maybe a type-based coercion
16:05 TimToady so there are slots that say, if you want this type, this is the value
16:05 ruoso that looks.... complicated...
16:05 TimToady then Str and Int can be set separately
16:05 TimToady and Object could be current result object
16:05 TimToady but it's still a bit blurry
16:05 ruoso TimToady, remember that Capture is a very "delicate" object
16:06 TimToady yes, I know it
16:06 ruoso SMOP still has a native capture
16:06 TimToady but when circumstances are forcing us to do indelicate things with it, I'm not sure what's gonna break
16:06 ruoso which is, at this moment, used for all method invocations
16:07 ruoso TimToady, surprisingly, mildew didn't broke at all
16:07 TimToady huh
16:08 TimToady quick, ship it
16:08 ruoso mildew isn't that fragile at all
16:08 ruoso ;)
16:08 ruoso s/at all/after all/
16:08 ruoso I think you might have preserved the basic VAST structure
16:12 TimToady not really, list assoc comes out a completely different structure than binary ops
16:12 ruoso ah... that's probably because there isn't much of list implementeed
16:13 ruoso foo(1,2,3) is handled specially, because it's a capture
16:13 ruoso mildew: my sub foo($a, $b, $c) { $OUT.print($a.FETCH, $b.FETCH, $c.FETCH) }; foo(1,2,3);
16:13 p6eval mildew: OUTPUT«123»
16:14 ruoso (the FETCH there is because of a bug in $OUT)
16:15 ruoso TimToady, that is why I was considering it would be interesting if STD had capture in itself
16:15 ruoso specially because named arguments become a compiler hack
16:17 TimToady it occurs to me that changing things to list associative might complicate mmd
16:18 TimToady a param of (Foo *@args) doesn't give as much to work with as (Foo $a, Foo $b)
16:19 ruoso TimToady, I don't get it... how that changes foo(1,2,3)?
16:19 ruoso (or am I simply missing the poitn?
16:19 ruoso s/poitn/point/)
16:19 TimToady $a ~ $b ~ $c is now essentially infix:<~>($a,$b,$c)
16:20 ruoso hmm...
16:20 ruoso ok...
16:20 hercynium joined #perl6
16:20 ruoso that indeed makes operator overloading very much complicated
16:22 ruoso except if we assume it works like lisp
16:22 ruoso sub infix:<~> (Foo $a, Foo $b, *@rest)
16:23 ruoso then inside it decides to call infix:<~>($ab, |@rest)
16:24 ruoso it becomes a basic rule that every infix operator needs to take the *@tail
16:24 ruoso and re-invoke with the |@tail
16:24 pmichaud (every list-associative infix operator...)
16:24 ruoso then we also need a infix:<~> (Foo $a)
16:24 TimToady another possibility, mmd just knows that infix implies at least two *@args of the given type
16:24 ruoso that catches the last
16:24 ruoso TimToady, actually...
16:25 TimToady hmm
16:25 ruoso if in the end we have a infix:<~>(Foo $a)
16:25 TimToady [~]
16:26 pmichaud define infix:<~> in terms of [~]?  scary.  :-)
16:26 ruoso I start to like that...
16:26 ruoso if you want to override ~
16:26 ruoso you just need to
16:26 ruoso infix:<~>(Foo $a, *@rest)
16:27 ruoso convert $a to some type handled by other variant
16:27 ruoso and re-call it
16:28 ruoso then if you have
16:28 ruoso 1 ~ 2 ~ Foo.new ~ 3
16:28 ruoso it will be called at some point
16:29 ruoso so that override would be
16:30 ruoso sub infix:<~>(Foo $a, *@rest) { return [~] $a.my_conversion, @rest }
16:30 pmichaud interestingly, that means that the concatenations tend to occur right-to-left, though.
16:31 ruoso does it?
16:31 pmichaud if I have  [~] 'a', Foo.new, 'b', 'c'
16:31 TimToady yes, type determination on the way down, concat on teh way up
16:31 ruoso right right
16:31 ruoso got it
16:31 ruoso is that bad?
16:31 |jedai| joined #perl6
16:32 TimToady p5 has to go to pains to optimize binary concat to avoid multiple allocations
16:32 ruoso the interesting is that you might even provide some shortcuts
16:32 pmichaud it someone goes against the notion whereby we've thought of concatenation as primarily left-associative.  Whether that's bad or not... I don't know.
16:32 ruoso sub infix:<~>(Str $a, Str $b, Str $c)...
16:32 pmichaud *it somewhat
16:33 TimToady I think it actually turns $a . $b . $c into a join('',$a,$b,$c), effectively
16:33 ruoso TimToady, I think you meant $a ~ $b ~ $c
16:33 TimToady I was speaking p5
16:33 ruoso ah... right
16:35 ruoso the only problem is that at some point we decided that the type in slurpy arguments is just a promess
16:35 ruoso to avoid eagerly evaluating input in signature matching
16:35 schmalbe joined #perl6
16:36 ruoso so, in order to be mmd-aware, the signature always need to list the parameters explicitly
16:36 stephenlb joined #perl6
16:36 TimToady makes me think we want +@args to go with *@args
16:36 ruoso +@args?
16:36 TimToady at least on Foo arg
16:36 TimToady *one
16:37 ruoso right
16:37 TimToady but it's kind silly if the code is always going to be shifting $a off anyway
16:38 ruoso TimToady, :(Foo +@args) could ensure the first argument is of the given type
16:38 TimToady that was what I was thinking
16:38 ruoso but it doesn't apply to list-infix
16:39 ruoso because indeed, you'll be shifting it anyway
16:40 ruoso anyway... I like the idea of stealing yet another concept from functional programming
16:40 * ruoso leaving for a meeting &
16:40 |jedai| joined #perl6
16:46 vixey joined #Perl6
16:50 rakudo_svn r35633 | pmichaud++ | [rakudo]:  Require arguments to &foo to be callable.
16:52 justatheory joined #perl6
16:55 pdcawley joined #perl6
16:58 rindolf joined #perl6
16:58 rindolf Hi all.
17:01 jnthn hi
17:03 rindolf jnthn: what's up?
17:04 jnthn Not so much. Just busy Rakudo hacking. :-)
17:05 rindolf jnthn: OK.
17:05 rindolf jnthn: are line numbers implemented yet?
17:05 jnthn rindolf: The Parrot changes needed for them pretty much are.
17:05 pmichaud PGE changes are next for that.
17:05 jnthn rindolf: However, still waiting on some PGE refactors.
17:05 pmichaud then PCT changes.
17:06 jnthn pmichaud: How's the timescale looking on thoes? I guess after the next relesae now?
17:06 pmichaud with some minor speed penalty I might be able to do the PCT changes first.
17:06 pmichaud jnthn: definitely after next release.  I have to get infrastructure issues resolved -- and that really needs to happen before Jan 26.
17:06 pmichaud since infrastructure issues also include "how does one build Rakudo...", that's a bit of an imposing deadline.
17:07 jnthn Yes.
17:07 pmichaud (and we really can't do anything official until after Jan 20)
17:07 jnthn Ah, *crap*.
17:07 jnthn Just when I think I've fixed all the spectests up...
17:09 eric256 joined #perl6
17:09 * eric256 finaly got his home office setup ;)
17:11 pmichaud home offices are nice.  :-)
17:11 jnthn Indeed. :-)
17:12 pmichaud I really like my office -- custom-designed my desk and everything.  :-)
17:12 eric256 yea right now i've got our first kitchen table as my desk, but the plan is to find/make the perfect desk later
17:13 eric256 trying to figure out how to incorporate my HO trains with my desk ;)
17:13 pmichaud eric256: we made my desk out of kitchen cabinets :-)
17:13 pmichaud (okay, they were desk cabinet pieces from a kitchen cabinet company)
17:13 eric256 pmichaud++ cool
17:14 * jnthn doesn't have anything so special as that, but he does have a view out of the window. :-)
17:14 eric256 we will eventualy make our own kitchen cabinets and everything. wife and i love wood working, and shes an artist so it makes things interesting
17:14 pmichaud yes, my desk was a birthday gift from my wife (who loves me _very_ much :-)
17:15 pdcawley joined #perl6
17:15 pmichaud (yes, it's mutual.)
17:15 eric256 hehe. my wife does all the crafty stuff, but i found a modular system designed for workshops i want to get her to adapt for the kitchen.
17:15 eric256 fully rearrangable kitchen would be pretty cool
17:16 pmichaud I should take pictures and write an article about my office setup.  :-)
17:16 eric256 its been about 5 years since i had my own desk at home so i'm pretty excited, and i don't just get a desk i get a whole room lol
17:21 jnthn .oO(plz plz let this spectest run come back clean)
17:24 * eric256 gits November to take a peak
17:24 eric256 did you still need help with the errors on it masak?
17:28 [particle]1 joined #perl6
17:29 araujo joined #perl6
17:30 rakudo_svn r35634 | bernhard++ | [codingstd] trailing_space.t
17:37 jnthn If anyone's not gainfully employed, may last ci to Rakudo (be sure to updated your Parrot too) made a bunch of todo's tests pass (ones that check retrun value of .WHAT to see we get Sub, Method, etc instead of just Block).
17:39 jnthn pmichaud: Is there an easy way to get regex subs a loadinit? I'm guessing not...
17:39 eric256 is there anyway to t get the "too few arguments passed" error to mention the medhot/function being called?
17:40 rakudo_svn r35637 | jonathan++ | [rakudo] Re-bless Parrot subs into Block, (Perl6)Sub or Method, so .WHAT answers correctly on them.
17:40 jnthn eric256: Maybe - that message comes from within Parrot guts.
17:40 eric256 okay i'll grep for it
17:41 eric256 since we don't have line numbers that would help
17:41 jnthn Yes.
17:41 * eric256 starts a donation fund for line numbers ;)
17:41 jnthn eric256: Half the work for them has been done already, at least. :-)
17:41 eric256 yea!
17:41 jnthn Shouldn't be too long to 'em now. :-)
17:55 pmichaud jnthn: regexes are likely to get a loadinit as part of PGE stuff anyway.
17:55 pmichaud but since a regex currently returns a PAST::Block already.... perhaps .loadinit already works?
17:55 jnthn pmichaud: Ooh, actually I didn't try it, just thought it probably wouldn't work. Hmm.
17:55 jnthn :-)
17:55 pmichaud want me to try?
17:55 jnthn Go for it!
17:55 pmichaud since I'm familiar with the regex code.
17:56 pmichaud (and I can easily fix PGE if an easy fix is all that is needed)
17:56 pmichaud okay, working.
17:56 jnthn The whole reason I did this pile of "fun" is that I can bless submethod into Submethod.
17:56 pmichaud that would be really nice, so that we can get smart matches correct.
17:56 jnthn So I don't need a nasty hack that I have to replace later.
17:56 * pmichaud svn ups, rebuilds, prays.
17:56 jnthn Since doing submethod is on my Hague task list.
17:57 jnthn pmichaud: Be sure to get latest Parrot.
17:57 pmichaud I always do.
17:57 jnthn :-)
17:57 meppl good night
17:57 pmichaud I probably do realclean; rebuild at least a half-dozen times per day.
17:57 pmichaud fortunately that doesn't take long on my machine.
17:58 * pmichaud snickers loudly at Vonage's "come back to us, we'll give you two free months" offer
17:58 jnthn pmichaud: Did you have a test-case the other day on NCI stuff where the invocant was not deref'd and it woulda been good if it were?
17:58 jnthn Or something like that?
17:59 pmichaud I don't have a test case, but much of the NCI stuff has that issue.
17:59 * jnthn remembers *some* discussion on something like this
17:59 jnthn Was it just the invocant at issue?
17:59 pmichaud no, the arguments also.
17:59 jnthn Or the params too?
17:59 jnthn Ah.
17:59 pmichaud I don't think we can _quite_ do anything about that yet, because some of the builtins still need the objectref.
17:59 jnthn Ah.
18:00 pmichaud although I suppose we could prioritize those builtins, or give them signatures.
18:00 jnthn Or I could test if I'm calling an NCI... ;-)
18:00 rakudo_svn r35638 | jonathan++ | [rakudo] Parse submethods and bless them into the Submethod class (also added here). Don't do the correct dispatch on them yet.
18:00 pmichaud oh, that also.
18:00 pmichaud Andy:  when I'm asked to approve a comment on rakudo.org, why does the link come up with "theworkinggeek.com"?
18:01 jnthn I'm just about to try a refactor so that $foo.bar(...) actually does $foo.^dispatch('bar', ...)
18:01 pmichaud jnthn: seems reasonable.
18:02 jnthn We are a step closer to the HOW API then.
18:02 jnthn However, we then have to walk the parents ourself.
18:03 jnthn Which'd hit performance a little. But we can also make ourselves a little cache. :-)
18:03 jnthn (But not in the first cut.)
18:03 alester I don't know.
18:03 pmichaud we can't do a "find_method" to let parrot walk the parents for us?
18:03 jnthn No because it won't ignore submethods.
18:03 alester pmichaud: They all run off the same MT.
18:04 pmichaud alester: okay.  What's the prognosis for switching rakudo.org to drupal or something else?
18:04 alester Do you not like the MT?
18:04 alester Will there be people taking advantage of an update?
18:04 jnthn I for one will.
18:04 pmichaud not really -- at least from what I've seen the MT is primarily aimed for blog-type posting and not information-type ones.
18:05 pmichaud we really need www.rakudo.org to be more of a "here's what rakudo is, how to get it, where to find it, faq, etc." type of resource
18:05 pmichaud (that is, if www.rakudo.org is to be the main rakudo site)
18:06 pmichaud yes, I suspect we have a number of people who would help quickly populate a new site with content -- especially if there's a way for us to hand out some "commit bits" for it.
18:08 aindilis` joined #perl6
18:08 bsdperl joined #perl6
18:09 pmichaud alester: if this is all something you'd rather not commit your resources to, we can find alternate venues.  I'm not pushing one way or another (yet), but we are getting to a point where we'll want to make some decisions relatively soon.
18:09 alester I'd love to commit resources to it.
18:10 alester I want to make sure that there's going to be users for it, and I'm not setting up another blog in a different kitchen.
18:10 alester But from what you say, it sounds like there will be.
18:10 pmichaud oh yes, I think I can guarantee that.
18:10 alester I'm just doing standard project request pushback. :-)
18:10 pmichaud Rakudo really needs a site of its own.  doing it on rakudo.org is the logical place for it.
18:11 pmichaud the other logical places are perl.org or another domain such as rakudoperl.org, but perl.org isn't always convenient and since rakudo.org is already established (and the simplest name) it seems like the best immediate choice.
18:11 jnthn Agree.
18:12 pmichaud we're also not committed to drupal as an option -- it's only come up because you've mentioned it and a few of us have seen it in use for parrot.org.
18:12 jnthn rakudo.org is the place I've tended to point people at so far.
18:12 pmichaud we just know that MT isn't quite working for us, at least in its current incarnation.
18:12 pmichaud so if there are other options besides drupal, we can entertain those as well.
18:19 jnthn pmichaud: How far are we off supporting s/a/b/ substitution syntax?
18:20 jnthn (As in, does it have a dependency on LTM or protoregexen?)
18:20 jnthn ("don't know, you look" is a fine answer too :-))
18:20 pmichaud jnthn: I hadn't really thought about it much.
18:21 pmichaud I figure that .subst is a reasonable substitute for now.
18:21 pmichaud Or, in other words:   s{ s/a/b/ }{ .subst(/a/, 'b') }
18:22 jnthn That works now?
18:22 jnthn OK.
18:22 jnthn Basically on my Hague grant I put that I'd finish up handles
18:22 pmichaud rakudo:  say 'hello'.subst( /l/, 'x');
18:22 p6eval rakudo 35638: OUTPUT«hexlo␤»
18:22 jnthn Including the fun that is has $.fur handles (s/^furget_/get_/);
18:22 pmichaud rakudo:  say 'hello'.subst( /l/, 'x', :global);
18:22 p6eval rakudo 35638: OUTPUT«hexxo␤»
18:22 pmichaud rakudo:  say 'hello'.subst( /l/, { .ord }, :global);
18:22 p6eval rakudo 35638: OUTPUT«he108108o␤»
18:23 jnthn OK, so we certainly have the functionality, it's "just" a matter of syntax.
18:23 pmichaud not completely
18:23 pmichaud we don't have    s[pattern] = foo();
18:24 jnthn Ah, true.
18:24 pmichaud that might not matter for handles, though.
18:24 jnthn No, mabye not.
18:24 jnthn *maybe
18:24 pmichaud so yes, at this point it's _mostly_ a matter of syntax.
18:24 Lorn joined #perl6
18:25 pmichaud also the .subst method needs some refactoring -- its option handling isn't quite right.
18:25 jnthn rakudo: say 'hello'.subst(/will nee match/, 42)
18:25 p6eval rakudo 35638: OUTPUT«hello␤»
18:25 pmichaud I'd prefer to see it written in terms of .match
18:25 jnthn rakudo: my $x = 'hello'; say $x.subst(/will nee match/, 42); say $x;
18:25 p6eval rakudo 35638: OUTPUT«hello␤hello␤»
18:25 jnthn rakudo: my $x = 'hello'; say $x.subst(/l/, 42); say $x;
18:26 p6eval rakudo 35638: OUTPUT«he42lo␤hello␤»
18:26 jnthn rakudo: my $x = 'hello'; say $x.subst(/l/, 42).Bool; say $x;
18:26 p6eval rakudo 35638: OUTPUT«Method 'Bool' not found for invocant of class 'String'␤current instr.: '_block14' pc 107 (EVAL_16:51)␤»
18:26 pmichaud masak has beaten you to the easy ones, I bet.  :-)
18:26 jnthn :-P
18:26 mncharity joined #perl6
18:26 jnthn pmichaud: I was wondering if there is a way to know, when doing a subst, if we did match.
18:26 jnthn As well as a way to get the result.
18:26 jnthn Oh, check $/ mabye?
18:27 pmichaud yes, that probably works.
18:27 jnthn rakudo: my $x = 'hello'; say $x.subst(/l/, 42).Bool; say $x; say $/;
18:27 p6eval rakudo 35638: OUTPUT«Method 'Bool' not found for invocant of class 'String'␤current instr.: '_block14' pc 107 (EVAL_17:51)␤»
18:27 jnthn rakudo: my $x = 'hello'; say $x.subst(/l/, 42); say $x; say $/;
18:27 p6eval rakudo 35638: OUTPUT«he42lo␤hello␤l␤»
18:27 jnthn rakudo: my $x = 'hello'; say $x.subst(/neeee/, 42); say $x; say $/;
18:27 p6eval rakudo 35638: OUTPUT«hello␤hello␤Use of uninitialized value␤␤»
18:27 jnthn woo
18:27 jnthn ftw
18:28 alester pmichaud: I'm all for the Drupalization
18:28 pmichaud alester: when would you be able to make it happen?
18:28 alester it will also be a good test-bed for theworkinggeek which I'm going to dump tons of content into aswell.
18:28 alester pmichaud: When do you want it to happen?
18:28 pmichaud good question.
18:28 alester no need to bust my ass for no reason.
18:28 alester it's lunch time here
18:29 alester let's discuss later.
18:29 pmichaud yes, let's.  I'm thinking early next week.
18:29 alester I would LOVE
18:29 pmichaud (for when it would happen)
18:29 jnthn We could just bust your ass for the fun of it. ;-)
18:29 alester to have it ready for Frozen Perl
18:29 pmichaud I want it ready long before then.  :-)
18:29 alester because one of the things that I want to talk about in my keynote is that the Only Thing That Matters is getting Rakudo out.
18:29 pmichaud I look forward to seeing that talk :-)
18:30 alester The other Only Thing That Matters is keeping Perl 5 going.
18:30 alester you gonna be there, Patrick?
18:30 pmichaud yes.
18:30 alester Oh right
18:30 alester I am signed up for one of your talks.
18:30 alester ok
18:30 alester lunch time;.
18:30 alester smoochies everyone.
18:30 pmichaud let's discuss drupal timing later, yes.
18:31 jnthn pmichaud: I wouldn't object to having it before my first workshop of the year. :-)
18:31 jnthn As in, would rather like to have it by... :-)
18:34 pmichaud jnthn: when's that?
18:35 jnthn 31st
18:35 jnthn (Jan)
18:35 Casan joined #perl6
18:35 pmichaud yes, that's along the time scale I'm considering.
18:36 pmichaud I'm actually thinking that we may declare next week the "everything breaks" week.
18:36 mncharity TimToady: I note  cd src/perl6/; make  seems to have gotten slower.   ./tryfile STD.pm  just took 4:30.  My fuzzy impression is that's a small integer factor or perhaps 10x slowdown.  A 5 minute edit-test cycle on STD.pm changes seems problematic.
18:37 mncharity But I've not double checked it, and I had an OS upgrade, so perhaps I'm just confused.
18:37 jnthn pmichaud: Sheesh, you tell me that after I've spent this week carefully not breaking everything putting in parametric roles and refactoring dispatch. :-P
18:37 pmichaud oh, I meant breaks in terms of infrastructure, not code :-)
18:37 jnthn ;-)
18:38 jnthn OK, how epic fail is this dispatcher going to be...
18:39 TimToady mncharity: what you're noticing is that bare make didn't used to do tryfile STD.pm
18:39 TimToady it does now to force rebuilding of baseline lexers
18:39 |jedai| joined #perl6
18:40 Topic for #perl6is now http://pugscode.org/ http://planetsix.perl.org/ | nopaste: http://sial.org/pbot/perl6 | evalbot: perl6: say 3; (or rakudo:, pugs:, elf:, etc) | irclog: http://irc.pugscode.org/ | ~340 days 'til Xmas
18:40 TimToady but tryfile STD.pm still runs about the same speed as it did, at least on my machine
18:42 mncharity ah, ok.  thanks.
18:45 eric256 rakudo doesn't automaticaly use a .pm even if its newer than the .pir?  is there going to be like a "compile needed modules" type option? or re-compile on demand?
18:45 pmichaud eric256: we haven't addressed those issues yet.
18:45 mncharity TimToady: would it be plausible to add a  make fast  target which doesn't do lex/STD/termish?
18:46 pmichaud "recompile on demand" somewhat assumes write permission to the needed files.  That doesn't always exist.
18:46 pmichaud or, put another way, "recompile on demand" is really "use the .pm file"
18:47 pmichaud there are also a number of issues surrounding selecting which .pm file to use, if there are multiple versions of the same module.
18:48 pmichaud so, let's just say it's a thorny issue that hasn't been a top priority as yet :-)
18:49 Psyche^ joined #perl6
18:49 tux300181 joined #perl6
18:50 eric256 lol okay
18:50 eric256 just through me off with november i did make, then modified a .pm and nothing happened. lol
18:51 eric256 is there a command line option for compiling modules? or do i just follow the syntax used in the make file?
18:51 pmichaud jnthn: what's the purpose of           $block<block_class_type>[1] := $type;
18:51 pmichaud ?
18:51 * eric256 pictures local user cache for compilation with write-ability) but thats definitly not at the top of the list
18:52 jnthn pmichaud: We set the block type to Block initially.
18:52 pmichaud jnthn: where does that happen?  and why  [1] ?
18:52 jnthn pmichaud: But later we may discover it actually wants to be Sub or Method or etc.
18:52 pmichaud oh, I see
18:52 pmichaud it's the node.
18:52 jnthn Right.
18:52 jnthn I didn't want to have to go digging or making assumptions about the structure of the block.
18:53 jnthn So I set it as a <foo>
18:53 pmichaud I definitely agree there.
18:53 pmichaud it's fine -- just didn't understand it at first.
18:53 jnthn If you can see a nice way not to set it wrong in the first place, I'm happy to do that. But I didn't think of one.
18:53 pmichaud maybe we should put _node as a marker for things that are references to PAST::* nodes
18:53 pmichaud i.e.,  <block_class_type_node>
18:54 pmichaud I'll think about it some.
18:54 pmichaud it's fine as is for now though, now that I understand it.
18:55 pmichaud oh dear.  Looks like getting regexes to be Regex might now be a one line change.  :-D
18:55 jnthn :-D
18:55 jnthn pmichaud++
18:55 eric256 any idea what "too few arguments passed (0) - 2 params expected" would mean if the line throwing it is a call to match a grammar?
18:55 jnthn Yes.
18:55 pmichaud how are you matching the grammar?
18:55 jnthn That you're not supposed to do it like that. :-)
18:56 * pmichaud prepares the buzzer....
18:56 eric256 http://github.com/eric256/november/blob/561dee8876cdbbfd00702deac14d21219900069a/p6w/URI/Grammar.pm that grammar
18:56 eric256 $c_str ~~ URI::Grammar::TOP;
18:56 pmichaud BZZZZT!
18:56 PerlJam eric256: you want some // and some <> in there
18:56 jnthn /<URI::Grammar::TOP>/
18:56 pmichaud actually, it's likely to become  URI::Grammar.parse($c_str)   later today.
18:57 PerlJam does the spec mandate that .parse() always starts at TOP ?
18:57 pmichaud if defined, otherwise the first declared rule.
18:57 pmichaud or something like that.
18:57 pmichaud (.parse will currently implement that it uses .TOP, because that's easiest for now.)
18:58 jnthn Ouch! You don't get much info on where the bug is, when you manage to make NQP crash inside PAST::Compiler...
18:59 eric256 okay
18:59 eric256 fixed that error, its my first look at the November code at all...off i go to the next
19:00 eric256 took 30 minutes just to find the peice of code ;( lol
19:03 pmichaud jnthn: improving NQP stuff is on my ever-growing list of things to work on :0|
19:03 jnthn pmichaud: Found it.
19:03 jnthn pmichaud: $past.name() := "foo"; # duh!
19:04 jnthn Dies in PAST::Compiler with "rtype not set"
19:04 pmichaud then the error message said exactly what was wrong.  :-)
19:04 pmichaud just didn't say where.
19:04 jnthn :-P
19:04 pmichaud annotations should help that.
19:04 pmichaud oh wait, that's me.  Another item on my ever-growing list of things to work on :-|
19:07 PerlJam pm: find more delegates
19:09 braceta left #perl6
19:14 pmichaud PerlJam: want to work on NQP?  ;-)
19:14 pbuetow joined #perl6
19:14 pmichaud oooh, time to put in my deprecation notice.
19:14 PerlJam pm: I *want* to work on lots of things ... therein lies the problem.
19:15 PerlJam (NQP fall firmly within my areas of interest)
19:15 PerlJam s/fall/falls/
19:16 |jedai| joined #perl6
19:19 cognominal joined #perl6
19:34 riffraff joined #perl6
19:35 pugs_svn r24930 | putter++ | [STD] Added  make fast  target - like make all, but doesn't ./tryfile STD.pm .
19:36 _jedai_ joined #perl6
19:41 aindilis joined #perl6
19:43 pugs_svn r24931 | putter++ | [elfparse] Set make target known_working_STD (to r24775), as elfparse isn't quite working with the current STD.pm.
19:46 mncharity ah well, more regression debugging another time.
19:49 [particle] joined #perl6
19:51 silug joined #perl6
20:02 |jedai| joined #perl6
20:05 eric256 okay. i have a failed match. but $/ ~~ Failure returns 0 and $/<path><chunk>  gives me "Method 'postcircumfix:{ }' not found for invocant of class 'Failure'"  since it said the invocant is Failure i thought ~~ would work...
20:11 athenot joined #perl6
20:19 ruoso joined #perl6
20:32 jnthn OK, that's Rakudo's dispatcher refactored, more HOW API compliance and should be submethods working too. Think that'll do me for the day. Time to go cook dinner. :-)
20:34 Matt-W jnthn: enjoy your dinner. I think you've earned it
20:37 Matt-W eek
20:37 Matt-W parrot no build!
20:38 nnunley joined #perl6
20:38 jnthn Sadly, the submethods.t tests all rely on lexicals being visible in classes that were declared outside of 'em. :-|
20:38 jnthn Matt-W: Oh? Where is fail?
20:38 Matt-W Invoking Parrot to generate runtime/parrot/include/config.fpmc --cross your fingers
20:38 Matt-W ./miniparrot config_lib.pasm > runtime/parrot/include/config.fpmc
20:39 Matt-W /bin/sh: line 1:  5123 Segmentation fault      ./miniparrot config_lib.pasm > runtime/parrot/include/config.fpmc
20:39 Matt-W make: *** [runtime/parrot/include/config.fpmc] Error 139
20:39 Matt-W I had just done svn up; make realclean; Configure.pl; make perl6
20:40 rakudo_svn r35645 | jonathan++ | [rakudo] Refactor dispatch. This now calls .HOW.dispatch, where we have a custom dispatcher, which will be filled out with more functionality in the future. Contains support for submethods, which appears to work (need to find/enable/write some spectests).
20:46 jnthn Ouch.
20:47 jnthn miniparrot segfaulting is...very bad.
20:47 jnthn :-|
20:47 jnthn Matt-W: What platform?
20:47 pugs_svn r24932 | putter++ | elfblue now works with current STD.pm.
20:47 pugs_svn r24932 | putter++ | [elf_h] Handle emit of infix ops with >2 arguments, in support of elfblue.
20:47 pugs_svn r24932 | putter++ | [STD_red] Defer require()ing readline until a repl is (rarely) requested, simplifying non-debian install.
20:47 pugs_svn r24932 | putter++ | [elfparse]  Drop nodes.pm (created by nodes_create.pl) from source control, to avoid a make gotcha.
20:50 Matt-W jnthn: x86_64 linux
20:51 jnthn Ah.
20:51 jnthn Matt-W: Asking about it in #parrot
20:51 Matt-W Should I drop in there as well?
20:52 jnthn If you like - it's probably more of an on-topic channel for Parrot than this one, or there's more people who are clueful.
20:52 Matt-W Is it on freenode?
20:53 jnthn no
20:53 jnthn Wherever irc.perl.org goes. :-)
20:53 jnthn However
20:53 jnthn https://trac.parrot.org/parrot/ticket/179
20:53 jnthn Also
20:53 jnthn 21:53 <@chromatic> jonathan, Allison ran into that yesterday.
20:53 jnthn 21:53 <@chromatic> Something in scheduler initialization.
20:53 jnthn Seems x86 64 specific. :-(
20:53 Matt-W Fantastic, not just me then
20:53 jnthn No, not at all.
20:54 Matt-W I guess I'll just have to wait until it's fixed then
20:54 Matt-W Thanks for following that up
20:57 jnthn np
20:59 perl7 joined #perl6
21:00 ejs joined #perl6
21:03 masak joined #perl6
21:05 Lorn joined #perl6
21:06 spx2 joined #perl6
21:12 * masak makes a mental note to put .i into Num in S29
21:17 km2 joined #perl6
21:20 masak can I type an array parameter to a sub or method?
21:22 masak something like sub foo(Array[Str] strings) { ... }
21:22 masak er, @strings
21:23 brunoV joined #perl6
21:25 PerlJam masak: what is that to mean?  Like "Array of Str"?  or something else?
21:26 masak PerlJam: yes... I don't know if I got the syntax right.
21:26 PerlJam Because it sounds like you're looking for sub foo (Str @array) { ... }
21:26 masak PerlJam: oh, right. yes.
21:26 masak ok, followup question:
21:27 masak what happens when I send an untyped array, consisting solely of Str objects, to &foo?
21:31 jnthn masak: My dinner is ready, but catch me on that a little later. :-)
21:31 masak jnthn: oki. if I'm awake by then.
21:32 masak jnthn: dobru chut.
21:35 pugs_svn r24933 | putter++ | [STD_red] The dump1 code for lisp was failing (ruby string encoding error) on the elf_h source's recently added string '$¢'.  Fixed.  elfish/on_sbcl's CL elf can again compile a P5 elf (though it remains not-quite correct).
21:38 pina joined #perl6
21:38 pina erm what is the output for perl -e"print qq^;@)\!\^^^qq^Y/[D:?\xa^"
21:38 thepler joined #perl6
21:38 On_Office joined #perl6
21:38 PerlJam masak: at a guess, I'd say that it would work unless you sent it an array that had an element that did not provide a Str representation.
21:38 spx2_ joined #perl6
21:39 masak PerlJam: ok.
21:39 masak so there are no compile-time vs run-time types involved or anything?
21:39 pina is there anything wrong with that oneline
21:39 pina onliner
21:40 pina one liner
21:41 On_Office hmmmm
21:41 On_Office you need to do:
21:41 On_Office /mode #perl6 +t
21:42 |jedai| joined #perl6
21:42 pina what?
21:42 On_Office I mean an op needs to do it.
21:43 On_Office Otherwise some kids may abuse it. topicsfloods or just topicsheadaches
21:43 pina oh ok
21:44 pina thought you were referring to my question:)
21:44 On_Office :)
21:44 On_Office But most kids are probably on #php so i guess there is no need to worry :)
21:45 On_Office no, i am still learning perl6, to see how or in what may i can get involved and maybe help. Many things to learn.
21:45 masak pina: you should perhaps ask on a non-Perl6-specific channel
21:45 pina oh ok
21:46 masak On_Office: check out November! :)
21:46 PerlJam pina: try #perl or #perlhelp
21:46 pina k
21:46 On_Office #perlhelp is empty
21:47 masak #perlhelp at irc.perl.org, perhaps?
21:47 On_Office 2009? or 2019? :)
21:47 masak On_Office: http://github.com/viklund/november
21:48 masak 2009.
21:48 masak today.
21:48 On_Office Anything before 2012 is ok, then..
21:48 On_Office thanks
21:49 On_Office yes, i wrote about this one in slashdot.org  something about versioning change to git.
21:49 masak On_Office: not sure I follow. which versioning change?
21:50 On_Office will look for the article,
21:50 masak much appreciated.
21:50 masak oh! you probably mean Perl 5.
21:51 masak On_Office: we're a bit futuristic here, so some of us have been using git longer than that. :)
21:51 On_Office ops, yes my mistake: http://developers.slashdot.org/article.pl?sid=09%2F01%2F04%2F1610256&amp;from=rss
21:51 masak On_Office: no problem. :)
21:52 * On_Office must admit complete ignorance, he is here to learn.
21:52 masak On_Office: that's a good state of mind to start with. :)
21:52 masak On_Office: do you have Parrot yet?
21:53 On_Office not yet
21:53 masak On_Office: when you do, you'll be able to compile Rakudo and play the ASCII board game I wrote.
21:54 masak it might be a nice way to get motivated and get started.
21:54 PerlJam What's a good project to do with November?  Is there some feature it really needs?
21:54 Whiteknight joined #perl6
21:55 On_Office ASCII board game. Sounds interesting! Right now, I am dependent on dreamhost (like to do testing online). Maybe I can ask them to add parrot.
21:55 PerlJam On_Office: you don't have a desktop machine?
21:56 * On_Office can help with this: security (42 years of expirience in breaking anything-YES ANYTHING), and testing with his CMS project which has nearly 7000 [sleeping] users.
21:57 ejs left #perl6
21:58 On_Office Yes, I have but we moved to a new appartment so knoiw life is a mess, 2 offices and 2 appartments with laptops and harddisks moving around, and no time to install ubentu yet.
21:58 PerlJam parrot runs on windows
21:58 On_Office Sounds like a crime.
21:59 PerlJam On_Office: If I'm stuck on windows for whatever reason, i'd like to have ready access to perl.   Running parrot on windows means I can even get perl6 if I want to.
22:00 On_Office Is it better then Perl5 on windows?
22:01 PerlJam perl6 isn't finished yet.
22:01 PerlJam So, it depends on how you define "better"
22:01 jnthn masak: I'm back.
22:01 On_Office Security.
22:01 On_Office Stability too.
22:02 masak jnthn: cool. same question again, then.
22:02 masak On_Office: we're not quite there yet. but Perl 6 is already good in some ways.
22:03 On_Office Will install nix and try the real thing, within 2 weeks. What % is done so far?
22:04 masak On_Office: with buildings and bridges, that is easy to answer.
22:04 jnthn masak: OK.
22:04 masak with the first ever implementation of a language spec, not so easy.
22:04 jnthn So on arrays
22:05 masak yes.
22:05 On_Office Asked one of the admins on DreamHost to add Parrot this is answer: "Pieces of eight, pieces of eight, squawkkk." lol
22:05 pmurias joined #perl6
22:05 PerlJam masak: you should read "Dreaming in Code"
22:05 jnthn So my current understanding is that it'll be like
22:05 masak PerlJam: I am.
22:05 jnthn role Array[$of = Object] { ... }
22:05 jnthn Array here is the implementation type.
22:05 jnthn my $x is Array;
22:06 masak uh huh.
22:06 jnthn Or rather my @a is Array; too :-)
22:06 PerlJam masak: oh.  Read the last few pages where Scott gets back to the comparison of bridges to software development.
22:06 PerlJam :-)
22:06 masak PerlJam: haven't gotten that far yet. :)
22:06 jnthn You could pass a parameter.
22:06 jnthn my $x is Array[Int];
22:06 |jedai| joined #perl6
22:06 jnthn This is the same as
22:06 jnthn argh
22:06 jnthn my @x is Array[Int]; # I meant
22:07 jnthn my Int @x;
22:07 masak same as 'argh'? :)
22:07 jnthn :-P
22:07 jnthn so if you write
22:07 masak when you're about to die, you don't write 'argh' on the wall...
22:07 jnthn sub foo(Int @x) { ... }
22:07 On_Office It would be interesting to get dreamhost to test it, they are both large and Perl based.
22:07 jnthn You're asking for an array whose elements are Int.
22:07 PerlJam masak: the punch line is that the bridge he was talking about earlier is still being "built" a quarter of a century after it started and because of circumstance, even though some of it is built, no one can say what % is complete.
22:08 masak PerlJam: 'xactly.
22:08 jnthn If you write sub foo(Array of Int @x) { ... }
22:08 pmichaud rt.perl.org gets another -1 vote from me  :-(
22:08 PerlJam so, it's not as easy to give a % for bridges or buildings or software.
22:08 jnthn You're wanting something that is an Array whose elements are Arrays of Int.
22:08 masak jnthn: ok, but that is not my question. I'd forgotten the syntax.
22:09 jnthn Yes, I'm getting there. Just wanted to get those bits clear.
22:09 jnthn :-)
22:09 masak goodie.
22:09 jnthn So as I understand it, what you're asking is what happens in:
22:09 masak I'm in a hurry, I'm running on battery :)
22:09 jnthn my @x = 1,2,3,4;
22:09 jnthn sub foo(Int @a) { ... }
22:09 jnthn foo(@x)
22:09 masak yes.
22:09 jnthn Since @x wasn't declared as an array of Int.
22:09 masak right.
22:09 jnthn I would *expect* this to suceed.
22:10 rakudo_svn r35651 | pmichaud++ | [rakudo]: Change Grammar.ACCEPTS to Grammar.parse.
22:10 [particle]1 joined #perl6
22:10 PerlJam jnthn: would you also expect  my @x = <1 2 foo bar 3 4>;  foo(@x); to succeed?
22:10 masak jnthn: how? scanning the array?
22:10 jnthn However, obviously what is passed doesn't (as far as it's declared) do Array[Int]
22:10 jnthn So yes, we'd need to actually scan the array in that case.
22:11 masak jnthn: what if it's infinite? :)
22:11 * masak grins evilly
22:11 jnthn You're screwed.
22:11 jnthn ?
22:11 jnthn ;-)
22:11 PerlJam maybe it could fail lazily?  :)
22:11 masak haha
22:11 jnthn lol
22:12 jnthn masak: The bigger point in all this though, is that parameterized roles will want a way of suceeding a smartmatch (e.g. a type-check against them) non-nominally.
22:12 jnthn As in, not just by the delcared name/type parameters.
22:12 pmichaud (non-nominally == "without eating them all"?  ;-)
22:12 jnthn We need a generic way to do that really, I don't fancy having our built-in types as some special case.
22:13 masak pmichaud: :D
22:13 jnthn So I'm pondering a "will typecheck { ... }" trait at the moment. But, need to ponder it a bit more.
22:13 jnthn Anyway, I plan to put such musings into an S14, mark them REVIEW or CONJECTURAL or something and see what folks think. :-)
22:14 masak sounds good.
22:14 masak ok, heading home now.
22:14 masak see you all tomorrow.
22:14 jnthn have a good evening/night
22:16 jnthn pmichaud: In the case of a lazy list, that was a rather insightful comment ;-)
22:16 pmichaud jnthn: I meant it that way :-)
22:17 pmichaud (as in, I intended both meanings :-)
22:17 jnthn lol
22:17 jnthn win
22:17 * jnthn is still behind on his hague grant
22:17 jnthn But a lot less behind than I was at the start of the week.
22:17 pmichaud your not as far behind as I am :-|
22:17 pmichaud *you're
22:18 jnthn You have the disadvantage of (a) having had a lot of other stuff that really needed sorting out and (b) having a really hard set of tasks.
22:18 Matt-W You have both done so much really impressive work
22:18 pmichaud and also some somewhat unexpected schedule changes, such as repository moves.
22:19 pmichaud yeah, I don't fault myself too much for being behind on the grant, but it does mean the $$$ comes later.
22:19 pmichaud (as in "shows up later")
22:19 jnthn Yes.
22:19 jnthn Hindsight is also 20/20.
22:20 PerlJam Matt-W: here's how it typically happens ... "I'm so behind"  <2 days later> "okay, I finally got caught up and have finished my work and done these 4 other things that were slated for the future"  ;-)
22:20 Matt-W PerlJam: I can live with that
22:33 pugs_svn r24934 | hinrik++ | [util/perl6.vim] Made a few non-crucial things optional, which speeds things up considerably
22:42 Limbic_Region joined #perl6
22:43 |jedai| joined #perl6
22:45 braceta joined #perl6
22:55 iblechbot_ joined #perl6
23:11 |jedai| joined #perl6
23:19 ruoso joined #perl6
23:23 ruoso Hello!
23:28 diakopter ruoso: hi
23:29 ruoso hi diakopter... any luck in building smop in windows?
23:30 diakopter I haven't yet tried the Dec 16 pugs cabal package... http://hackage.haskell.org/cgi-bin/hackage-scripts/package/Pugs
23:30 diakopter but otherwise I don't want to try to build pugs on windows with ghc 6.10.1
23:30 ruoso diakopter, but I think you should try building smop anywya
23:30 diakopter pugs from svn.pugscode.org
23:30 ruoso I think the direct dependency on pugs was dropped
23:30 diakopter oh
23:31 diakopter :)
23:32 * diakopter looks for build instructions
23:32 Limbic_Region smop on windows proper or are you interested on cygwin?
23:32 Limbic_Region and if I could be pointed to some checkout and build instructions
23:32 diakopter non-cygwin
23:32 Limbic_Region I would be happy to try Win32/MinGW and Win32/Cygwin
23:32 ruoso I think it will be a fire-proof for scons, actually
23:33 ruoso (which means you need python and scons installed on windows...
23:34 ruoso but the code is mostly portable...
23:34 diakopter scons 1.2.0>
23:34 diakopter ?
23:35 ruoso 1.0.0 here
23:35 ruoso 1.2.0 should work
23:36 diakopter python 2.6.1?
23:36 ruoso 2.5.2
23:36 diakopter <sigh> just uninstalled it
23:37 ruoso 2.6.1 should work, I think
23:41 ruoso the only thing I'm aware to be possibly unportable is the use of pthread_rwlock
23:41 * diakopter tries to figure out how to get scons in the %PATH%
23:42 diakopter oh, I see.  C:\Python25\Scripts\
23:43 wknight8111 joined #perl6
23:45 * diakopter tries to cabal install utf8-string
23:46 ruoso (I think simplifying the build instructions might be a strong reason for porting m0ld to p5)
23:52 * diakopter tries to install cabal-install
23:53 wolverian thanks to the bootstrap script, it's pretty easy.
23:54 pugs_svn r24935 | lwall++ | [Cursor.pmc] expand tabs
23:55 diakopter wolverian: not if you don't have an sh! ;)
23:56 diakopter but yes it's even still pretty easy.
23:56 wolverian I suppose. :)
23:57 ruoso diakopter, don't you have the new powershell?
23:57 * ruoso hides
23:57 diakopter heh
23:57 diakopter During interactive linking, GHCi couldn't find the following symbol: SHGetFolderPathA@20
23:58 diakopter while installing Cabal-1.6.0.1
23:58 ruoso hmmm... that doesn't sound too good...
23:59 wolverian http://www.nabble.com/Problem-installing-Cabal-1.4.0.1-with-ghc-6.8.3-td18107151.html perhaps?
23:59 diakopter oh, that's better
23:59 diakopter ghc --make Setup   instead of runghc...

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

Perl 6 | Reference Documentation | Rakudo