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