Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-08-18

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:01 TreyHarris TimToady: if it were a method, what would it mean?  invocant not allowed?  invocant used for calling, but ignored inside method?  invocant is self?
00:01 TreyHarris Khisanth: thanks, i'll try it
00:03 TimToady I don't think the colon notation is useful for invocant any more, actually.
00:03 TimToady s/colon/bare colon/
00:04 TimToady it was useful back when we used colon to also indicate longnames.
00:04 TimToady but now any kind of method always knows whether the first arg is an invocant, so it's no longer necessary to install a bare colon to say that you aren't specifying it
00:06 svnbot6 r12400 | Sage++ | Parse errors during translating in regexs and text strings are no longer terminal errors. They now print a nice little error message and return the input string unaltered, so the rest of the code can run along it's merry way.
00:06 svnbot6 r12400 | Sage++ | This is a reasonable change since it makes the translator more robust, and in many cases won't negatively effect translation. With this change, 98% of perl5 t/ passes without terminal errors.
00:06 TreyHarris ok.  so this statement is true: subs must not have an invocant, methods must?
00:08 TimToady yes, but the invocant may be omitted from the declaration
00:10 wolverian does the ghci.vim in pugs rep work for anyone?
00:13 xinming_ joined perl6
00:17 hexmode joined perl6
00:20 mdiep_ joined perl6
00:24 nekokak joined perl6
00:44 mako132_ joined perl6
00:53 Captain_Fourier joined perl6
00:53 Captain_Fourier hoy
00:53 Captain_Fourier *howdy
01:01 TreyHarris hello, Captain_Fourier.
01:02 Captain_Fourier whats the status on the web eval bot
01:06 TreyHarris i haven't seen any commits regarding it since it was added to TASKS, so if anybody's working on it, they're doing it offline
01:06 Captain_Fourier ok
01:18 mako132_ joined perl6
01:18 bpederse_ joined perl6
01:19 zgh left perl6
01:22 TreyHarris does pugs have an equivalent of %INC?
01:25 ruz joined perl6
01:27 Captain_Fourier left perl6
01:33 TreyHarris TimToady: I see you had already answered markstos' question yesterday implicitly in that section of S12 you just edited.  Of course plain old $obj.$coderef can't work, since it can't know the type of the invocant.  so you have to mix it in, because then $coderef at least knows that it's handling a whatever role it was mixed in as...
01:33 TreyHarris er, $obj.$coderef()
01:43 pjcj joined perl6
01:52 markstos_ joined perl6
01:59 dolmans joined perl6
02:00 svnbot6 r12401 | markstos++ | Make prove6 more useable outside of the pugs try by allowing you to set your own PERL6LIB.
02:00 svnbot6 r12401 | markstos++ | This would be better handled by adding the  -b and -l options, like prove5 has.
02:16 svnbot6 r12402 | markstos++ | typo fix in docs for WTemplate
02:17 dduncan joined perl6
02:19 dduncan this may be a side effect of my killing and reinvoking 'make' twice, but are any of you getting errors at link time about undefined symbols? ...
02:19 dduncan eg: /usr/bin/ld: Undefined symbols:
02:19 dduncan _PugsziASTziInternals_lvl645_closure
02:19 dduncan _PugsziASTziInternalsziInstances_lvl116_closure
02:19 dduncan _PugsziASTziInternalsziInstances_lvl331_closure
02:19 dduncan _PugsziASTziInternalsziInstances_lvl332_closure
02:22 TimToady $obj->$coderef() is allowed in Perl 5, but basically just means $coderef->($obj)
02:22 clkao (!)
02:22 clkao perl is a scary language
02:23 markstos_ TimToady: I ran into that last night when porting CGI::App. We used that construct...
02:23 markstos_ I'm trying to build the most recent version, and I'm getting Judy related errors: ": undefined reference to `JudyLIns'"
02:24 markstos_ I didn't have the foresight to backup a pugs binary before I started the process...   :(
02:24 TimToady in Perl 6, you can take a reference to a method, but then you just simply call it like a sub:
02:24 dduncan as an experiment, I tried throwing away the 'AST' folder in 'build' and see if the corresponding modules rebuild
02:24 TimToady $methodref($obj,...)
02:25 TimToady basically how the dispatchers dispatch...
02:25 dduncan if this works, it'll save having to rebuild everything if just one or two files there were incomplete
02:26 markstos_ Do I need to install any third party "Judy" code for the build to work?
02:26 dduncan Judy should be bundled with pugs
02:26 dduncan I never installed it separately, myself
02:27 markstos_ dduncan: thanks for the feedback.
02:27 cmarcelo joined perl6
02:35 markstos_ I'm sleeping but, I'll idle in case someone has suggestions about the Judy build errors. &
02:35 markstos_ is now known as markstos_Zz
02:38 cmarcelo markstos_Zz: is it an error or warning only ?
02:39 cmarcelo markstos_Zz: the "make" should do everything you need (don't need to install Judy by yourself)..
02:40 * markstos_Zz returns at the sound of his name
02:41 markstos_Zz It's a failure. The last bit is: : undefined reference to `JudyHSFreeIter'
02:41 markstos_Zz Build failed: 256 at util/build_pugs.pl line 372
02:42 markstos_Zz I went into to the judy directories and did a "make clean" for good measure, but that didn't help.
02:42 markstos_Zz Maybe I need to re-issue "./configure" or something again ?
02:42 cmarcelo markstos_Zz: paste the build output?
02:42 markstos_Zz one moment
02:44 kanru joined perl6
02:46 mdiep_ joined perl6
02:47 pasteling "markstos_Zz" at 12.176.101.89 pasted "Judy related build failure" (447 lines, 33.8K) at http://sial.org/pbot/19084
02:47 markstos_Zz Thanks cmarcelo
02:47 markstos_Zz is now known as markstos_
02:49 cmarcelo markstos_: cd third-party/judy/Judy-1.0.3; make distclean; ./configure; make; cd -; make fast
02:50 cmarcelo watch for errors in ./configure; make=)
02:50 markstos_ trying now.
02:51 markstos_ What does "cd -" do?
02:51 PerlJam changes directory to the directory you were in before the last cd
02:52 markstos_ Oh cool. I didn't know about that. I knew about cd $OLDPWD.
02:52 cmarcelo is cd - a "bashism"?
02:52 markstos_ cmarcelo: You fixed me!
02:53 cmarcelo markstos_: cool! =)
02:56 PerlJam cmarcelo: I don't know about a "bashism", but perhaps it's a shism  :-)
02:58 cmarcelo PerlJam: well. works in zsh too, so is no _bash_ism.. =)
02:58 * cmarcelo wonders what's a shism is, since m-w.com doesn't know it.
02:59 markstos_ "of or relating to shells derived from "sh"  ".
02:59 * markstos_ just made that up.
03:00 cmarcelo of course =)
03:02 dduncan I seem to have fixed my problem
03:02 dduncan the link problem was probably due to the interrupted 'make' before, which has been rectified
03:02 dduncan so no code issue
03:06 baest joined perl6
03:11 agentzh joined perl6
03:11 svnbot6 r12403 | markstos++ | Copy --blib, --lib and --verbose features from prove to prove6
03:11 agentzh markstos++
03:12 agentzh that's what i was planning to implement in prove6. :)
03:19 weinig is now known as weinig|zZz
03:21 baest joined perl6
03:22 meppl joined perl6
03:23 dduncan is "prove6" meant to be a replacement for Pugs' current/old test harness, or something else?
03:28 avarab joined perl6
03:28 dduncan never mind
03:32 agentzh dduncan: sort of.
03:33 dduncan what does it change?
03:38 dduncan left perl6
03:48 markstos_ dduncan: Unlike prove for Perl5, it supports the several different backends of pugs, so you can use it to test  with pugs or v6.
03:48 markstos_ A lot of the code could be shared with prove properly, though, by creating a Test::Prove module.
03:49 markstos_ OTOH, prove6 could be ported to be written in Perl6, but then it wouldn't be so useful for testing the very experimental (broken) implementations of Perl6.
03:50 markstos_ Anyway, I only got of bed because I was paged by a server at work, and should try to return to sleep now... &
03:54 diakopter joined perl6
03:56 diakopter left perl6
04:01 xinming joined perl6
04:02 svnbot6 r12404 | audreyt++ | * More \x0D\x0A fixes.
04:03 audreyt TreyHarris: %INC in pugs is spelled... %*INC.
04:22 TreyHarris audreyt: ah, yes.  my problem wasn't that I didn't know how to spell %*INC, it was that I hadn't actually loaded any modules to examine yet.  I was confused because I hadn't loaded any modules yet when I thought it had, and it was empty :-)
04:28 dduncan joined perl6
04:28 dduncan ?eval {}.ref
04:28 evalbot_12399 is now known as evalbot_12404
04:28 evalbot_12404 ::Hash
04:28 dduncan ?eval my %foo; {%foo}.ref
04:28 evalbot_12404 ::Block
04:29 TimToady BTW, I think we should rename .ref
04:29 dduncan would .type work?
04:29 TimToady at the moment, I think so
04:30 dduncan btw, what I wanted to do there was clone the Hash, and the above syntax did that a couple days ago
04:30 dduncan was I doing it wrong, or is Pugs broken?
04:30 TimToady ?eval my %foo; {%foo,}.ref
04:30 dduncan and various other attempts, like *%foo or %foo.pairs give the same result
04:30 evalbot_12404 ::Block
04:30 cmarcelo left perl6
04:31 dduncan I tried that oo
04:31 TimToady looks like a bug to me.
04:31 TimToady ?eval my %foo; hash(%foo).ref
04:31 evalbot_12404 ::Hash
04:31 dduncan I guess I'll do that in the mean time ...
04:32 TimToady ?eval my %foo; my %bar := hash(%foo); say %foo =:= %bar
04:32 evalbot_12404 OUTPUT[ ] Bool::True
04:32 yappobot joined perl6
04:32 TimToady ?eval my %foo; my %bar := hash(%foo); say %foo.SKID, %bar.SKID
04:32 evalbot_12404 OUTPUT[ ] Bool::True
04:33 dduncan though I wonder, if we're going to standardize on spellings like <class-name>(<args>) as a constructor syntax, such as Mapping(1=>2,3=>4) etc, would the hash version be better spelled Hash() ?
04:33 dduncan for consistency
04:33 TimToady ?eval my %foo = (a => 1); my %bar := hash(%foo); say %foo, %bar
04:33 evalbot_12404 OUTPUT[a1a1 ] Bool::True
04:33 yappobot is now known as yappo_
04:33 TimToady ?eval my %foo = (a => 1); my %bar := hash(%foo); %bar<a> = 2; say %foo, %bar
04:33 evalbot_12404 OUTPUT[a1a2 ] Bool::True
04:33 TimToady okay, that clones
04:34 TimToady that's not guaranteed to clone
04:34 dduncan I just want to copy a private attribute of my object to return it, so modifying the returned value doesn't modify my attribute
04:34 TimToady ?eval my %foo = (a => 1); my %bar := hash(%foo); %bar<a> = 2; say %foo, %%%%%%%%%%bar
04:35 evalbot_12404 OUTPUT[a1a2 ] Bool::True
04:35 dduncan will use hash() for now if it seems to work
04:35 PerlJam dduncan: given that users can define their own constructors, do we allow both the "standard" constructor and their own for things such as casts?
04:36 dduncan I was interested in some consistency between any constructors for built-in types that are spelled in alpha and look like the type name
04:36 dduncan eg, if Mapping() is spelt that way, then I suggest Hash() should be that way
04:37 TimToady TypeName() is not guaranteed to be a constructor.  TypeName.new() is.
04:37 dduncan okay
04:37 TimToady If an object is already a TypeName(), that can be a noop.
04:37 TimToady ?eval say Int(1)
04:37 evalbot_12404 OUTPUT[Int ] Bool::True
04:37 dduncan I wasn't sure if TypeName() was "another way to do it" which was default behaviour
04:37 TimToady hmm.
04:38 dduncan but if what you say is true, then I'll only assume every class has a TypeName.new() instead
04:39 TimToady TypeName() might failover to TypeName.new() if there's no direct way to provide it.
04:39 dduncan sure
04:39 dduncan and afaik, lots of languages use that syntax, as well as pseudo-languages
04:39 dduncan that is, pseudo-code
04:39 TimToady the shorter form is really more for value types
04:39 dduncan fair enough
04:40 dduncan so then we could just say that the shorter form isn't in all classes by default, but a class can choose to implement it, and all built-in value types do so
04:40 TimToady or you just want to extract a value via a particular interface, and don't really care whether the object has to be recreated.
04:41 dduncan isn't that like "treat as"?
04:41 TimToady all classes can implement it by failover, is what i was trying to say earlier
04:41 dduncan okay
04:41 TimToady might or might not make sense though.
04:43 dduncan well, I won't necessarily use that syntax myself ... but it is what works now for a Hash, and what Audrey said may be the way to declare a Mapping
04:43 dduncan do you have any problem with the Hash version being named Hash() rather than hash() ?
04:44 TimToady depends on how Hash() is implemented
04:45 TimToady the P5 [] and {} composers are always guaranteed to copy.
04:45 TimToady hash() is supposed to be the workaround for {} ambiguity, so I think of it as always copying
04:45 dduncan so do I
04:45 TimToady if Hash(%foo) just return %foo, we could have a problem
04:46 TimToady but %(%foo) is Hash(%foo), and %(%foo) is just returning %foo
04:46 dduncan I was under the impression that all <class-name>() made a new object initialized from its arguments, which would be a clone if the argument was the same type
04:46 TimToady so I think it's different from hash()
04:46 audreyt joined perl6
04:46 TimToady which is short for Hash.new()
04:47 PerlJam joined perl6
04:47 Juerd joined perl6
04:47 hcchien joined perl6
04:47 wolverian joined perl6
04:47 chip joined perl6
04:47 webmind joined perl6
04:47 awwaiid joined perl6
04:47 justatheory joined perl6
04:47 Frances joined perl6
04:48 pjcj joined perl6
04:48 bpederse_ left perl6
04:48 dduncan so is the renaming of .ref to .type now official, or are you still thinking about the matter?
04:49 TimToady it's gonna get renamed, probably to .type
04:49 PerlJam keeping .ref would be slightly confusing I think given that references have essentially disappeared fom the lexicon
04:49 TimToady yeah
04:49 dduncan indeed
04:50 dduncan in fact, I even said on p6l the other day that Perl 6 has no reference types, though in retrospect I may have been mistaken
04:51 TimToady the only problem I have with .type is that the prefix form will look like a declaration to some people.
04:51 TreyHarris ?eval 3.meta
04:51 evalbot_12404 \Class.new(("is" => ("Rat",)), ("name" => "Int"))
04:51 crapulous joined perl6
04:51 TreyHarris is that autoboxing in action?
04:51 TimToady I smell a Rat.
04:51 dduncan a prefix form could be spelled typeof(), but that doesn't look so good postfix
04:51 PerlJam .kind ? :)  It certainly won't be confused with a declaration
04:52 dduncan may work
04:52 dduncan sounds good, actually
04:52 TimToady though wipes out a good word for alternate typing systems
04:53 PerlJam yeah.  And it's got alot of nouning-the-verb feel.
04:53 dduncan the alternates can use 'type' if we're not going to
04:53 dduncan lets look in the thesaurus ...
04:53 PerlJam .whatisthisthing
04:54 dduncan or how about just .what ?
04:54 PerlJam yeah, maybe it needs to be a word that naturally questions
04:54 TimToady .huh
04:54 dduncan that could work on both left and right side
04:54 dduncan or .wtf
04:54 TimToady :)
04:55 TimToady which type form?
04:55 leo joined perl6
04:55 PerlJam make it so!  :)
04:55 TreyHarris lol
04:55 dduncan lilo says we lost contact with one of our main rotations, whatever that means
04:55 TreyHarris hey, TimToady?  today at $job somebody asked "what did people do before patch?"  I didn't know, so I thought I'd ask you. :-)
04:55 pmichaud_ joined perl6
04:55 merlyn reposted the entire thing
04:55 TimToady maybe our planet has been rotated.
04:55 merlyn or hand changes "this became that"
04:56 merlyn or just posted diffs, and it was up to you to "apply" them
04:56 PerlJam though I think that something obscure won't quite work here like it does for SKID
04:56 TimToady TreyHarris: they *didn't* apply most of the patches, is what they did.
04:56 TimToady it was an awful mess.
04:57 PerlJam TreyHarris: they copied around whole, modified files probably.
04:57 pmichaud_ left perl6
04:57 TimToady not enough bandwidth
04:57 TimToady unless you go to a conference with a magtape
04:57 PerlJam well, I don't really remember a time before patch, so what do I know? :)
04:57 TimToady roll all your stuff onto the demo PDP-20
04:57 merlyn like "DECUS"
04:58 TimToady then get your tape refilled with what everyone else brought.
04:58 TreyHarris *grin*
04:58 TimToady the one in Vegas was the first time I ever played adventure
04:58 TimToady on a brand new DECSYSTEM-20
04:58 dduncan if you want something really short for .type/.kind ... try .ilk ... just as short as ref, and who's likely to use it elsewhere?
04:58 penk joined perl6
04:59 TimToady hmm, has possibilities
04:59 PerlJam .kin
04:59 TimToady .kith
04:59 TimToady .filk
04:59 arguile joined perl6
04:59 dduncan .kin may work, although it suggests what are the other objects of this type, rather than what is the type
04:59 dduncan .kin is like .family
05:00 PerlJam .gestalt
05:00 TreyHarris dduncan: i like the way you're going, actually... .wtf should be used extremely rarely, since (I think) we want to promote roles and other duckish sorts of typing
05:00 dduncan well hey, if you want to go with that, fine by me
05:00 TimToady .clan
05:00 TimToady .hat
05:00 PerlJam .duck
05:01 dduncan we could probably even come up with multiple descriptions for it, like the "what type form" mentioned earlier
05:01 dduncan and even if people don't remember that, they still know what it means
05:01 TimToady I really don't think Damian would let us.  :)
05:01 TreyHarris PerlJam: noooo.  that's what this is precisely *not* giving us.  if it's an Int that's doing a bazillion other things, most code will probably care more about the bazillion things (otherwise, why'd you mix them in in the first place?) not Int
05:02 TreyHarris .dejure.  as opposed to .defacto.  (not really suggesting it, just that's how i think of the idea)
05:02 PerlJam Spelled correctly though
05:02 PerlJam .dujour
05:03 TreyHarris PerlJam: lol.  "the object of the day" :-)  um, no.
05:04 pmichaud joined perl6
05:04 dduncan but whatever we come up with, it'll probably be better than .ref
05:04 PerlJam .cap
05:04 TimToady .pkg
05:05 dduncan could work
05:05 PerlJam interesting
05:05 TreyHarris hm.  yeah.
05:05 dduncan assuming every type is a package
05:05 dduncan I know every class and module is a package, but is there any type-like-thing that isn't a package?
05:05 agentzh joined perl6
05:06 TimToady all the types are in that namespace, if they have a name.
05:06 frederico joined perl6
05:06 dduncan and if they don't have a name, what would the old .ref return?
05:06 Khisanth joined perl6
05:06 dduncan eg, if you can have an object in a nameless class
05:06 dduncan nameless type-like-thing
05:07 TimToady whatever .META.pgk wants to return, I guess.
05:07 TreyHarris dduncan: Class::Classless returns "Class::Classless" :-)
05:07 TimToady *pkg
05:08 agentzh dduncan: it's expected that prove6 will be called from the Makefile generated from pugs' main Makefile.PL once it's mature enough. by doing this, we'll be able to add "magic" to the pugs test suite harness more easily.
05:08 TimToady I suppose a prototype based type system could return undef for it.
05:08 dduncan agentzh, I hear that
05:10 dduncan on a different topic, regarding Audrey's input to the === thread on p6l (which I already decided yesterday to not continue replying to) ...
05:10 dduncan is the concept of a "container" truly only relevant to mutable types?
05:10 dduncan and so a type is either "container" or "value" for most types?
05:10 TimToady hmm, maybe if it's really meta, it should be CAPS.  .TYPE  .ILK  .WTF
05:11 nine joined perl6
05:12 dduncan if so, then that may simplify some things in my own mind about what's going on
05:12 PerlJam TimToady: Where's the meta line drawn?  Anything the does introspection is meta?
05:12 dduncan I would think so
05:13 TimToady SKID() META() VAR() TYPE()
05:13 TimToady hmm
05:13 * PerlJam likes to ask questions with "obvious" answers just in case the answer really isn't so obvious  :)
05:15 TimToady IS() maybe
05:15 TimToady but arguably this is the same category as .does
05:15 dduncan yes
05:15 TimToady which is really .META.does
05:16 dduncan IS() looks like it takes a type name as an argument and returns a boolean
05:16 TreyHarris is there a linux binary build of pugs floating around anywhere?
05:16 TimToady so maybe it's .META.type
05:16 TimToady and Object delegates .type to .META
05:17 TimToady I think SKID and VAR are in a different category though.
05:18 PerlJam am I the only one who keeps seeing .MEAT instead of .META?
05:19 TimToady .deadbeef
05:19 PerlJam :-)
05:20 kanru joined perl6
05:22 baest joined perl6
05:26 dduncan ?eval {1=>2}.elems;
05:26 evalbot_12404 Error: Cannot cast into Array: VRef <Hash:0x
05:26 dduncan curious, that segfaults on my machine
05:27 TimToady mee 2
05:27 svnbot6 r12405 | agentz++ | [t/README]
05:27 svnbot6 r12405 | agentz++ | - added many stuff on the new version of smartlinks
05:27 svnbot6 r12405 | agentz++ |   used in the test files.
05:27 svnbot6 r12405 | agentz++ | - added more guide on how to contribute to the test
05:27 svnbot6 r12405 | agentz++ |   suite.
05:27 svnbot6 r12405 | agentz++ | - the :todo part still need updates.
05:27 svnbot6 r12405 | agentz++ |   (thank TreyHarris++ for reminding me to update
05:27 svnbot6 r12405 | agentz++ |    this README. please read this carefully before
05:27 svnbot6 r12405 | agentz++ |    you commit updates to the test suite)
05:28 agentzh oh, my god...
05:29 TimToady what, is there an asteroid coming?
05:29 dduncan yes
05:29 TimToady I hate it when that happens.
05:29 dduncan maybe it'll skip out on the date
05:32 TimToady agentzh: you okay?
05:32 svnbot6 r12406 | agentz++ | [t/TASKS]
05:32 svnbot6 r12406 | agentz++ | - added some tasks for the test suite due the recent changes of the synopses.
05:32 agentzh TimToady: i'm fine. :)
05:32 TimToady thought maybe an asteroid got you, and I was wondering how long the shock waves would take to get here.
05:33 dduncan depends how big it is
05:33 agentzh i don't know if i should be happy or sad. the synopses are changing everyday, which makes test writing more difficult.
05:33 svnbot6 r12407 | Darren_Duncan++ | ext/Set-Relation/ : changed the code style from \%foo to Hash $foo
05:33 dduncan or maybe that doesn't affect the speed, but just the magnitude
05:33 dduncan but that just means they'll be more-done sooner
05:34 agentzh dduncan: quite right. that's the "happy" part.
05:35 dduncan I swear, some things almost become second nature to me; I hit 'make' after I pulled the latest updates without meaning to
05:35 dduncan I didn't realize I did it until awhile after
05:35 agentzh everytime i get blocked during writing tests, i'd fire off a message to p6l and get TimToady to tweak the synopses.
05:37 agentzh it works out very well.
05:37 TimToady I'm not smart enough to know when I'm being stupid, so I rely on other people to tell me that.
05:37 agentzh TimToady: ;-)
05:37 TimToady seems to work pretty well in practice.
05:38 agentzh hehe
05:38 dduncan its the same with sanity ... people who are insane think they are sane
05:38 dduncan or maybe not always
05:38 agentzh lol
05:38 TimToady what about people who think they're both?
05:39 dduncan is that possible?
05:39 dduncan actually, they're probably insane
05:39 TimToady I think it's really the only way to be sane.
05:40 dduncan unless the greater reality defies logic that we know it
05:40 TimToady human beings defy logic day in and day out
05:41 dduncan but they still justify it, so in their point of view its logical
05:41 TimToady it's one of their most endearing qualities
05:41 dduncan or just justified
05:41 justatheory joined perl6
05:46 agentzh a quick question: where should i put the test files for util/*.pl?
05:46 agentzh t/util/ ?
05:47 agentzh not sure if t/ is *only* for the Perl 6 test suite.
05:47 agentzh or maybe util/*.t? hmm...
05:48 agentzh no clue...
05:48 dduncan t/ is only for the Perl 6 test suite
05:49 Odin- joined perl6
05:49 dduncan it is stuff written in Perl 6 that any implementation should be able to run
05:49 agentzh dduncan: then where should i put the tests for the perl 5 utilities used by pugs?
05:49 dduncan somewhere else
05:49 TimToady util/t ?
05:50 agentzh or more specifically, tests for utilities used by the test suite itself.
05:50 TimToady util/t/t/t/t/t/t/t/t
05:50 agentzh (!)
05:50 agentzh i think util/t is okay.
05:51 TimToady though, arguably, passing t is the best test that the suite is working, maybe...
05:52 agentzh anyway, should also tell the pugs test harness to run util/t/*.t
05:53 TimToady make test-test, perhaps
05:53 agentzh t-t?
05:54 agentzh util/smart_links.pl is so complicated that i must devise a (small) test suite for it.
05:56 agentzh cross-referencing between tests and synopses is a very cool idea but is not trivial to implement. :)
05:58 dduncan the tests can go in t/ if they are WRITTEN IN Perl 6
05:58 dduncan eg, the tests for Test.pm can go in there
05:58 agentzh dduncan: unfortunately the tests and the code being tested are all in perl 5. :)
05:59 agentzh because performance is very important there.
05:59 dduncan and accuracy, I'm sure
05:59 agentzh perl 5's speed is so impressive while pugs'...
06:00 agentzh surprisingly, i'm still feeling quite comfortable with perl 5.
06:00 dduncan is v6.pm faster than the Haskell now for what it does?
06:00 agentzh so there's no hurry to roll out a complete perl 6 implementation, maybe.
06:01 agentzh dduncan: the perl 5 code generated by v6.pm is pretty fast.
06:01 dduncan on the other hand, I like writing in Perl 6 more than in Perl 5, when it works and I understand it
06:01 agentzh the compilation speed is very slow the last time i checked.
06:01 dduncan I know it enough that I regularly want to use Perl 6 idioms when making Perl 5 code for production use, but know I have to wait
06:01 agentzh but fglock has made great progress on optimization recently.
06:02 dduncan I think that v6.pm stands to be a god-send, short term anyway
06:02 agentzh dduncan: *nod*
06:04 agentzh dduncan++  # having been implementing perl 6 modules of the future
06:10 dduncan I'm hoping to accelerate that in early Sept
06:10 dduncan process
06:21 TreyHarris does v6.pm smoke?
06:23 gaal TreyHarris: in vim, chose your prefered colorscheme, then select some text, and use the :toHTML command.
06:24 gaal TreyHarris: if you're using Spork to create slides, there's a vim hiliting plugin
06:24 TreyHarris gaal: thanks, but it turns out that aquamacs exports its syntax-hilited text directly into PDF, which is perfect for me
06:24 TreyHarris anyway, i don't see any on v6.pm tests on smoke.pugscode.org, but maybe i should be looking elsewhere?
06:24 gaal TreyHarris: OK
06:25 TimToady I tried smoke-perl5 once--had to stand by and abort a lot of loopers
06:25 TimToady then at the end it complained the format was wrong.
06:26 TreyHarris ah, ok
06:26 TreyHarris thanks
06:26 TreyHarris i don't suppose anybody's been keeping any time-series data on how the tests have been going over time?
06:28 agentzh TreyHarris: use svn log or svn blame?
06:29 agentzh they're not good perfect.
06:29 agentzh s/good//
06:30 TreyHarris agentzh: i don't see any test... oh
06:30 TreyHarris no, i'm sorry, i meant on what the test-harness summaries have been doing over time
06:30 TreyHarris i.e., today N tests passed, a month ago M passed, etc.
06:31 agentzh there're smoke reports on the web, i think.
06:31 gaal putter had an idea to sample old Rs
06:31 gaal agentzh: the web smokes expire after a while.
06:32 agentzh oh
06:32 marmic joined perl6
06:33 gaal if we move over to use Chimps (the system obra's company made based on pugs' tools), then we'll be able to store the serialized data and not the rendered html
06:33 gaal that way we can probably store more history
06:33 gaal oh, come to think of it:
06:33 agentzh yes, that'll be cool.
06:34 gaal obra, please take a look at agentzh++'s recent work, it may be interesting for you guys
06:34 crem_ joined perl6
06:35 agentzh gaal: thanks.
06:35 * agentzh is still deep into smart_links.pl...
06:36 TreyHarris gaal: thanks
06:36 * TreyHarris uncommutes now, before it's tomorrow....
06:36 TreyHarris &
06:38 gaal audreyt: ping # I'm trying to understand the use of implicit params in r12469
06:38 gaal is it just to ease lambda floating?
06:49 dolmans joined perl6
06:50 gaal (er, r12374, the other one was my local revision)
07:03 juju` joined perl6
07:23 perlbot joined perl6
07:27 iblechbot joined perl6
07:31 svnbot6 r12408 | agentz++ | [util/smart_links.pl]
07:31 svnbot6 r12408 | agentz++ | implemented matching of the pattern part of smartlinks against POD
07:31 svnbot6 r12408 | agentz++ | [util/t]
07:31 svnbot6 r12408 | agentz++ | added smart_links.t which tests smart_links.pl
07:32 frederico joined perl6
07:32 svnbot6 r12409 | agentz++ | [t/syntax/comments.t]
07:32 svnbot6 r12409 | agentz++ | - fixed all the broken smartlinks in this file via util/smart_links.pl
07:41 svnbot6 r12410 | agentz++ | [docs/Perl6/Spec/update]
07:41 svnbot6 r12410 | agentz++ | - made the tool output "Refreshing specs from http://svn.perl.org/perl6/doc/trunk/design/syn..." early (before any HTTP requests).
07:42 agentzh the delay of the old version's outputs often made me think my pugs build was segfaulting. :)
07:43 agentzh now it's finally fixed! :D
07:44 svnbot6 r12411 | agentz++ | [util/smart_links.pl]
07:44 svnbot6 r12411 | agentz++ | - fixed a bug when processing smartlinks like L<S04/section>.
07:46 agentzh util/smart_links.pl tells me:
07:46 agentzh info: for total 247 smartlinks found.
07:46 agentzh info: 69 smartlinks broken.
07:46 agentzh this is for the whole pugs test suite.
07:47 agentzh approximately 28% of the smartlinks are currently broken.
07:48 agentzh help is very welcome. ;-)
07:48 Aankhen`` joined perl6
07:48 agentzh (bbiab)
07:52 agentzh util/smart_links.pl updates the synopses from the svn repos at every run. it makes sure it's the latest version of synopese which the smartlinks are matching against.
07:56 agentzh this tool is running fast enough on my machine (PentiumIV 3.0 GHz, 512 MB RAM). a typical scan over the whole test suite only cost 1.656 sec here.
07:57 agentzh *costs
08:00 penk left perl6
08:02 visq joined perl6
08:10 penk joined perl6
08:12 svnbot6 r12412 | agentz++ | [util/smart_links.pl]
08:12 svnbot6 r12412 | agentz++ | - added --help option and sub Usage.
08:12 svnbot6 r12412 | agentz++ | - tweaked the output format.
08:12 svnbot6 r12412 | agentz++ | - fixed an "use of uninitialized variable" warning.
08:12 agentzh s/an/a/
08:12 agentzh :P
08:22 dduncan left perl6
08:26 kane-xs joined perl6
08:31 agentzh @localtime agentzh
08:31 agentzh oh, lambdabot is not here.
08:33 agentzh now that the "checking" part of util/smart_links.pl is mostly done, i'll return to the test suit.
08:33 audreyt agentzh++ # wow, very productive
08:33 agentzh i think there's no hurry to implement an HTML emitter for smart_links.pl given the current quality of the test suite.
08:33 agentzh audreyt: thanks!
08:38 * gaal mooses
08:39 audreyt hey gaal
08:39 gaal whee, spj++ # responded to a bug report immediately with a fix
08:39 gaal yo yo yo!
08:42 foo\ joined perl6
08:43 gaal agentzh: why "use vars '$ua';" and not simply my?
08:43 agentzh gaal: where?
08:43 gaal docs/Perl6/Spec/update
08:44 agentzh oh, i simply copied over the existing code from docs/Perl6/Makefile.PL
08:45 agentzh i seldom or never write down "use vars ..." in my own code. ;-)
08:45 gaal local $@ is also somewhat weird. fixing
08:45 agentzh fixing
08:45 gaal heh
08:45 gaal go ahead :)
08:45 agentzh okay, i will do.
08:52 agentzh gaal: i think 'use vars' is still necessary because we have to import the variable $ua from LWP::Simple at runtime.
08:53 gaal ah, ok
08:53 agentzh i've removed "local $@". :)
08:54 gaal isn't 'our $ua' at the top level better style? we depend on 5.6.1 anyway.
08:55 agentzh gaal: okay, will do.
08:55 svnbot6 r12413 | agentz++ | [docs/Perl6/Spec/update]
08:55 svnbot6 r12413 | agentz++ | - cleaned up the code a bit, suggested by gaal++.
08:57 * agentzh thinks this was audreyt's code.
08:57 * agentzh grins.
09:01 svnbot6 r12414 | agentz++ | [Makefile.PL]
09:01 svnbot6 r12414 | agentz++ | added LWP and other modules as optional dependencies.
09:02 agentzh meal &
09:02 agentzh left perl6
09:03 chris2 joined perl6
09:04 gaal audreyt: did you see my query re: implicit vars in Eval.Var?
09:06 plisk joined perl6
09:07 audreyt no... going to dinner with autarch
09:07 audreyt I was trying to remove recursion
09:08 audreyt and lambda lift everything
09:08 audreyt by providing ?invs ?exps ?var as impvar
09:08 audreyt which works in gHC65
09:08 gaal okay, that's what I thought :)
09:08 audreyt but 64 wants the mutual recursion group to have all same impvar
09:08 audreyt i.e. it doesn't provide autolift/delift of reader monad
09:08 audreyt (which is what implvar is)
09:08 audreyt so the cunning plan failed
09:09 gaal nod. breaking down that beast will have to wait another day!
09:11 gaal send autarch my regards
09:14 audreyt k :) *wave*
09:14 ruoso joined perl6
09:21 avar joined perl6
09:38 meppl guten morgen
09:38 xinming joined perl6
10:02 kane-xs joined perl6
10:10 kane-xs joined perl6
10:40 elmex joined perl6
11:37 lichtkind joined perl6
11:48 fglock joined perl6
12:00 lichtkind merlyn i was told that you are in come kind chief in service of perl6 doc
12:01 bpphillips joined perl6
12:08 ludan joined perl6
12:19 lichtkind why does perl6 dont use the § sigil ? afraid of lawyers?
12:35 agentzh joined perl6
12:35 agentzh ?eval $?COMPILER
12:35 evalbot_12404 is now known as evalbot_12414
12:35 evalbot_12414 Error: Undeclared variable: "$?COMPILER"
12:35 agentzh ?eval $?VERSION
12:35 evalbot_12414 Error: Undeclared variable: "$?VERSION"
12:36 agentzh is it okay to set these two to "Pugs" and "6.2.12", respectively?
12:36 agentzh ?eval $?PERLVER
12:36 evalbot_12414 Error: Undeclared variable: "$?PERLVER"
12:37 Limbic_Region joined perl6
12:38 agentzh i'll implement $?COMPILER and $?VERSION in pugs, which will be used by &Test::todo.
12:40 agentzh fglock: it's required to implement them in v6.pm as well if you'll add v6.pm-specific todo to the test suite. :)
12:40 agentzh does the variable names sound okay?
12:43 agentzh ?eval $?PUGS_VERSION
12:43 evalbot_12414 \"Perl6 User\'s Golfing System, version 6.2.12, June 26, 2006 (r12414)"
12:47 agentzh ?eval $*OS
12:47 evalbot_12414 \undef
12:48 agentzh i wonder why $*OS should be hidden in safe mode...
12:49 agentzh anyway, $?COMPILE and $?VERSION won't be hidden. so i can test them in evalbot. :)
12:49 agentzh s/$?COMPILE/$?COMPILER/
12:51 agentzh committing...
12:54 [particle] joined perl6
12:56 agentzh what's the simplest way to compare version numbers like "6.2.13"?
12:56 svnbot6 r12415 | agentz++ | [src/Pugs/Run.hs]
12:56 svnbot6 r12415 | agentz++ | set $?COMPILER and $?VERSION to "Pugs" and the version number (say, "6.2.12"), respectively. These variables will be used in &Test::todo.
12:58 agentzh ?eval $?COMPILER
12:58 evalbot_12414 is now known as evalbot_12415
12:58 evalbot_12415 \"Pugs"
12:59 agentzh yay!
12:59 agentzh ?eval $?VERSION
12:59 evalbot_12415 \"6.2.12"
12:59 agentzh whee!
12:59 agentzh i'll look into Test.pm and implement &todo tomorrow. :)
13:00 aholanda joined perl6
13:02 clkao fglock: is there a page for yapc::sa ?
13:05 mauke joined perl6
13:05 agentzh sleep &
13:06 agentzh left perl6
13:26 Limbic_Region anyone familiar with the smoke process about to answer a few questions?
13:35 HXanadu joined perl6
13:39 fglock clkao: http://www.conisli.org - but they don't seem to have an english page
13:39 clkao fglock: what's the actual date?
13:39 fglock nov 3,4,5
13:42 clkao ok... need to plan a bit
13:45 kane-xs hmm... that sounds nice ;)
13:49 hexmode joined perl6
13:49 svnbot6 r12416 | fglock++ | v6, PCR - implemented $?COMPILER and $?VERSION
13:50 fglock v6 $?COMPILER is 'v6.pm'
13:56 audreyt TimToady: can two multi infix:<x> disagree one their associatiivity?
13:57 audreyt TimToady: also, is it ok to avoid "invocants" when describing multis? :)
13:57 audreyt (==> "considered parameters", "relevant parameters", "tiebreaking parameters")
14:01 Limbic_Region audreyt - got 60 seconds or less to answer a question about make smoke?
14:01 luqui joined perl6
14:01 Limbic_Region 1.  Is there a way to prevent it from automatically attempting to send, 2.  Is there a way to send manually after the fact? # in case the answer is yes
14:02 audreyt Limbic_Region: 1. is easy -- it's default
14:02 audreyt edit config.yml
14:02 audreyt smoke_upload: 0
14:02 Limbic_Region got it
14:02 audreyt 2 is "make upload-smoke"
14:02 FurnaceBoy joined perl6
14:03 Limbic_Region is that sent via http/https?  If so, is there a way to set the proxy/firewall config?
14:03 audreyt it's util/smokeserv/smokeserv-client.pl
14:03 audreyt standard LWP env vars spply
14:04 Limbic_Region ok, I should be able to start smoking then - Win32, AS 5.8.8 (build 817), MinGW
14:04 audreyt moose
14:04 audreyt cool
14:05 Limbic_Region now to work on the examples/ test thingy I said I would try to get to this week
14:06 audreyt 'd be lovely
14:06 vel joined perl6
14:12 lichtkind good Mornig PerlJam sorry i got yesterday guest
14:19 lichtkind PerlJam ?
14:20 PerlJam g'morning lichtkind
14:21 xerox Anybody knows how to do comments in .cabal files?
14:24 audreyt sure
14:24 audreyt it's the syntax you'd expect :)
14:24 audreyt -- comment
14:24 xerox -- !
14:24 xerox Thanks!
14:24 audreyt np :)
14:24 xerox cabal-install is going along very nicely.
14:24 * audreyt is excited that xerox picks up her very klugy CPAN.pm port
14:25 xerox Are you referring to 00-latest.txt ?
14:25 audreyt yes. I very much likes the new way of .cabal targz
14:25 xerox Yarrrr!
14:25 xerox Look here:
14:25 audreyt I should point out that it won't scale once you have 5k modules
14:26 xerox GHC-options: -i.. -i../dependencies/HTTP-2005.5.5
14:26 xerox cabal-install.cabal
14:26 audreyt ooh ooh oooh!
14:26 xerox Yarrr!
14:26 xerox Now I'll update it to the latest version which includes its needed crypto and newbinary bits
14:26 * audreyt is distincly rememreminded o PAR::Repository
14:26 xerox And I'll ask on the ml if they are going to build http with ghc :D
14:27 xerox Then I can hack better index support
14:27 xerox E.g. multiple repositories
14:27 xerox Or whatever people think is needed
14:27 xerox I don't even know if the dependencies handling is properly done... yuck
14:27 audreyt I remember there's a SoC about the Haskell network library
14:27 xerox Yes, HaskellNet
14:27 xerox shapr mentors it
14:27 audreyt that could be useful
14:28 audreyt I think multiple transport
14:28 xerox Oh I see what you mean
14:28 xerox I'll point that out too
14:28 audreyt at least http:// https:// file:// ftp:// rsync://
14:28 audreyt is a win
14:28 * xerox nods
14:28 audreyt I've used all five in CPAN context
14:28 xerox You've some perlNet code too?
14:28 audreyt it's called libnet
14:29 audreyt and it comes with perl. :)
14:29 audreyt (and the more advanced one is called libwww-perl, and comes with some distributions of perl, and people usually install it right away if not)
14:29 amnesiac joined perl6
14:29 audreyt http://search.cpan.org/dist/libnet/ and http://search.cpan.org/dist/libwww-perl/ respectively
14:30 xerox On one side I am scared because SoC ends in very few days and I don't know if cabal-install works for people yet
14:30 xerox But on the other it seem very working here, and I suspect it'll work for people
14:30 audreyt I'm willing to try it out tomorrow or the day after
14:30 xerox So watch out for messages on cabal-devel and try it out :D
14:30 audreyt yay :D
14:30 xerox Thanks much.
14:31 audreyt anything that can deliver Pugs from dependency hell is a huge win.
14:31 audreyt that includes GHC multiversioning, and Cabal-install
14:31 xerox Allright
14:32 fglock v6.pm one-liners now take just 1s to compile; it takes 0.33s to load the 400k file generated by Parse::Yapp
14:32 * xerox ingurgitates some more tea
14:32 xerox fglock: that's due to bytestrings?
14:32 clkao audreyt: nihao
14:32 iblechbot joined perl6
14:32 audreyt fglock: wow.
14:32 audreyt xerox: no, fglock is running on the perl5 VM :)
14:33 audreyt which, surprisingly, has builtin bytestrings
14:33 xerox Ah-ha.
14:33 xerox Impressive.
14:33 audreyt those ones even does UTF8 conversion by default! :)
14:33 clkao fglock: what made it faster?
14:33 audreyt (hint hint)
14:33 xerox hehehe
14:33 clkao was it my caching?
14:33 lichtkind PerlJam got my msg late night yesterday?
14:33 xerox You know who to talk about ;)
14:33 audreyt I've been harrassing them nonstop ;)
14:33 xerox They're publishing a paper, no time for this stuff! :P
14:33 fglock clkao: many tweaks in the grammar, specially making it non-backtracking
14:33 * xerox chuckles
14:34 clkao eggcellent
14:34 kane-xs audreyt: p4 license for codebase1 expired again
14:34 kane-xs needs your magic to revive
14:34 Limbic_Region where should I file a bug report against ext/FindBin ?
14:34 clkao why do people need version control? don't we just use cp/mv/rm ?
14:34 audreyt kane-xs: what, not again... is it really another year already?
14:34 audreyt kane-xs: ok. will proc it tomorrow
14:34 kane-xs time flies when you're having fun =/
14:35 Limbic_Region on Win32, say $FindBin::RealBin = \\\\t\examples
14:35 PerlJam lichtkind: don't think so.
14:35 clkao audreyt: yes, 5 years has passed i guess
14:35 fglock clkao: sure, caching helps a lot
14:35 audreyt clkao: well, but this last year we at least bootstrapped _something_... actually a chain of things :)
14:35 clkao i meant 5 years with the p4 license, to be exact ;)
14:36 fglock clkao: I also added compilation on demand for the grammars
14:36 audreyt well, that coincides of 5 years of lotsa things ;)
14:36 lichtkind PerlJam i wrote about that im freelancer from east germany much of an freak and writing my own editor
14:37 PerlJam lichtkind: ah.
14:37 svnbot6 r12417 | audreyt++ | * build_pugs.pl: "make prof" shouldn't fail just because pugs.exe isn't produced.
14:37 clkao fglock: i have been busy with $work.  got a summary about what happened during your crazy commits
14:38 cjeris joined perl6
14:38 lichtkind PerlJam and you submit only patches and cheers perl6 or do also other stuff?
14:39 kane-xs audreyt, since i have you here; a module::install/module::signature issue has come up: http://rt.cpan.org/Ticket/Display.html?id=21061
14:39 kane-xs maybe this makes sense to you
14:39 PerlJam lichtkind: I converse with parrot/perl6 people and try to influence them to do what I want ;-)
14:40 lichtkind PerlJam and what want you :) ?
14:41 PerlJam lichtkind: depends on my mood  :)
14:42 fglock is there something like an 'internal long name format' for operators? like, what is the long name for circumfix:{'(',')'} ?
14:42 jferrero joined perl6
14:42 lichtkind shiit PerlJam .... Just another Perl disctator
14:42 lichtkind dictator
14:42 PerlJam fglock: um ... isn't that the long name?
14:43 PerlJam (thought, I'd've used circumfix:< ( ) > or something)
14:43 fglock I mean, name.as(Str)
14:43 PerlJam s/ght/gh/
14:43 PerlJam fglock: oh, I see.
14:43 lichtkind PerlJam i just want to help bit out and do some things i belive in since i really relly relly wish that perl6 will kick asses
14:43 PerlJam like for dumper output?
14:44 PerlJam lichtkind: perl6 tutorials will help adoption.
14:44 [particle] fglock: i don't know about any longname for ops
14:44 lichtkind PerlJam yes thats in my interest
14:45 lichtkind PerlJam what are the main unexplored teritories in perl6 spec ?
14:45 fglock joined perl6
14:45 fglock joined perl6
14:45 fglock PerlJam: it's for feeding the precedence parser, actually
14:46 PerlJam lichtkind: I haven't given it much thought.  The best way to find out would be (assuming you know all about perl5 already) to read the Synopses and see what's missing.
14:46 DaGo joined perl6
14:47 lichtkind PerlJam so far i know is concurency and multithreading one of the still open question
14:50 lichtkind PerlJam and Perl5 duh i do since 2 and half years, dont know all modules but i think i know most of the language since i give talks about :)
14:52 audreyt fglock: we both should resume blogging about the refactoring/cleaup/speedup efforts :)
14:54 audreyt kane-xs: the PERL5_CPANPLUS_IS_RUNNING integration is Alias's baby...
14:54 audreyt I don't think it's been added to Module::AutoInstall yet
14:54 kane-xs audreyt: then he'll have to check the ticket i think
14:54 fglock audreyt: ok
14:54 audreyt if you or he would added it in, then I'd be happy to releas M::Sig again with that
14:54 prefiks joined perl6
14:54 kane-xs audreyt: oh, i thought M::AI was part of M::I :)
14:54 audreyt it is
14:55 audreyt but M::AI is only checking for running-under--cpan.pm
14:55 audreyt not PERL5_CPANPLUS_IS_RUNNING
14:55 kane-xs odd.. m::i is checking it...
14:55 fglock I think the Parse::Yapp table can be compressed by about 5x with some additional op table hashes
14:55 audreyt commits... welcome :)
14:55 kane-xs audreyt: i'm not even gonna pretend i understand that code ;)
14:56 audreyt (it's http://svn.openfoundry.org/modinstall/trunk/Module-Install/lib/Module/AutoInstall.pm)
14:56 audreyt (and you are committer :))
14:56 kane-xs ... hurrah....
15:02 fglock biab &
15:05 TimToady audreyt: I used "important parameters" yesterday, fwiw
15:05 TimToady to do variable associativity you'd have to store everything as list associative and decide at run time.
15:06 TimToady seems rather onerous.
15:06 audreyt TimToady: there's still plenty of "invocant parameters" laying around after refactoring... I'll excise them now
15:06 TimToady I nailed some yesterday, but not surprised.
15:07 TimToady mostly try to use longnames
15:07 TimToady where it can be referred to in bulk
15:07 spoopithy joined perl6
15:11 audreyt k. done.
15:12 audreyt the blessing-in-disguise of Haskell's horribly slow String type is
15:12 audreyt whenever I clean up some code to use proper types, there's an automatic performance gain
15:13 luqui hmm the opposite of C++
15:13 luqui nice.
15:13 audreyt which is quite unlike in perl5, where the performance is tilted the other way around
15:17 audreyt but that's really retro justification. there's really no excuse for a slow default String type, and it's getting fixed ;)
15:18 luqui audreyt, I assume the fix will still allow you to pretend a string is a linked list of characters
15:20 audreyt sure, it dups the List API
15:20 audreyt it's just it's now internally stored in (buffer, offset, length) triples
15:20 audreyt (possibly an infinite list of them if needed to be lazy)
15:20 luqui so is it basically FPS?
15:21 luqui (which I never really used)
15:21 audreyt er, it _is_ FPS, and it's GHC core as of 6.5 (will be released in 6.6)
15:21 luqui cool
15:21 audreyt it's renamed to ByteString, but yeah.
15:21 luqui oh, so String will be the same old string?
15:21 luqui rt
15:21 luqui er
15:21 luqui yeah
15:21 luqui because it's an alias for [Char]
15:22 audreyt right but the list functions are getting typeclassed, so your code can work polymorphically on [Char] or ByteString
15:22 luqui ooh, and I could also make my own mock List??
15:22 audreyt that's the idea
15:22 luqui yummy
15:23 audreyt see Data.Traversable, Data.Foldable, Control.Applicative in the new GHC module hierarchy
15:23 audreyt and finally an interactive single-step debugger ;)
15:24 luqui yeah... I never really found a use for buddha
15:26 luqui so is there a way to create Val Sigs?
15:26 luqui or, rather, if one somehow made it into perl6 userland, would it be a functional object?
15:28 TimToady define "functional" and "object"...
15:29 audreyt luqui: it would.
15:29 luqui heh.  "not-exploding thing"
15:29 luqui is some form of (old-style Code)::sig already written?
15:29 TimToady but the function of some things is to explode. <scratcheshead>
15:30 audreyt luqui: no. it's just [Param]
15:30 xerox Also, LazyByteString = [ByteString]
15:30 luqui kay.
15:30 * luqui has a mind to write one
15:30 luqui ... so he can implement the Main stuff
15:30 audreyt luqui: see src/Pugs/AST/CapInternals.hs
15:30 pjcj joined perl6
15:30 * xerox had a sneak peek into d&d paper :D
15:30 audreyt see "data Sig"
15:31 audreyt and see if it makes sense to you
15:31 weinig|zZz is now known as weinig|coffeee
15:31 audreyt oh wait
15:31 audreyt gaal is already checked it in
15:31 audreyt src/Pugs/Val/Pure.hs
15:31 luqui also in Val/Code
15:31 audreyt as "data Sig"
15:32 audreyt right. the Code one is active
15:32 audreyt the Pure.hs one is not
15:32 audreyt so the first thing you need to do is
15:32 audreyt because you can't use "vv" to piggyback an oldval and convert to newval
15:33 [mago] joined perl6
15:33 audreyt you actually have to have a way to parse a Sig literal
15:33 audreyt and return it as a (VV PureSig)
15:33 audreyt luckily, such code already exists in parser
15:33 luqui uh, I want to grab a Sig from Code...
15:33 luqui i.e. an existing Code object
15:34 audreyt oh ok
15:34 luqui since that has significantly less information (I'm guessing)
15:34 audreyt in Prim.Code add a Code.signature then?
15:34 luqui I'll just fudge the details
15:34 audreyt and write [Param] -> Sig converter
15:34 luqui is it .sig or .signature?
15:34 luqui where would paramsToSig go?
15:34 audreyt I don't know... I also don't know if it's .signature and .returns, or if .signature takes both
15:34 luqui (that is usually my biggest problem with writing new things, I don't know which file to put it in :-)
15:35 [mago] ping fglock
15:35 audreyt because our oldland VCode only takes [Param] as its signature slot
15:35 audreyt you have to either convert that slot into a proper Sig
15:35 audreyt (which involves hacking away most of Pugs.Bind)
15:35 audreyt or you take an easy way and just write a converter to take existing [Param]
15:36 luqui right, the latter one
15:36 audreyt and put it into a nicely introspectible Sig structure
15:36 audreyt which can behave as a full fledged object.
15:44 luqui is s_requiredNames the names of all required params or the names of required named params?
15:44 luqui s/named/named-only/
15:46 audreyt both pos and namedonly
15:46 audreyt because pos may be bound that way too
15:47 luqui that's what I hoped
15:47 audreyt please sprinkle comments liberally! :)
15:47 kanru joined perl6
15:47 audreyt (that was largely two days of intensive typing by gaal and intensive handwaving by yours truly
15:47 audreyt )
15:48 luqui heh okay
15:51 luqui what is paramDefault in old sig if there isn't one?
15:51 luqui er, old param
15:53 luqui also, what is p_label?
15:53 luqui (comment is E.g. :mode, which doesn't make sense to me)
15:54 kolibrie audreyt: how much hype is Jifty::Query, and how much is planned, hoped, specced, written?
15:56 audreyt kolibrie: it's all hype. Object::Declare sketches are there but $client wants the other pieces of technology first (client-side continuations, REST, and then declarative views)
15:56 audreyt as my Jifty-side work is all demand-driven, J::Q is pushed into backqueue a bit
15:56 kolibrie audreyt: ok
15:57 audreyt (and curious enough $client now wants me to hack more haskell for AFP parsing, so even jifty is pushed into backqueue a bit until next week)
15:58 obra !
15:58 audreyt luqui: in old param I imagine it's undef
15:58 luqui VUndef?
15:58 luqui er, it's an Exp
15:58 luqui so, Val VUndef?
15:58 kolibrie this whole week has been full of interruptions/priority shifts for me
15:58 kolibrie not so fun
15:59 audreyt luqui: sub f(  :mode($moose) ) {}
15:59 audreyt luqui: yes.
16:00 luqui audreyt, oh, an alternate name for the param?
16:00 luqui sub f($moose) {...}, is label 'moose'?
16:01 audreyt yes.
16:01 luqui or :moose?
16:01 audreyt "moose"
16:01 audreyt the : is surface notation
16:01 luqui kay
16:03 buetow joined perl6
16:05 audreyt @pl foldr (.) id
16:07 luqui p_isRef?
16:07 audreyt passed-by-reference
16:07 Limbic_Region yeah - apparently I successfully uploaded my smoke results
16:08 luqui audreyt, isn't that just 'is rw'?
16:08 audreyt there's also a "is ref".
16:08 audreyt apparently "is rw" autovivifies in addition to "is ref" semantic
16:08 audreyt my @a; isrw(@a[1]) will apparently fail
16:08 audreyt ( sub isrw ( $x is rw ) {... } )
16:09 luqui audreyt, your example will... fail?
16:09 audreyt not exactly sure what other difference there might have
16:09 audreyt sorry
16:09 audreyt s/rw/ref/g
16:09 audreyt sorry. isrw will succeed
16:09 audreyt typo.
16:09 audreyt my @a; isref(@a[1]); sub isref { $x is ref } ...
16:10 luqui is hasAccess = AccessRW and isRef = False inconsistent?
16:10 Limbic_Region is there any need to distinguish between Win32/MinGW and Win32/MSVC in the smoke results?
16:11 audreyt luqui: indeed. so maybe we want to merge these two fields
16:12 audreyt RO/RW/Ref/Copy
16:13 weinig joined perl6
16:13 turrepurre joined perl6
16:13 luqui seems reasonable...
16:15 * audreyt popnders the C# "is out"
16:15 Limbic_Region audreyt - the better examples testing is going to have to be put on hold - I have bugs with FindBin and File::Find no workie on this platform (opendir not implemented on this platform)
16:15 audreyt ...never mind :)
16:15 audreyt we have something better (named return values)
16:15 Limbic_Region what is the proper way to file bug reports against ext/<module> ???
16:15 audreyt Limbic_Region: (!)
16:16 * Limbic_Region looks at audreyt dazed and confused
16:16 audreyt openDirStream not available on win32?
16:16 audreyt wow, indeed.
16:17 audreyt I see that we need to use FindFirstFileA and friends.
16:17 Limbic_Region the FindBin I can get around by just assuming examples is one dir away from where pugs is and that if on a Win32ish machine it should be pugs.exe
16:17 Limbic_Region the File::Find issue is not so overcomeable though
16:19 * audreyt discovers how darcs's CGI interface solves this problem
16:20 audreyt by calling a perl script that contains opendir(). ;)
16:20 [particle] opendir works fine on win32
16:20 Limbic_Region particle - tell that to ext/File-Find
16:21 audreyt [particle]: even with MSVC?
16:21 audreyt hm. I might've missed something
16:22 [particle] yes, audrey. i've been using opendir and file::find x-platform for years
16:22 [particle] 10 years, in fact
16:22 audreyt ...in this portable unix called perl5
16:22 [particle] and note File::Find::Rule 0.3.0 passes tests on cygwin and mswin32
16:22 audreyt (this is in haskell context, which doesn't yet have a good wrapper for opendir() on win32)
16:23 audreyt hm, the alleged "opendir" opcode doesn't exist in parrot, either.
16:24 * audreyt looks into some other place to get code from
16:24 lichtkind PerlJam is there something too you yesterday wanted to tell about you ?
16:24 audreyt [particle]: we've been talking about File::Find and FindBin.pm written in perl6... sorry for the confusion
16:24 Limbic_Region yeah, I assumed the ext/ prefix would have made that clear
16:25 Limbic_Region I just made an 'ass' out of 'u' and 'me'
16:25 audreyt Limbic_Region: can you code asif they work?
16:25 audreyt I'll make them work tomorrow.
16:25 audreyt (and also look into perl5 embedding on win32)
16:26 audreyt (so you can use perl5:File::Find::Rule too if needed :))
16:26 PerlJam audreyt: will perl6:File::Find faithfully reproduce perl5:File::Find's interface or will it be something completely different?
16:27 audreyt PerlJam: check ext/
16:27 Psyche^ joined perl6
16:27 PerlJam okay.
16:27 audreyt I think it's a pretty clode port. iirc.
16:27 audreyt *close
16:27 * PerlJam "svk pull"s first
16:27 audreyt it's been there for months :)
16:28 Limbic_Region audreyt - well, I could code as if they worked but I was trying to validate assumptions as I go - probably be lots of cleanup
16:28 * [particle] just realizes this is perl6... that makes more sense
16:28 [particle] okay, see os.pmc in parrot
16:28 audreyt Limbic_Region: *nod* or use feather to verify?
16:28 luqui audreyt, Not in scope: type constructor or class `Val.Param'
16:29 Limbic_Region for instance - my @files = $f.find; will @files include relative paths or just file names and if paths - will they have the right delimiters (file::spec) etc
16:29 luqui in AST/Internals
16:29 audreyt [qfirst thing I checked.
16:29 luqui whereas it is clearly defined...
16:29 audreyt [particle]: first thing I checked
16:29 audreyt opendir() not there
16:29 Limbic_Region audreyt - I can't get to feather from work - but no big deal, my busy $work week ended yesterday afternoon
16:29 jferrero joined perl6
16:29 Limbic_Region should have plenty of time on Monday to play
16:29 audreyt [particle]: and most of the code are #ifdef'ed with Win32 into
16:29 audreyt        real_exception(interpreter, NULL, E_NotImplementedError,
16:29 audreyt                "Win32 is not POSIX. Need win32 developer!");
16:30 PerlJam audreyt: heh, I just realized that I'm being stupid.  I asked about File::Find's interface because I was thinking "an iterator would be nice", but with perl6's laziness and such, I get that for free!
16:30 audreyt ...which really doesn't help :)
16:30 [particle] no, i guess it doesn't
16:30 Limbic_Region did you see the FindBin error I posted from earlier too?
16:30 Limbic_Region s/error/bug/
16:31 audreyt Limbic_Region: I saw it -- can you look into it?
16:31 audreyt FindBin.pm is, after all, just 50 lines or so :)
16:32 Limbic_Region audreyt - sure, I started too but then I needed to look at File::Spec and got discouraged - will look again
16:33 audreyt Limbic_Region++
16:34 Limbic_Region yeah - File::Spec.cwd on Win32/MinGW returns \
16:34 Limbic_Region that's not right and should be the first place to look
16:35 audreyt Limbic_Region: oh, you have access to `` and qx{} now
16:35 audreyt even on win32, I think
16:35 audreyt so use them liberally
16:36 * Limbic_Region likes to write portable code and isn't used to use `` liberally but he will try
16:36 Limbic_Region s/use/using/
16:37 luqui lunch &
16:37 audreyt wait a sec.
16:37 audreyt ?eval $*CWD
16:37 evalbot_12415 is now known as evalbot_12417
16:37 evalbot_12417 \undef
16:37 audreyt Limbic_Region: what does that return on your platform?
16:38 audreyt and does assigning to it work?
16:38 audreyt if both dos, please retool File::Spec.cwd to simply use that.
16:38 * audreyt remembers Schwern hacked $*CWD into pugs
16:38 Limbic_Region oh, let me see
16:39 Limbic_Region that's correct
16:39 Limbic_Region good stuff
16:39 audreyt yay
16:40 Limbic_Region so perhaps I can patch File::Spec
16:40 Limbic_Region not sure if it holds any other problems though
16:41 audreyt sure, but commit one thing at a time :)
16:41 Limbic_Region I doubt I am going to commit the examples tester before Monday
16:42 Limbic_Region sub cwd returns Str is export { return '\\'; } # huh?
16:42 Limbic_Region that's what Spec::Win32.pm has - is that even remotely correct?
16:43 Limbic_Region IOW - shouldn't it be $*CWD or some other attempt at finding out where we are
16:43 Psyche^ is now known as Patterner
16:45 fglock mago: pong
16:47 eden joined perl6
16:47 audreyt it should be $*CWD
16:47 audreyt please commit ahead
16:47 audreyt no idea what it's doing.
16:51 Limbic_Region checking in now - there was a comment above it about bad workarounds
16:52 svnbot6 r12418 | Limbic_Region++ | Fixed cwd() to use $*CWD audreyt++
16:53 [mago] fglock:  /j #perl.br-coordenacao
16:54 mdiep_ joined perl6
16:56 Pete_I joined perl6
16:57 Limbic_Region what class is the opendir method from and more importantly, is there a way to subclass it to fake opendir() working correctly?
16:58 audreyt opendir is currently a prim.
16:58 audreyt you can easily shadow it
16:58 audreyt my sub opendir () { ...
16:58 audreyt }
17:01 Limbic_Region ok - so if I wanted to do that temporarily and conditionally in File::Find - if ($?OS eq 'MSWin32') { ... } it will "just work"
17:01 Limbic_Region ?
17:02 audreyt hm no
17:02 audreyt you need something like
17:03 audreyt temp &opendir := sub {... }
17:03 audreyt because then it's runtime
17:03 audreyt or, even easier
17:03 audreyt my &opendir := (($?OS eq 'MSWin32') ?? sub {... } !! &*opendir);
17:04 audreyt or, to be more elaborate
17:04 audreyt my &opendir := &*opendir;
17:04 audreyt if ($?OS eq 'MSWin32') { &opendir := ... }
17:04 audreyt timtowtdi...
17:04 [particle] my &opendir := sub { ... } if $?OS eq 'MSWin32';
17:05 audreyt (brb)
17:05 Limbic_Region and is Perl 5 assumed to be present on the box or should I resort to ``?
17:05 audreyt [particle]: but that will leave it unbound
17:05 * Limbic_Region assumes Perl 5 until told otherwise
17:05 audreyt assume perl5 for now :)
17:05 audreyt whatever works fastest
17:05 audreyt [particle]: on unix that will then become
17:05 audreyt my &opendir;
17:06 audreyt which will faill whtn you try to call it
17:06 [particle] ah, so it will.
17:07 Limbic_Region `dir` will require further parsing which is why I am assuming Perl 5
17:07 Limbic_Region though dir /B works too
17:07 audreyt you should be able to say
17:07 audreyt @x = `dir /B`
17:07 audreyt or /S, forgot which
17:09 Limbic_Region the /S is used for subdirectories too - which would elimate the need for File::Find but since it would be better to use it - I am just going to make a temporary patch
17:09 audreyt ooh, I see GHC actually has opendir
17:09 audreyt on win32 in System.Posix.Internals
17:10 audreyt the questions is now whether it's a 6.5ism again or is it available on GHC 6.4.1
17:10 audreyt Limbic_Region: sure, cool
17:12 audreyt Limbic_Region: what does this output?
17:12 audreyt ghc-pkg describe base |grep Posix.Internals
17:12 audreyt if it says you have System.Posix.Internals, opendir() may be portable after all
17:12 Limbic_Region System.Posix.Internals System.Posix.Signals System.Posix.Types
17:13 Limbic_Region ok - so does that mean you want to try a patch?
17:13 amnesiac L~R!!!
17:13 Limbic_Region since I would actually have to figure out how to make an overidden opendir and readdir play nice together
17:13 Limbic_Region salutations amnesiac
17:13 Limbic_Region audreyt - this is 6.4.2 not 6.4.1 though I suspect it doesn't matter
17:14 Pete_I left perl6
17:15 audreyt aye
17:15 audreyt good. I'll try a Pugs.Compat patch.
17:16 justatheory joined perl6
17:16 Limbic_Region I am writing my temporary hackery just in case
17:22 bernhard joined perl6
17:23 Limbic_Region ?eval my @array = ("foo\n", "bar\n"); chomp @array; ~@array;
17:23 evalbot_12417 is now known as evalbot_12418
17:23 evalbot_12418 "foo\n bar\n"
17:23 audreyt Limbic_Region: please try
17:23 svnbot6 r12419 | audreyt++ | * Pugs.Compat: 0th cut of opendir/rewinddir/readdir/closedir
17:23 svnbot6 r12419 | audreyt++ |   for Win32.  Warning: May break the build!
17:23 audreyt Limbic_Region: chomp is now nondestructive
17:23 mauke @array.=chomp?
17:23 audreyt yup, I think
17:23 Limbic_Region audreyt - will try
17:24 Limbic_Region ?eval my @array = ("foo\n", "bar\n"); @array.=chomp; ~@array;
17:24 evalbot_12418 Error:  unexpected "=" expecting ".", subroutine name, array subscript, hash subscript or code subscript
17:24 audreyt ?eval my @array = ("foo\n", "bar\n"); @array .= chomp; ~@array
17:24 audreyt ?eval my @array = ("foo\n", "bar\n"); @array .= chomp; ~@array
17:24 evalbot_12418 "foo bar"
17:24 audreyt currently space is needed. that's a known parsebug
17:26 Limbic_Region audreyt - thanks, going to take a while for me to verify though - I did a realclean in the wrong window
17:26 Limbic_Region perlbot nopaste
17:26 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
17:28 pasteling "Limbic_Region" at 129.33.119.12 pasted "Proposed patch to ext/File-Find for Win32 if audreyt++ doesn't get it to work through GHC" (14 lines, 422B) at http://sial.org/pbot/19097
17:28 Limbic_Region can someone review that proposed patch in case audreyt's solution no workie?
17:32 [mago] ping merlyn
17:32 Limbic_Region audreyt - b0rk build
17:33 audreyt Limbic_Region: looks correct
17:33 audreyt Limbic_Region: nopaste buildlog?
17:33 pasteling "Limbic_Region" at 129.33.119.12 pasted "Build breakage on Win32 trying to add opendir/readdir/etc support" (33 lines, 2.1K) at http://sial.org/pbot/19098
17:34 audreyt try again
17:35 audreyt if it builds past Pugs.Compat, chances are that it works :)
17:37 Limbic_Region try what again - nmake?
17:37 svnbot6 r12420 | audreyt++ | * Pugs.Compat: build fix
17:37 audreyt svn up and then nmake
17:37 Limbic_Region oh, /me didn't see that
17:37 Limbic_Region heh
17:38 Limbic_Region ok, well patch standing by just in case
17:39 iblechbot joined perl6
17:41 lichtkind joined perl6
17:43 Limbic_Region audreyt - made it past that point
17:44 eden left perl6
17:45 audreyt good
17:45 audreyt then it probably works
17:45 audreyt Limbic_Region++
17:48 Limbic_Region will try the File::Find without my patch as soon as it is finished building
17:48 Limbic_Region but really, audreyt plus plus
17:48 audreyt there's always "nmake fast" :)
17:49 Limbic_Region all I did was complain that it wasn't working
17:49 eden joined perl6
17:49 Limbic_Region yes, but that doesn't help me in the long run since if it is successful (which it almost always is), I still have to do an optimized build afterwards
17:50 xerox joined perl6
17:51 audreyt *nod*
17:51 * xerox yows
17:51 audreyt well there's "make ghci"
17:51 audreyt which is even faster
17:51 audreyt and doesn't interfere with optimized build
17:51 audreyt it's what I use for development most of the time
17:51 Limbic_Region well, me is pretty ignant of such things
17:52 audreyt that's due to lack of docs more than anything :)
17:52 Limbic_Region so the patch to File::Spec::Win32 is fine
17:52 audreyt it is
17:52 Limbic_Region and that may or may not fix the FindBin issue - didn't get that far in testing
17:54 Limbic_Region so preference question - what method should I use to determine if `pugs -c <example>` should use pugs, pugs.exe, and/or absolute path - if $?OS again or what?
17:56 Limbic_Region audreyt - build still bork, pasting momentarily
17:57 pasteling "Limbic_Region" at 129.33.119.12 pasted "Win32 build error" (28 lines, 1.9K) at http://sial.org/pbot/19101
17:58 audreyt Limbic_Region: try again
17:58 audreyt (svn up and try again)
17:58 svnbot6 r12421 | audreyt++ | * Pugs.Compat: More build fix
17:58 chris2 joined perl6
18:00 tup joined perl6
18:03 JarJarBinks joined perl6
18:03 wolverian joined perl6
18:03 SamB joined perl6
18:03 PerlJam joined perl6
18:03 TimToady joined perl6
18:03 jiing joined perl6
18:03 kcwu joined perl6
18:03 lidden joined perl6
18:03 [mago] joined perl6
18:03 Psyche^ joined perl6
18:03 Shabble joined perl6
18:03 bernhard joined perl6
18:03 justatheory joined perl6
18:03 Psyche^ is now known as Patterner
18:03 ajs joined perl6
18:03 Schmooster joined perl6
18:03 beppu joined perl6
18:03 ludan joined perl6
18:04 foo\ joined perl6
18:04 nperez joined perl6
18:04 chris2 joined perl6
18:04 yuval joined perl6
18:04 Khisanth joined perl6
18:04 rw-rw-r-- joined perl6
18:04 lumi joined perl6
18:04 meppl joined perl6
18:04 Kattana joined perl6
18:04 hexmode joined perl6
18:05 xerox joined perl6
18:06 kanru joined perl6
18:07 Sartak joined perl6
18:07 DaGo joined perl6
18:07 Limbic_Region joined perl6
18:08 amv joined perl6
18:08 mollmerx joined perl6
18:08 elmex joined perl6
18:08 ingy joined perl6
18:08 ayrnieu joined perl6
18:08 nnunley joined perl6
18:08 f0rth joined perl6
18:08 gaal joined perl6
18:08 autark joined perl6
18:08 Grrrr joined perl6
18:08 avar joined perl6
18:08 glasser joined perl6
18:08 Limbic_Region that was fun - NOT
18:08 arguile joined perl6
18:08 obra joined perl6
18:08 bcorn joined perl6
18:08 pjcj joined perl6
18:08 bradleym|afk joined perl6
18:08 Limbic_Region audreyt - build still building, should have an answer soonish
18:12 fglock joined perl6
18:12 merlyn joined perl6
18:13 Juerd joined perl6
18:13 knewt joined perl6
18:13 hcchien joined perl6
18:13 kalven joined perl6
18:13 xern joined perl6
18:13 revdiablo joined perl6
18:13 notsri joined perl6
18:13 cookys joined perl6
18:13 clkao joined perl6
18:13 JarJarBinks joined perl6
18:13 c6rbon joined perl6
18:13 Maddingue joined perl6
18:15 Limbic_Region audreyt ping
18:17 audreyt pong.
18:18 Limbic_Region build works - not sure if File::Find works yet though
18:18 audreyt try ./pugs and then opendir/readdir a bit
18:18 Limbic_Region the build is still finishing up the Perl6:: stuff
18:19 Limbic_Region but pugs.exe exists
18:20 TimToady hmm. possible metaprogramming/linguistic epiphany:
18:20 TimToady ref -> WHAT
18:20 TimToady SKID -> WHO
18:20 TimToady META -> HOW
18:20 TimToady ... ?
18:20 TimToady how often are the interogatives used in "real programming"
18:21 TimToady .autodocs -> WHY
18:21 audreyt and to get a flow analysis graph use WHY()
18:22 audreyt ...autodocs?
18:22 TimToady any external documention
18:22 TimToady WHERE might be location of definition
18:23 Sartak is now known as Eidolos
18:23 TimToady WHEREFORE
18:23 TimToady WHITHER
18:24 audreyt WHENCE
18:24 TimToady WHEN for creation?  events? ???
18:24 TimToady timezone of the object?
18:24 audreyt GIVEN/WHEN
18:24 audreyt so probably not WHEN
18:24 TimToady still, available
18:25 audreyt aye
18:25 TimToady other question is whether method calls are really right for metas
18:25 TimToady could be other postfix
18:25 TimToady $obj?who
18:26 Limbic_Region audreyt - good news, File::Find is blowing up for a different reason - 'No compatible subroutine found: "$OUTER::wfile_cb"' # investigating now
18:26 TimToady ?who($obj) doesn't quite work unless longest token cuts in
18:26 TimToady $obj.^who maybe
18:27 TimToady $obj^who
18:27 audreyt Limbic_Region: likely your callback didn't take three args
18:27 Limbic_Region I think it is just a typo
18:29 TimToady $obj!who -- universal private method  :)
18:33 weinig joined perl6
18:33 TimToady maybe just stick with uppercase methods to discourage naive metaprogramming
18:33 weinig is now known as weinig|bbl
18:34 pasteling "Limbic_Region" at 129.33.119.12 pasted "The synopsis for File::Find is wrong??" (13 lines, 289B) at http://sial.org/pbot/19105
18:34 Limbic_Region audreyt - I am using the synopsis example from File::Find almost verbatim
18:35 Limbic_Region oh, yeah wanted_dir isn't defined me thinks
18:36 audreyt I think it's pugsbug. a sec
18:36 Limbic_Region I would think wanted_dir should be optional
18:36 Limbic_Region oh, pugsbug would be good
18:37 audreyt fixing.
18:37 Limbic_Region yeah - my $wdir_cb  = $wanted_dir  || $.wanted_dir  || sub { 1 };
18:43 Limbic_Region and here I thought it would take an hour or less to write this code
18:45 audreyt Limbic_Region: fixed.
18:45 Limbic_Region svn uping
18:45 audreyt huge commit coming
18:47 Limbic_Region well, the fix to File::Spec::Win32 didn't fix FindBin - say $FindBin::Bin is not saying anything at all
18:48 Limbic_Region hrmmm - something else fishy is going on - nevermind
18:49 audreyt r12424 fixes it.
18:49 audreyt (and makes parsing faster to boot.)
18:50 Limbic_Region ;-)
18:50 TimToady "huge commit coming".WHEN
18:51 audreyt already did
18:51 audreyt svnbot was netsplitted
18:51 TimToady 424 was it?
18:51 audreyt aye
18:51 TimToady k, smokin
18:51 Limbic_Region what does ^G mean with svn up?
18:52 audreyt merged with local changes cleanly
18:52 Limbic_Region IOW - G in 1st column
18:52 Yappo joined perl6
18:52 svnbot6 joined perl6
18:52 TimToady It's C you don't wanna see
18:52 Limbic_Region C code in Makefile.PL ?
18:52 audreyt indeed, as svn doesn't have smart interactive merge resolultion :)
18:52 Limbic_Region okie dokie
18:53 gaal $big_object.HOW_MUCH
18:53 gaal hello :)
18:54 TimToady $exception.HOWCOME
18:54 Limbic_Region build process already started
18:54 gaal $!.WHYME
18:55 ilogger2 joined perl6
18:55 SamB joined perl6
18:55 rnorwood joined perl6
18:55 TimToady run("rm -rf /").WHYNOT
18:55 meppl joined perl6
18:55 c6rbon joined perl6
18:55 beppu joined perl6
18:55 fglock joined perl6
18:56 TimToady Dog.WHICH -> version in scope
18:57 robkinyo1 joined perl6
18:57 TimToady $fido.WHAT # Dog
18:57 Limbic_Region joined perl6
18:58 TimToady $fido.WHICH # Dog-1.2-JRANDOM
18:59 zgh joined perl6
19:02 gaal Evan continues his series of excellent tutorials about Haskell, this time writing on typeclasses: http://community.livejournal.com/evan_tech/199837.html
19:02 TimToady or maybe WHICH is the id
19:02 robkinyon joined perl6
19:02 svnbot6 r12425 | audreyt++ | * Pugs.Eval.Var: Refactor findSyms a bit to improve
19:02 svnbot6 r12425 | audreyt++ |   readability and possibly win on branch predictaion.
19:02 TimToady WHO -> Dog; WHAT -> Dog-1.2-JRANDOM
19:03 perlbot joined perl6
19:03 Limbic_Region audreyt - is 12425 necessary or optional for me to test File::Find?
19:03 * Limbic_Region is still building
19:04 buubot joined perl6
19:04 audreyt optional
19:04 audreyt r12426 will be optional as well
19:05 TimToady or other way around, "who are you?" "I am a mere dog"
19:05 evalbot_12423 joined perl6
19:05 gaal is it possible to lexically have a class do a role? does that even make sense?
19:05 audreyt I thought runtime mixin is done by anonclasses
19:05 TimToady it's possible to have a lexically scoped name that refers to such a class
19:05 stevan joined perl6
19:06 audreyt which... yes, what TimToady said.
19:06 mauke joined perl6
19:06 audreyt you can temp it as well.
19:06 audreyt temporarily make the object do that role, that is
19:07 gaal hmm okay
19:07 audreyt but that's dynamically scoped
19:07 TimToady scary magic at a distance a la Ruby
19:07 TimToady smoking 425 instead
19:07 gaal Perl? Scary? No!
19:09 Limbic_Region speaking of smoking - I will repeat a question I posted earlier - is there any need in the smoke reports to differentiate Win32-MinGW and Win32-MSVC ?  One diff I know of for sure is that embedding parrot doesn't work with MSVCC (according to the comments anyway)
19:17 audreyt but MinGW havn't been made to work, I think, though I'm not sure.
19:18 Limbic_Region I don't try and embed anything
19:19 Limbic_Region was just wondering - build almost finished btw
19:19 cjeris joined perl6
19:22 Limbic_Region audreyt - my File::Find code is working now ;-)
19:22 Limbic_Region except that it isn't producing the correct results :-(
19:24 * Limbic_Region wanders off to work on it as it is likely operator headspace
19:25 * Limbic_Region is getting an 'user error (no tag found)' thingy on everything he runs now
19:25 svnbot6 r12426 | audreyt++ | * Pugs.Parser.Types - another 5% parsetime win by improving
19:25 svnbot6 r12426 | audreyt++ |   shared thunks via lazy record fields, and inlining the
19:25 svnbot6 r12426 | audreyt++ |   prevChar detection into "satisfy".
19:25 svnbot6 r12426 | audreyt++ |   Now if we can work the same magick into Pugs.Parser.Types.string
19:25 svnbot6 r12426 | audreyt++ |   then there's an easy 15% win, but I don't see how to easily
19:25 svnbot6 r12426 | audreyt++ |   do that...
19:29 audreyt gaal: it's getting to a point where yamlized prelude only saves 50% of the time :)
19:30 TimToady t/var/caller.t seems to be looping.
19:31 nowhereman joined perl6
19:31 TimToady killed it after 1.5 minutes
19:31 Limbic_Region audreyt - I r12424 results in pugs -e "say 'hello'" returning "user error (no tag found)\nhello"
19:31 Limbic_Region testing r12426 now
19:32 audreyt Limbic_Region: rm blib6/lib/Prelude.pm.yml
19:34 Limbic_Region as soon as make is finished
19:35 TimToady failed is now < 500, but passed also down some.  If you take away the 1.5 minutes of looping, got done in 22 minutes.
19:36 TimToady that's r12425
19:36 nowhereman left perl6
19:36 audreyt loop fixed
19:36 fglock joined perl6
19:36 audreyt is 22minutes a win?
19:37 audreyt (forgot how long it used to take)
19:38 [particle] joined perl6
19:38 svnbot6 r12427 | audreyt++ | * Fix infinite looping in CALLER::*
19:39 TimToady that would be a speed record, but hard to tell till we start passing everything again
19:39 TimToady a week ago I was happy to be under 30 minutes
19:39 audreyt since parsetime dominates, I doubt we are going to see it being slower when all passes
19:39 eden joined perl6
19:40 audreyt here my smoke loop is finally <10min
19:40 audreyt which is very handy :)
19:40 TimToady any idea on the caller.t loop?
19:40 audreyt 21:36 < audreyt> loop fixed
19:40 audreyt r12427
19:40 TimToady I need to learn to read.
19:41 * [particle] hands TimToady his specs
19:41 TimToady I only write those.
19:41 audreyt ($spec is wo)
19:41 [particle] ah, like perl5 :)
19:42 audreyt no, perl5 is oopened in append-only mode
19:42 audreyt perl6 actually overwrites in randomly seeked positions...
19:42 TimToady .WHENCE
19:43 pasteling "Limbic_Region" at 129.33.119.12 pasted "new bug ? See comment for description of weird behavior" (15 lines, 315B) at http://sial.org/pbot/19109
19:45 ede1 joined perl6
19:45 * Limbic_Region has another even better example of the weirdo bug
19:46 pasteling "Limbic_Region" at 129.33.119.12 pasted "another example of possible new bug" (8 lines, 138B) at http://sial.org/pbot/19110
19:46 audreyt I'm getting a "permission denied"
19:47 Limbic_Region no - see second example
19:47 Limbic_Region just putting use FindBin; in my code causes it to produce no output
19:49 audreyt hm
19:49 audreyt chaning your example to
19:50 audreyt $f.dirs = [qw/examples/];
19:51 audreyt made it work
19:51 Limbic_Region not for me - but I am 1 rev behind ATM
19:51 svnbot6 r12428 | audreyt++ | * File::Spec::Unix::cwd - use $*CWD as well
19:51 audreyt not a rev problem
19:52 Limbic_Region oh
19:52 Limbic_Region well, I don't know what to say then as it is still producing no output for me
19:52 audreyt even after you changed it to [] ?
19:53 Limbic_Region yes - to include the say "hello"; which should not be affected at all by whatever File::Find is doing
19:53 svnbot6 r12429 | kudra++ | This is the summary for the first three weeks of August, at least up
19:53 svnbot6 r12429 | kudra++ | until the 18th.
19:53 audreyt Limbic_Region: trace File::Find line 17
19:53 audreyt to see that @start iw indeed populated
19:53 audreyt and line 22
19:54 audreyt to see rel2abs is doing what it should do
19:54 [particle] general musing... can one say C<File::Spec.use> ?
19:54 Limbic_Region audreyt - sure, but even if they are completely empty - why would the say "hello"; not be produced
19:54 audreyt [particle]: yes, failing with undefined
19:54 audreyt Limbic_Region: line 27 of File::Find will fail if it's getting an empty dirname
19:54 audreyt Limbic_Region: and my opendir() sketch did not include error erporting
19:54 Limbic_Region and why would in the much simpler test case - adding use FindBin; cause a plain say "hello" not print
19:54 audreyt so it will just silently exist likely
19:54 Limbic_Region ahhhh
19:55 Limbic_Region nevermind then
19:55 audreyt s/exist/exit/
19:55 * Limbic_Region goes to check
19:55 audreyt so I really need to sleep :)
19:55 audreyt 4am here and got lunch meeting tomorrow
19:55 Limbic_Region sleep well
19:55 audreyt sorry for not sticking around through this :)
19:55 * audreyt waves &
19:55 * Limbic_Region will /msg the results
19:56 TimToady night!
19:56 [particle] is there a way to call use() in oo style on a package?
19:57 [particle] seems that may be one place there's missing oo syntax
19:57 audreyt if a package does not exist how do you call it?
19:57 [particle] hey you, go to sleep! :P
19:57 audreyt BEGIN { SomeModuleLoader.use("Some::Package::Name") }
19:57 audreyt maybe.
19:57 audreyt but never
19:57 mdiep_ joined perl6
19:57 audreyt BEGIN { perl5:DBI.use }
19:58 audreyt which really wouldn't make sense :)
19:58 [particle] i'm no pro with syntax, but the expressing the semantic is what i'm talking about
19:58 audreyt when you call a method you assume an object already exist
19:58 audreyt DBI.use is assuming DBI exists
19:58 audreyt but DBI wouldn't exist before you use() it
19:59 kane-xs isn't there a universal class?
19:59 [particle] i understand
19:59 audreyt kane-xs: yes, but this is more bareword recognition :)
19:59 [particle] kane-xs++ for asking my next question
19:59 audreyt it's like saying
19:59 kane-xs well, i'm just dropping in here :)
19:59 audreyt AnyRandomStringOfCharacters.anyMethod
19:59 audreyt should dispatch to Object.anyMethod
19:59 kane-xs but .method implies package or object for the string
20:00 kane-xs depending on sigil/bareword, yeah? :)
20:00 [particle] $BaseClass.use( 'DBI' ); or whatever
20:00 audreyt problem being that DBI.use is always resolved as DBI().use
20:00 audreyt and there is really no &DBI in scope...
20:00 audreyt (this is different from perl5)
20:01 kane-xs difference between parsing vs resolving though
20:01 audreyt (and when DBI is loaded, DBI() as a macro arranges to return the DBI prototype object)
20:01 audreyt I guess if you really want, it can work as a postfix macro.
20:01 audreyt called ".use"
20:01 kane-xs but dont let me try and stirr and argument, was just curious ;)
20:01 audreyt macro postfix:<.use>  { ... }
20:02 audreyt which... will work. but that dot has nothing to do with method dot anymore :)
20:02 [particle] is there an "everything is an object" idea in perl6 ?
20:02 TimToady sure, but barewords aren't.
20:02 audreyt yes. when you say "use DBI" you are actually invoking the object
20:02 [particle] barewords aren't allowed in perl6
20:02 audreyt &use
20:03 audreyt which is a Macro object
20:03 kane-xs if i had to fix this in perl5, i'd make DBI.use autovivify the the package DBI and make it inherit from UNIVERSAL, fixing it thusly
20:03 audreyt and you invoke it as a closure, etc.
20:03 PerlJam [particle]: sure they are.  But only in very specific circumstances.
20:03 TimToady this assumes a particular object model
20:03 * audreyt hands kane-xs UNIVERSAL::AUTOLOAD
20:03 PerlJam :-)
20:03 kane-xs i've used this...
20:03 [particle] i thought i read something about barewords being disallowed
20:03 kane-xs you can't scare me!
20:04 * audreyt blesses kane-xs into the package "0"
20:04 PerlJam [particle]: When you say "use Foo", what is "Foo", if not a bare word?
20:04 kane-xs :(
20:04 TimToady it's an argument to a macro
20:05 TimToady therefore not bare
20:05 PerlJam It looks fairly unadorned to me.
20:06 TimToady not to "use strict"
20:07 [particle] funny, that the explanation for no barewords in S02 uses C<use strict 'subs'>, but not as an example that 'strict' isn't a bareword
20:07 TimToady a word that is grammatically expected isn't unexpected.
20:08 [particle] well, from p5, i expect 'strict' to be a bareword
20:08 TimToady no
20:08 TimToady that is not the definition of bareword
20:08 TimToady it's a bare identifier, but not what we technically call a "bareword"
20:09 [particle] okay.
20:09 [particle] that is unclear to me.
20:09 TimToady declarators must be able to declare things.
20:09 TimToady sigils can be thought of as micro-declarators
20:10 [particle] as in <sub foo>, rather than forcing <sub &foo>, or <use ::Foo>
20:10 TimToady words that are predeclared some way are also not "bare".
20:10 [particle] ...or, resolved before runtime
20:10 TimToady macros are basically grammatical parsing exceptions.
20:10 PerlJam TimToady: bare thingies are okay as long as they are introduced to perl  ("all is fair if you predeclare"), right?  So  in "use strict", "use" is introducing us to the "strict" bare thingy.
20:11 TimToady yes.
20:11 TimToady we can even postintroduce in certain circumstances, such as foo =>
20:11 PerlJam right
20:11 TimToady and even postdeclared listops these days
20:12 TimToady but they still have to be resolved by the end of the file scope
20:12 audreyt infix:=> works as a macro that, though cannot affect lhs parsing, can indeed take a provisional call and turn it back into a string literal for lhs
20:12 [particle] file scope, or compilation unit?
20:12 TimToady yes
20:13 audreyt separate compilation, so file scope is compilation unit.
20:13 TimToady was just being a lazy typist
20:13 TimToady would have to resolve by end of eval '...' too.
20:13 audreyt sure, as it's its own compilation unit with a weird-looking filename
20:14 audreyt ... & for real :)
20:14 TimToady BEGIN {...} has to resolve by }
20:14 TimToady bout to send most recent smoke...
20:15 TimToady still generating .html
20:15 TimToady 21.43 minutes
20:15 TimToady a new record
20:15 TimToady audreyt++
20:16 TimToady bbl &
20:22 fglock joined perl6
20:22 svnbot6 r12430 | audreyt++ | * Pugs.Lexer: Another 5% in parsetime shaved by sharing
20:22 svnbot6 r12430 | audreyt++ |   as much code as possible betwen Pugs.Lexer.symbol's two
20:22 svnbot6 r12430 | audreyt++ |   branches, and delay evaluation until the match actually
20:22 svnbot6 r12430 | audreyt++ |   happened (so the result will be on the heap and closer to us.)
20:23 PerlPilot joined perl6
20:23 broquaint joined perl6
20:23 Frances joined perl6
20:23 pmurias joined perl6
20:23 wolverian joined perl6
20:23 audreyt joined perl6
20:23 rgs joined perl6
20:23 Psyche^ joined perl6
20:23 miyagawa_ joined perl6
20:23 crem joined perl6
20:23 xinming joined perl6
20:23 tcliou joined perl6
20:23 mugwump joined perl6
20:23 Psyche^ is now known as Patterner
20:23 dvorak joined perl6
20:23 LCamel joined perl6
20:23 [mago] joined perl6
20:23 jiing joined perl6
20:23 Khisanth joined perl6
20:23 yuval joined perl6
20:23 baest joined perl6
20:23 ludan joined perl6
20:24 justatheory joined perl6
20:24 Schmooster joined perl6
20:24 nperez joined perl6
20:24 Eimi joined perl6
20:24 PerlPilot is now known as PerlJam
20:24 chris2 joined perl6
20:24 thepler joined perl6
20:24 ajs joined perl6
20:24 amnesiac joined perl6
20:24 turrepurre joined perl6
20:24 tup joined perl6
20:24 pdcawley joined perl6
20:24 rafl joined perl6
20:24 lichtkind joined perl6
20:24 kanru joined perl6
20:27 fglock wow - Parse::Yapp tables were cut to 1% of previous size by using external hashes to store ops - still needs more tests as this is too good to be true :)
20:27 clkao (!)
20:27 fglock 400k to 4k
20:27 clkao oooo
20:27 clkao but sounds reasonable though. and the external hash can be dynamic!
20:27 clkao ;)
20:28 fglock sure - you can add same-precedence ops without recalculating the tables!
20:28 clkao eggcellent
20:28 fglock and recalculating the tables is much faster anyway
20:29 clkao so do you want to implement parsing of custom ops?
20:29 fglock sure
20:34 nothingmuch can you override *CORE::GLOBAL::system?
20:34 nothingmuch it's not working for me =/
20:35 ede1 is now known as eden
20:39 eden is now known as eden_c
20:49 rlb3 joined perl6
20:59 svnbot6 r12431 | fglock++ | pX/fglock/Precedence.pm - experimental optimization in the precedence Parser
21:05 lichtkind PerlJam ping ?
21:08 lichtkind audreyt i want say something to you
21:09 PerlJam pong
21:09 lichtkind ah
21:09 lichtkind ok
21:09 lollan joined perl6
21:10 lichtkind the good thing is that i will have next weeks time to work on this
21:10 lichtkind the flip side is offline on my yesterday purchased laptop
21:11 lichtkind since there is an semi official perl6 wiki i curretnly make some pages under http://perl.net.au/wiki/?title=Perl_6_Tutorial&amp;action=edit
21:11 lichtkind there will i commit from internet cafe
21:11 lichtkind and you all can edit there
21:11 lichtkind because i cant now check in via svn
21:11 lichtkind and its easier nevertheless for other to contribute
21:11 lichtkind PerlJam ok ?
21:12 PerlJam okay by me :)
21:14 lichtkind you have the connections and will drove the camels to the wiki :)
21:15 lichtkind PerlJam do you know alias ?
21:16 buu joined perl6
21:26 markstos joined perl6
21:38 kanru2 joined perl6
21:39 eden_c left perl6
21:43 TreyHarris ?eval $?OS
21:43 buu haha
21:43 TreyHarris oops
21:43 TreyHarris :-)
21:43 buu You killed it!
21:43 TreyHarris i got too nosey, wanted to know about its internals :-)
21:43 TreyHarris "you have no business asking me about my private parts!" /quit
21:48 lichtkind sorry guy may i ask who you are ?
21:48 lichtkind guys
21:53 lichtkind im just new here and wnted to ask
21:53 svnbot6 r12432 | fglock++ | v6 - reuse the Parse::Yapp object when possible; Test.pm compiles in less then 8s (25% faster)
21:57 mdiep_ joined perl6
22:02 TimToady ?eval 1+1
22:10 cjeris left perl6
22:11 jferrero joined perl6
22:26 svnbot6 r12433 | fglock++ | v6 - implemented 'xx'
22:32 MacVince joined perl6
22:32 fglock &
22:32 fglock left perl6
22:59 markstos I was surprised this generates a syntax error with a current build:
22:59 markstos my $re = qr/hello!/;
23:01 silug joined perl6
23:01 markstos The hang-up with the "!" character. Should this really be a syntax error? I can't see in, S05, about rules, that the meaning of "!" has changed here.
23:02 markstos Maybe 'qr' changed ?
23:02 markstos Oh yes. "rx". I see.
23:25 lumi_ joined perl6
23:30 TreyHarris TimToady: I gave my presentation at $job today.  I had an interesting question from the audience.  On my slide about junctions, I showed the good old "if any(@new) > all(@old)" example, and somebody asked, "that's very nice, but what if I want to know which of the values were greater?"  If there's an obvious (junctional) answer, I guess I'm blocking on what it is.
23:34 spoop joined perl6
23:44 markstos TreyHarris: for @new { say $_ if $_ > all(@old) };
23:45 markstos I guess that's not really a "junctive" answer, though.
23:46 TreyHarris or you could use gather and take, or grep.  but no, not junctive
23:46 markstos gather and take ?
23:47 TreyHarris @results = gather { for @new -> $i { take $i if $i > all(@old) } }
23:51 markstos Interesting. I hadn't seen that before. grep syntax seems more compact for this case, although it seems the old Perl5 grep syntax doesn't work anymore.
23:51 TreyHarris just follow the block with a comma
23:55 markstos Ah. Thanks.
23:55 * markstos goes to Hunt and Gather in Kitchen
23:58 zg1 joined perl6

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

Perl 6 | Reference Documentation | Rakudo