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
|