Think twice before running "make install" for Pugs | moritz.faui2k3.org/irclog/ | pugscode.org | sial.org/pbot/perl6 | ?eval [~] <m oo se> | We do Haskell, too | > reverse (show (scanl (*) 1 [1..] !! 4)) | "Perl 6 Today" video from YAPC::Asia: xrl.us/v6op Set by agentzh on 6 May 2007. |
|||
Aankhen`` | @seen agentzh | 00:02 | |
lambdabot | I saw agentzh leaving #perl6 1d 18h 1m 5s ago, and . | ||
Aankhen`` | Am I correct in thinking that $obj.meth, $obj.?meth, $obj.*meth and $obj.+meth only affect the candidate list, which {call,next}{same,with} use? The interaction between the two is confusing me. :-S | 00:06 | |
Oh. Um. Methods won't magically call their superclass methods, will they, now? Silly me. | 00:08 | ||
...no, still confused. | 00:09 | ||
00:18
weinigLap joined
00:19
ozo joined
00:25
stevan_ joined
00:33
guinex joined,
stef_ left
00:38
buetow joined,
lisppaste3 joined
00:39
stef_ joined
|
|||
TimToady | Aankhen``: you delegate to the next candidate in the list using nextsame() | 00:46 | |
but if called with .* or .+ you don't need to do that because it happens automatically. | |||
Aankhen`` | Oh, okay. | ||
What happens if it's called with .* or .+ and you use nextsame, though? | |||
TimToady | presumably the .* dispatcher is aware of that. | 00:47 | |
since it's basically just doing nextsame on your behalf | |||
Aankhen`` | Okay. | ||
00:47
weinigLap joined
|
|||
TimToady | and presumably the nextsame call itself is what iterates the next list item | 00:48 | |
Aankhen`` | ?eval 1.WHAT | 00:55 | |
00:55
evalbot_r16308 is now known as evalbot_r16314
|
|||
evalbot_r16314 | ::Int | 00:55 | |
Aankhen`` | ?eval 1.HOW | ||
evalbot_r16314 | ^Int | ||
Aankhen`` | ?eval 1.HOW.methods | ||
evalbot_r16314 | ["","LIST","ITEM","bless"] | ||
Patterner | ?eval 1.VALUE | ||
evalbot_r16314 | Error: No such method in class Int: &VALUE | ||
Aankhen`` | ?eval class Foo { }; Foo.new.HOW.methods | 00:56 | |
evalbot_r16314 | Error: No such method in class Class: &methods | ||
Aankhen`` | Bah. | ||
?eval class Foo { }; Foo.new.HOW | |||
evalbot_r16314 | \Class.new(("attrs" => {}), ("does" => ()), ("is" => ("Object",)), ("name" => "Foo")) | ||
Patterner | ?eval 1.methods | 00:57 | |
evalbot_r16314 | Error: No such method in class Int: &methods | ||
TimToady | we're all waiting for 6.28 | ||
00:59
ofer joined
01:11
lampus joined
|
|||
Aankhen`` | ?eval 1... | 01:15 | |
evalbot_r16314 | pugs: out of memory (requested 1048576 bytes) | ||
Aankhen`` | There's this line in porting_howto: (?=foo) -> <?before foo> | ||
The ? there is just to keep the <before> from being in the result object? | 01:16 | ||
TimToady | correct | ||
Aankhen`` | Kewl. | ||
TimToady | and lazy Range objects aren't really implemented yet either | ||
Aankhen`` | Yeh, I figured. | 01:17 | |
I just like to check up every now and then. :-P | |||
01:19
Southen joined
|
|||
Aankhen`` | Huh, this doesn't seem right (again from porting_howto): \G -> <( .pos == $oldpos )> | 01:20 | |
Should that be <{ ... }> instead? | |||
IIRC from S05, <( ... )> means that the result object only contains whatever's inside the parentheses.. | 01:21 | ||
s/.$// | |||
?eval say "\X[263a]" | 01:22 | ||
evalbot_r16314 | OUTPUT[X[263a]] Bool::True | ||
Aankhen`` | Poop. | ||
TimToady | should be <?{...}> or it uses the result as a subrule | 01:23 | |
Aankhen`` | Ah, right, my bad. | ||
Aankhen`` fixes. | |||
svnbot6 | r16315 | Aankhen++ | * docs/other/porting_howto: fixed \G translation | 01:25 | |
Aankhen`` | Hmm, I wish I knew what I was thinking when I wrote this: /$1/ -> my $old1 = $1; /$old1/ | 01:27 | |
Or at least that I remembered writing it. | |||
01:27
edenc_ joined
|
|||
Aankhen`` | Wouldn't work anyway, come to think of it. | 01:27 | |
01:31
japhb joined
|
|||
svnbot6 | r16316 | Aankhen++ | * docs/other/porting_howto: fixed (hopefully) `/$1/ -> ...` line. | 01:31 | |
01:34
weinigLap joined
01:47
ggoebel joined
02:10
torz joined
02:14
nekokak_ joined,
mj41_ joined
02:15
mj41_ is now known as mj41,
lampus joined,
stef_ joined,
spinclad joined,
BooK joined,
diakopter joined,
PerlJam joined,
wolverian joined,
mr_ank joined,
svnbot6 joined,
zamolxes joined,
fridim joined,
lumi joined,
Casan joined,
ingy joined,
TimToady joined,
nekokak joined,
pjcj joined,
statico joined,
wilx joined,
clkao joined
02:22
zperl joined
|
|||
zperl | ?eval say 'Good morning, Pugs' | 02:26 | |
02:26
evalbot_r16314 is now known as evalbot_r16316
|
|||
evalbot_r16316 | OUTPUT[Good morning, Pugs] Bool::True | 02:26 | |
02:26
SubStack joined
02:28
weinigLap_ joined
02:29
weinigLap joined
02:36
mako132_ joined
02:37
dolmans joined
02:39
nipotaway is now known as nipotan
|
|||
avar | mm, yummy p6 sux thread on perlmonks:) | 02:55 | |
perlmonks.org/?node_id=614624 # If anyone knows the answer to the latest Q .. :) | 02:57 | ||
lambdabot | Title: What's wrong with Perl 6? | ||
03:06
foof joined
|
|||
PerlJam | avar: That thread started days ago. | 03:10 | |
03:10
bonesss joined
|
|||
avar | ya, I know | 03:10 | |
PerlJam | avar: Are you *sure* there are no Perl 6 modules on CPAN? | 03:12 | |
Aankhen`` | Perl6::Junction? Perl6::Gather? Perl6::Perldoc? | ||
(Those are the ones I remember off-hand.) | |||
PerlJam | But you've hit on an important point: CPAN needs to grow to accomodate Perl 6 and it hasn't really. | ||
Aankhen`` | Or did you mean modules written in Perl 6? | 03:13 | |
foof | Perl6::Form | ||
avar | those are perl 5 modules that emulate p6 | ||
foof | ... speaking of which, how do you format numbers with commas but no decimal points? | ||
Aankhen`` | So you did mean modules written in Perl 6. | ||
avar | yup, I thought that was apperenty, apperently not:) | ||
Aankhen`` | Well, for one, search.cpan.org would have to figure out how to distinguish between Perl 5's POD and Perl 6's Pod. | 03:14 | |
Er. | |||
avar | you could write it in p5 pod | ||
Aankhen`` | Sorry, s/search\.cpan\.org/CPAN as a whole/. | ||
avar | or you could just write it in p6 pod and have it look sucky | ||
PerlJam | avar: your objections are much better than w-ber's though. l6::Form | ||
Aankhen`` | :-) | ||
PerlJam | oops. stray mouse click. | ||
perlmonks.org/?node_id=615819 | 03:15 | ||
lambdabot | Title: Re: What's wrong with Perl 6? | ||
Aankhen`` | Forcing everyone to document Perl 6 modules using Perl 5 POD is a really bad idea going forwards. | ||
avar | true, but that's just search.cpan.org lameness, I'm more interested in adding an index of p6 modules and having something to install them | 03:17 | |
Aankhen`` | Right. | ||
I was just throwing up roadblocks. :-) | |||
avar | oh noes!:) | 03:18 | |
Aankhen`` | Heh, one of the messages in that thread cites an article from 2003. | ||
03:20
amnesiac joined
|
|||
foof | I was thinking a format like {],]]]} where the brackets to the right of the , are right brackets would indicate the , as a comma separator rather than a decimal separator, but then you couldn't right justify after a decimal separator. | 03:21 | |
Alternately, {],]]],]]]} could only mean , is a comma separator, but then you can't have a smaller width. | 03:22 | ||
03:31
drbean joined
|
|||
foof | Actually, am I mistaken or is there no way to format numbers without putting them in a fixed-width field? | 03:35 | |
03:51
wolverian joined,
diakopter joined,
Casan joined,
clkao joined,
statico joined,
ingy joined
03:52
lumi joined
|
|||
Aankhen`` | avar: One problem with Perl 6 modules on CPAN is… how do you differentiate Perl 5 modules from their Perl 6 ports | 03:53 | |
? | |||
03:53
wilx joined
|
|||
avar | with magic | 03:53 | |
Aankhen`` | Ah, glad we cleared that up. I feel a lot better now. | 03:54 | |
avar | I don't know, how is this specced in the synopsis? | ||
in any case nothing will break if they're not indexed by the normal index files | |||
Aankhen`` | I don't seem to recall reading any specs about this. :-S | ||
03:54
stef_ joined
|
|||
Aankhen`` | Oh, sure. | 03:54 | |
03:56
lampus joined,
spinclad joined,
BooK joined,
PerlJam joined,
mr_ank joined,
svnbot6 joined,
zamolxes joined,
fridim joined,
TimToady joined,
pjcj joined,
BooK_ joined
03:57
PerlPilot joined
03:59
zamolxes_ joined,
TimToady joined,
pjcj_ joined,
lampus_ joined
04:00
spinclad_ joined
04:02
mr_ank_ joined
04:07
nperez joined
|
|||
foof | "(define\n (fold kons knil ls)\n (define (loop ls acc) (if (null? ls) acc (loop (cdr ls) (kons (car ls) acc)))\n\n (if (null? ls) acc (loop (cdr ls) (kons (car ls) acc))))\n (loop ls knil))" | 04:22 | |
oops, wrong window | 04:23 | ||
amnesiac | what the... | ||
foof | sorry, my screen(1) installation is broken and I'm struggling with a bunch of scattered xterms | 04:25 | |
amnesiac | what is kons and knil? user defined cons and nil symbols? | ||
foof | yeah, basically - it's a generic foldl operation | 04:26 | |
if you pass it cons and nil it's effectively a list-copy | 04:27 | ||
... I mean reverse | |||
amnesiac | I see | 04:29 | |
04:48
zamolxes_ is now known as zamolxes
05:00
stef_ joined
05:05
ddwagnz joined
|
|||
Aankhen`` | (?(c)t|f) [ c :: t | f ] # is this accurate? I interpret the pattern on the right to mean c, with no backtracking allowed, followed by either t or f. :-S | 05:05 | |
05:05
BooK joined
|
|||
Aankhen`` | s/no backtracking allowed/backtracking causing the group to fail/ | 05:06 | |
I would have thought it's more like [ <{ (c) ?? t !! f }> ] | 05:08 | ||
Speaking of which, from S05: "A leading { indicates code that produces a regex to be interpolated into the pattern at that point as a subrule". So String objects are automatically turned into Regex objects, with Regex objects being treated as subrules? | 05:10 | ||
svnbot6 | r16317 | Darren_Duncan++ | ext/QDRDBMS/ : updated some terminology in Language.pod, and some parameters in Operators.pm | 05:27 | |
05:32
devogon joined,
SubStack joined
06:00
hirschnase joined
06:06
weinigLap joined
|
|||
TimToady | Aankhen``: yes, <{ $x }> will compile $x into Regex if it isn't already one, hopefully caching the Regex so it doesn't have to recompile if the string doesn't change. | 06:08 | |
though it occurs to me that <$( $x )> would do the same | 06:09 | ||
Aankhen`` | Neat. | 06:11 | |
TimToady | on [ c :: t | f ] the :: binds tighter than the | | ||
should probably be || nowadays though | |||
Aankhen`` | Okay. | ||
TimToady | if c fails it goes to f, if t fails it doesn't | ||
Aankhen`` | Ohh. | 06:12 | |
Hmm. | |||
Ah. | |||
TimToady | so it really is if/then/else in regexland | ||
Aankhen`` | Makes sense. | ||
TimToady | and stacks vertically nicely, though that's hard to show on irc | ||
Aankhen`` | Should have known better than to doubt such an elegant construct. ^_^ | ||
TimToady | was sort of an aha moment while writing A5 | ||
Aankhen`` | So basically, the only change it needs is s/\|/||/ to make sure the sequence is preserved, aye? | 06:13 | |
TimToady | yes, though arguably use of | just means the c's are tested in longest token order | 06:14 | |
06:14
rfordinal joined
|
|||
TimToady | since :: explicitly terminates the longest token match | 06:14 | |
in addition to controlling the backtrack | |||
dduncan | question: did there seem to be any merit to my suggestion of fundamentally using $ for all variables and changing @% etc to a subset of former uses? ... or did it sound without merit? ... or did I just miscommunicate the idea? | 06:16 | |
there were no replies, so I'm not sure if people didn't understand what I said, or if it was simply dismissed as not wasting time to reply to | 06:17 | ||
svnbot6 | r16318 | Aankhen++ | docs/other/porting_howto: | ||
r16318 | Aankhen++ | * slight update to (?(c)t|f) translation. | |||
dduncan | (it was on p6l) | ||
TimToady | it seems to me to be akin to the original Highlander Variable proposal, and therefore suffer the same flaws mentioned in A2. | 06:19 | |
dduncan | I'm not sure what you refer to exactly, but I don't think what I was proposing is so extreme. | 06:21 | |
it was just the @ and % sigils I suggested changing to @$ and %$, but any other sigils can stay the same | 06:22 | ||
TimToady | that would not be at all acceptable to the typical Perl 5 programmer. | ||
06:23
Averell joined
|
|||
TimToady | and you have to explain why &$ is exempt | 06:23 | |
06:23
jisom joined
|
|||
dduncan | a question then, based on the way things currently are ... | 06:23 | |
TimToady | I'd just rather keep those namespaces separate | ||
dduncan | I agree with keeping routines separate | ||
now, ... | |||
what sorts of sigils should each of these have: Set, Mapping, Capture, Signature, Pair? | 06:24 | ||
I know you can use : or | etc in declaring ... | |||
but afaik those aren't kept as sigils in variables of those types | |||
TimToady | none of those occur frequently enough to deserve anything beyond $ | 06:25 | |
dduncan | Seq likewise? | ||
so are you saying that Array and Hash get their own for huffmanizing? | |||
TimToady | that's more like an Array | ||
dduncan | they are used a lot | ||
TimToady | mostly anonymously | ||
dduncan | so would a Seq variable have a @ or $ ? | 06:26 | |
TimToady | Seq is immutable, so it's not a variable... :P | 06:27 | |
dduncan | let me rephrase that ... | ||
TimToady | Seq is not used much at all in the t/ director | ||
y | |||
dduncan | would a variable defined to just hold Seq values have a @ or $ ? | ||
TimToady | you can bind a Seq to either $ or % | ||
@ I mean | 06:28 | ||
dduncan | so then, Seq is the same as Array, in that it can bind to either $ or @ ? | ||
TimToady | basically | ||
dduncan | would then Mapping bind to $ or % as a Hash does? | ||
TimToady | presumably | 06:29 | |
and Code can bind to $ or & | |||
dduncan | how about Set and Bag etc ... I would imagine either % or $ as well? | ||
would a Pair bind to a % , or just a $ ? | 06:30 | ||
06:30
baest_ is now known as baest
|
|||
TimToady | Indeed, the synopses discuss modelling them on hashes with automatic values | 06:30 | |
I imagine you could bind a Pair to be a tiny hash | |||
dduncan | it is with the mutable versions, so I suppose the immutable versions could have the same sigils | ||
okay ... | 06:31 | ||
TimToady | yeah, we don't really distinguish mutable vs immutable variables syntactically | ||
they just complain if you try to vary them... | |||
dduncan | part of the reason I raised the whole issue is that it seemed not so good that just Array and Hash have those extra sigils just for them, and other container types didn't ... but from what I'm reading above, it doesn't sound like my concerns in this regard are valid ... the other collection types can bind to @ or % too | 06:32 | |
TimToady | and presumably the compiler can sometimes intuit more than that | ||
or both | |||
dduncan | still, that takes care of a large part of my concern, so thanks for clearing this up | ||
TimToady | sure | ||
dduncan | do the Synopsis cover all the details we just discussed, or do you mind updating them so? | 06:33 | |
TimToady | array and hash sigils are a semantic huffmanization explored by earlier Perl with pretty good results | ||
the * sigil was a mistake though... | |||
dduncan | sure | ||
TimToady | uh, I think you could derive everything I said, but it's perhaps not always stated in so many words | 06:34 | |
dduncan | on a separate matter, I'm happy to see the returns->as rename occurred in the Synopsis as we discussed last week | ||
sure, but sometimes it helps to have some things explicitly stated | |||
TimToady | up to a point, after which you're just repeating yourself... :) | 06:35 | |
dduncan | eg, explicitly state what are all the built-in types that could typically bind to each of the sigils | ||
so eg if you said %foo in a signature, you can have an idea what range of built-in types you may get | |||
(and $ is like a maximal type sigil in that *anything* can bind to it, afaik) | 06:36 | ||
TimToady | I'll think about where best to put that--the original camel structure didn't really have a chapter for types... | ||
dduncan | sure | 06:37 | |
but afaik, the synopsis have somewhat evolved away from the Camel book already | |||
TimToady | so probably somewhere in S02 | ||
dduncan | sure | ||
on a different matter, possibly previously discussed ... | |||
given that afaik it is best practice when declaring parameter types or testing argument types that .does() is used, so that valid arguments for the parameter are ones that .does() the declared parameter type ... | 06:39 | ||
and given that we often have mutable types saying they do immutable types, eg Array does Seq ... | |||
I get the impression that if I declare a parameter of type Seq, I could validly be handed an array? | 06:40 | ||
06:40
Psyche^ joined
|
|||
TimToady | I suppose so. 'Course, all parameters are considered readonly by default anyway... | 06:40 | |
dduncan | but the reason I asked for a Seq is that I want the value I am given to be immutable, so eg if I then assign it to one of my private attributes, then subsequent modification of a passed array argument won't affect my attribute | 06:41 | |
afaik, the read-only thing just prevents me inside my routine from changing it, but doesn't prevent the above scenario | |||
or that is, read-only prevents me from assigning to the parameter | 06:42 | ||
TimToady | yeah, maybe we need an "is snap" or some such for a readonly snapshot | ||
or COW or something | |||
dduncan | and so then if the original is immutable, then the process doesn't make a copy, and if the argument is mutable, then it does make a snapshot | ||
TimToady | have the same problem if we allow people to use a class as a role | ||
we have to take a snapshot of the current state of the class and make an immutable role from it | 06:43 | ||
if objects have some kind of versioning builtin, then it could just refer to the particular state in time | |||
dduncan | still, if we can get that kind of protection, then it would be very useful to me, as I won't have to clone the argument manually in case it was mutable, to protect my internals | ||
TimToady | might work with STM somehow | 06:44 | |
dduncan | perhaps, though I thought STM was more for short-term atomicity | ||
still, thanks for anything you can do to design a fix for this matter, as I see it as a very real issue that would affect many peole | 06:45 | ||
TimToady | well, it's about proving lack of contradiction in some update order, and it just feels like "not updated" is one variety of assertion about the update. | ||
dduncan | is it worth my bringing up this matter on p6l, or is my just telling you now enough? | ||
TimToady | but maybe it's more of a COW issue underneath, so you only have to take a snapshot if someone has already claimed the mutability of the object. | 06:46 | |
dduncan | copy-on-write sounds reasonable ... | ||
for that matter, while I mentioned Arrays, I see this issue potentially affecting every data type | 06:47 | ||
TimToady | might be worth discussing on p6l; I'm likely to get distracted, and it's partly the implementors that have to figure out what it really means underneath | ||
dduncan | for example, if we have a random object that does Str or Int or Bool, they could be mutable too | ||
TimToady | sure, might even be worth some very short sugar | ||
dduncan | and for those it may not even be possible to work around outside the language, short of eg $copy = "$original" which forces a new Str to be made | 06:48 | |
and that is inefficient | |||
okay, I'll write up a quick thing about this on p6l now ... | 06:49 | ||
TimToady | maybe all objects have a .snap method to go with .bless and .clone | ||
dduncan | I may also just be lazy and copy this thread into it as the meat of the post, so they know what each of us said | ||
TimToady | would be okay too | ||
or just link to log | 06:50 | ||
dduncan | but .snap would be called lazily, citing COW | ||
TimToady | well, it's a noop on immutable types | ||
dduncan | I'll do both, assuming this thread is short, unless we go on for awhile | ||
yes | |||
TimToady | would only need COW on mutables | ||
dduncan | yes | ||
TimToady | well, I need to go to bed, my eyes are crossing | ||
dduncan | sure ... and it's midnight here | 06:51 | |
thanks for the chat | |||
TimToady | your welcome, night | ||
zzz & | |||
*you're | |||
06:57
Psyche^ is now known as Patterner
07:05
drupek12 joined
07:15
franck__ joined
|
|||
dduncan | and the p6l post is done | 08:04 | |
and I'm gone | 08:05 | ||
dduncan zzz | |||
Tene | dduncan: seeya | ||
08:05
iblechbot joined
08:21
bernhard joined
08:31
japhb joined
08:43
Jedai joined
08:50
pipping joined
08:55
andara joined
09:13
riffraff joined
09:20
ludan joined
|
|||
riffraff | hi | 09:21 | |
09:27
nwc10 left
|
|||
moritz | hi riffraff ;) | 09:29 | |
09:33
dduncan left
09:38
buetow joined,
polettix joined
09:48
ruoso joined
09:53
the_dormant joined
09:55
IllvilJa joined
10:13
hirschnase joined,
lde joined
10:23
sapir joined
|
|||
sapir | is there a page somewhere that describes how far away Perl 6 is from a full working implementation? | 10:25 | |
10:27
chris2 joined
|
|||
xinming | svn.pugscode.org/pugs/docs/01Overview.html | 10:38 | |
lambdabot | Title: Pugs Apocryphon 1 | ||
xinming | spinclad_: svn.pugscode.org/pugs/docs/01Overview.html | 10:39 | |
lambdabot | Title: Pugs Apocryphon 1 | ||
xinming | spinclad_: sorry, wrong completion. | ||
sapir: the url is for you. | |||
sapir | thanks | ||
10:40
spinclad_ is now known as spinclad
|
|||
sapir | does that mean Pugs doesn't have classes or rules yet? | 10:42 | |
mj41 | h, Mono:DLR www.oreillynet.com/xml/blog/2007/05...guage.html | 10:44 | |
lambdabot | Title: [Mono:DLR] Hello, Dynamic Language Runtime-enabled World! - O'Reilly XML Bl ..., tinyurl.com/yqexqp | ||
10:59
edenc joined
11:06
mjk joined,
the_dormant joined
11:14
rindolf joined
11:32
kanru joined
11:42
nipotan is now known as nipotaway
11:44
rho joined
11:47
jisom_ joined
11:51
lichtkind joined
|
|||
lichtkind | ?eval gather for (1,1,1,2,3) { state $previous = take $_; next if $_ === $previous; $previous = take $_ } | 11:52 | |
11:52
evalbot_r16316 is now known as evalbot_r16318
|
|||
evalbot_r16318 | (1, 1, 1, 1, 2, 3) | 11:52 | |
lichtkind | hahahaha | ||
like i thought the example in the syn 6is bad | |||
see under dev.perl.org/perl6/doc/design/syn/S..._statement | 11:53 | ||
lambdabot | Title: Synopsis 4: Blocks and Statements - perl6:, tinyurl.com/o9tb7 | ||
11:56
pipping joined
11:59
DarkWolf84 joined
12:00
cernd joined
12:20
the_dormant joined
|
|||
svnbot6 | r16319 | rhr++ | [examples/unitsdat-grammar.pl] Handle nested parens correctly (maybe). | 12:22 | |
r16319 | rhr++ | Recursive grammars make my head hurt... | |||
12:23
jerrylee joined
12:30
turrepurre joined
12:33
baest joined
12:53
carl_ joined,
carl_ left
13:00
DarkWolf84 joined
13:02
lampus_ is now known as lampus
|
|||
svnbot6 | r16320 | rhr++ | [examples/unitsdat-grammar.pl] Big refactoring, it actually makes sense now. | 13:14 | |
13:17
ludan joined
|
|||
lichtkind | ?eval gather { take 1, 2; take 5 } | 13:17 | |
13:17
evalbot_r16318 is now known as evalbot_r16319
|
|||
evalbot_r16319 | (1, 2, 5) | 13:17 | |
lichtkind | ?eval gather { take [1,1] ; take 5 } | ||
evalbot_r16319 | ([1, 1], 5) | ||
lichtkind | thanks | 13:18 | |
13:22
gnuvince left
13:23
the_dormant_ joined
13:27
[particle] joined
|
|||
lichtkind | ?eval do { 'as' } | 13:28 | |
evalbot_r16319 | "as" | ||
lichtkind | ?eval gather { 'as' } | ||
evalbot_r16319 | () | ||
lichtkind | ?eval gather { take 'cdf'; 'as' } | ||
evalbot_r16319 | ("cdf",) | ||
lichtkind | ?eval @maler = gather { | 13:30 | |
take 'Caspar David Friedrich'; | |||
take 'Paul Cezanne', 'Claude Monet'; | |||
'Alfred Sisley'; | |||
evalbot_r16319 | Error: Unexpected end of inputexpecting "use", statements or "}" | ||
lichtkind | } | ||
?eval @maler = gather {take 'Caspar David Friedrich';take 'Paul Cezanne', 'Claude Monet';'Alfred Sisley';} | 13:31 | ||
evalbot_r16319 | ["Caspar David Friedrich", "Paul Cezanne", "Claude Monet"] | ||
13:33
PerlPilot is now known as PerlJam
|
|||
svnbot6 | r16321 | rhr++ | [examples/unitsdat-grammar.pl] Add support for prefixes and plurals in definitions. | 13:33 | |
lichtkind | ?eval do { leave 2 } | 13:40 | |
evalbot_r16319 | (2,) | ||
lichtkind | ?eval do { leave 2; return 1 } | ||
evalbot_r16319 | (2,) | ||
lichtkind | ?eval do { return 1 } | ||
evalbot_r16319 | Error: Cannot cast from VUndef to Pugs.AST.Internals.VCode (VCode) | ||
lichtkind | ?eval sub r { return 1 } r(); | 13:41 | |
evalbot_r16319 | 1 | ||
lichtkind | ?eval sub r { leave 2; return 1 } r(); | ||
evalbot_r16319 | (no output) | ||
svnbot6 | r16322 | rhr++ | [examples/unitsdat-grammar.pl] Was allowing prefixes in the wrong place. | 13:44 | |
13:54
stevan_ joined
13:56
pack|pizza joined
14:06
dvorak joined
14:09
hatsuseno joined
14:20
fridim joined
14:31
pipping left
14:40
drupek12 joined
14:53
elmex joined
15:02
goban joined
|
|||
goban | when writing perl should i actually use $_ and such? seems this could conflict with other things (say its in a subroutine) | 15:02 | |
diakopter | ?eval use $_ and such | 15:03 | |
15:03
evalbot_r16319 is now known as evalbot_r16322
|
|||
evalbot_r16322 | Error: Unexpected "$_"expecting "=", use version or use package | 15:03 | |
15:03
dunstabulos joined
|
|||
TimToady | goban: it is true that $_ can only mean one thing at a time | 15:04 | |
15:04
amnesiac joined
|
|||
TimToady | so I wouldn't use it for a scratch variable unless you really want it to be the current topic | 15:05 | |
goban | dont all those global variable side effects cause confusion? | ||
(new to perl) | 15:06 | ||
TimToady | $_ isn't a global in p6, it's a lexical | ||
so topics are well scoped | |||
goban | ah cool, the job im applying for is using perl5 still though, but p6 sounds really cool | 15:07 | |
TimToady | yes, we're fixing a lot of those kinds of problems that p5 *does* have | ||
but p5 is still an okay language | 15:08 | ||
hopefully p6 will get the same result while requiring less self-discipline | |||
we've worked hard at reattaching various previously global concepts to the correct scope or object in p6 | 15:09 | ||
so nearly all the global special variables are gone | |||
goban | will normal perl 6 let me use p5, haskell, and java modules like pugs? | 15:10 | |
TimToady | if the underlying engine does; the intent is to run p6 on any of a number of engines | ||
certainly the parrot engine is aiming to run multiple engines | |||
s/engines/languages | |||
though I doubt they're thinking of Haskell at the moment... | 15:11 | ||
the current Haskell engine gives access to p5 | |||
15:11
rindolf joined
|
|||
TimToady | but nobody's working on the Java connection at the moment | 15:11 | |
once we have the front end done, it shouldn't be too difficult to retarget the back end to any engine | 15:12 | ||
dunstabulos | how is p6 on parrot versus p6 on pugs? | ||
TimToady | including the JVM | ||
goban | dunstabulos, i think pugs is farthur along at the moment | ||
TimToady | it's difficult to compare, because parrot's p6 is happening bottom up | ||
while pugs's is happening top down | 15:13 | ||
we're hoping they'll meet in the middle and help each other | |||
goban | parot is in p5? | ||
TimToady | right now both implementations are trying to converge on the standard grammar in pugs/src/perl6/Perl-6.0.0-STD.pm | ||
dunstabulos is looking forward to playing with the grammar stuff | 15:14 | ||
TimToady | usually just referred to here as "STD" | ||
parrot is written in C | |||
there is a p5 implementation called "v6" by fglock | |||
[particle] hurls parrotcode.org | |||
lambdabot | Title: Parrot Virtual Machine - parrotcode | ||
goban | maybe ill start a java implementation just for fun :) | 15:15 | |
TimToady | would you like a pugs commit bit? you can basically put anything under that repository | ||
the parrot folks are a little more disciplined :) | 15:16 | ||
jerrylee | so far I cannot compile code on pugs | 15:17 | |
can pugs be compiled? | 15:18 | ||
i mean perl code on pugs | |||
TimToady | well, that's kinda what's happening with the prelude, but you have to write in a subset of Perl 6 for that currently | ||
can't use "return" for instance | |||
eventually the AST will have emitters for any back end you like | 15:19 | ||
fglock gets a twinkle in his eye when he thinks about a C backend | |||
but that would be hard, since you'd have to invent continuations and GC and everything parrot and haskell already provide | 15:20 | ||
as it is, targeting the JVM will be difficult if you want efficient continuations | 15:21 | ||
jerrylee | hmm | 15:22 | |
TimToady | for the most part we've tried to define p6 such that explicit continuations aren't necessary | ||
but they would certainly make it easier to write a regex engine that backtracks into subrules correctly | 15:23 | ||
15:24
rashakil joined
15:27
justatheory joined
15:29
andara left
|
|||
jerrylee | when will pugs become p6? | 15:36 | |
[particle] | never--there is no single official perl 6 implementation | 15:38 | |
perl 6 has an official spec, and an official test suite | 15:39 | ||
goban | yeah thats one thing i hate about java (no continuations) | ||
[particle] | once any implementation passes the entire test suite, it's perl 6 | ||
jerrylee | wow | ||
so pugs could be p6 someday | 15:40 | ||
[particle] | it could be a p6, yes | ||
jerrylee | target date? | ||
TimToady | might even get there first, but parrot is likely to be faster | ||
[particle] | christmas | ||
jerrylee | really? this year? | ||
TimToady | year is unspecified | ||
[particle] | who said anything about year? ;) | ||
TimToady | after p6 is out, every day will seem like christmas... :) | 15:41 | |
jerrylee | ha | ||
goban | maybe that should be in topic :) seems a common q | ||
jerrylee | really it is | 15:42 | |
looks pugs and parrot are both going to be perl6 | 15:43 | ||
TimToady | the more the merrier | 15:44 | |
jerrylee | :) | 15:45 | |
TimToady | once the dam bursts, you're going to see a flooding algorithm at it's best | 15:47 | |
jerrylee | so compiled on pugs can also integrate with other languages? like in parrot? | ||
15:47
the_dormant joined
|
|||
TimToady | if the compiler is in Perl 6, the compiler is platform agnostic | 15:48 | |
only the emitters have to know what platform they're targeting | |||
so you could run the compiler on parrot and emit Haskell, maybe. :) | 15:49 | ||
or vice versa... | |||
jerrylee | it's really like a dream, man | 15:50 | |
TimToady | we'd like to wake up someday and have it be real though... | 15:51 | |
jerrylee | things are happening | 15:53 | |
TimToady | well, all of us here are very stupidly persistent, so there's hope | 15:54 | |
dunstabulos | is the perl6 test suite believed to be complete? | ||
(believed because you never know if a test suite has complete coverage) | 15:55 | ||
TimToady | it's incomplete | ||
I suspect we really want to have about twice as many tests as we have currently | 15:56 | ||
15:57
the_dormant_ joined
|
|||
[particle] | maybe even more tests... but we need a complete spec before the test suite is complete | 15:59 | |
dunstabulos: have you seen the specs with tests linked to them? | 16:00 | ||
spec.pugscode.org/ | |||
lambdabot | Title: Official Perl 6 Documentation | ||
jerrylee is really sleepy now | 16:01 | ||
good night guys | |||
see you | |||
[particle] | for example: perlcabal.org/syn/S03.html#Operator_precedence | 16:03 | |
lambdabot | Title: S03 | ||
[particle] | you can show or hide the tests related to that section of the spec | ||
dunstabulos | [particle]: nifty | 16:04 | |
[particle] | it's a great tool to investigate spec coverage | ||
16:04
zarchne joined
16:33
weinigLap joined
16:34
the_dormant joined
16:37
kanru joined
|
|||
lichtkind | hallo TimToady the snippet in dev.perl.org/perl6/doc/design/syn/S..._statement seems inkorrekt | 16:41 | |
lambdabot | Title: Synopsis 4: Blocks and Statements - perl6:, tinyurl.com/o9tb7 | ||
lichtkind | i think your intend was to filder unique values | 16:42 | |
PerlJam | lichtkind: what do you think is incorrect about it? | 16:44 | |
TimToady | just looks buggy to me | 16:45 | |
lichtkind | PerlJam: it does nothing | ||
i tested it one hour ago | 16:46 | ||
TimToady | with a buggy implementation :) | ||
PerlJam | What is === again? | ||
That's not identity equality is it? | |||
lichtkind | yes | ||
TimToady: but the "buggy implementation" behaved liek expected | 16:47 | ||
PerlJam | perhaps === should be == then | ||
TimToady | the bug may be that pugs doesn't always consider 1 === 1 | ||
lichtkind | so maybe i misunderstood something | ||
TimToady | value types should always have an identity of their value, not their memory address | 16:48 | |
[particle] | 1 is a singleton | ||
rhr | ?eval my @uniq = gather for (1, 1, 2, 2, 3, 3) { state $previous = take $_; next if $_ === $previous; say $previous; $previous = take $_; } | ||
evalbot_r16322 | OUTPUT[] [1, 1, 1, 2, 2, 3, 3] | ||
[particle] | or, more appropriately, highlander :) | ||
rhr | state doesn't work | ||
TimToady | take doesn't return its value yet | ||
rhr | or that :) | 16:49 | |
TimToady | ?eval gather { say take 42 } | ||
evalbot_r16322 | OUTPUT[] (42,) | ||
TimToady | yes, take is not up to spec yet | ||
so, buggy implementation, not buggy spec. :) | 16:50 | ||
feel free to fix it. :D | 16:51 | ||
16:51
integral joined,
the_dormant_ joined
|
|||
lichtkind | TimToady: so take always takes only one value when running through a block and overwrites the old if i take another? | 16:51 | |
TimToady | huh? | 16:52 | |
take pushes its arguments onto the gather's list, always | |||
it also happens to return the argements, according to spec | |||
s/e/u | |||
are you confused by the fact that the pseudoassign to state declaration happens only once? | 16:54 | ||
the second take is never reached on the first time through the loop (assuming take worked right) | 16:56 | ||
lichtkind | no that one i understood something else confuses me | 16:57 | |
so far i understand this implementation takes every value anyway so no filtering here | 16:58 | ||
there should be no take in the first line of the block i think | 16:59 | ||
i try to rewrite it like i think it should behave | 17:00 | ||
TimToady | the first take is guarded by being in a pseudo assign, so it only happens first time through | 17:01 | |
lichtkind | ah it gets warmer | 17:02 | |
thanks now i understand | |||
17:04
chris2 joined
17:05
franck__ joined
|
|||
lichtkind | TimToady+ | 17:06 | |
TimToady++ | |||
17:07
Psyche^ joined,
edenc joined
|
|||
rindolf | Hi lichtkind | 17:14 | |
lichtkind: what's up? | |||
lichtkind | rindolf: perl6wise or general? | ||
hi | |||
rindolf? hm perl6wise im currently writing part 2 of an huge article which was very sucessfull amongst my friends all liked it even they know nearly nothing about perl :) | 17:16 | ||
rindolf: but im currently dont feeling that terribly well | |||
rindolf | lichtkind: "I'm" | 17:18 | |
lichtkind: not "im". | |||
perlbot: im | |||
perlbot | im means "instant message". If you mean "I'm" or "I am", please say that | ||
rindolf | lichtkind: are you sick? | ||
17:19
polettix left
|
|||
lichtkind | rindolf do you prefer the gnostic answer? :) the normal would be slightly in between | 17:19 | |
rindolf | lichtkind: what's "gnostic"? | 17:20 | |
lichtkind: agnostic? | |||
17:20
rodi joined
|
|||
lichtkind | rindolf: gnostic is an old knoledgy tradition it actually means knowledgy agnotic means not to know (god) | 17:21 | |
rindolf | lichtkind: knowledgy? | ||
lichtkind | rindolf: gnostics say that all illnises are illusions | ||
knowledge | 17:22 | ||
rindolf | lichtkind: can you please use some "." or ","? | ||
lichtkind | k | ||
rindolf | lichtkind: thanks. | ||
lichtkind: I don't believe all illnesses are illusions. | |||
17:23
Psyche^ is now known as Patterner
|
|||
lichtkind | rindolf: i mostly agree to gnostic standpoints, even if they sound sometimes radical and can easily misunderstood | 17:23 | |
rindolf: but thats an long story. you are the australian wiki maintainer? yes i dindt do there anything since month | 17:24 | ||
rindolf | lichtkind: I'm not *the* perl.net.au maintainer. | 17:26 | |
lichtkind: but I'm editing content there. | |||
lichtkind | rindolf: yeah but you seemed to be one of the australian community core member | 17:27 | |
rindolf | lichtkind: I'm not Australian. | ||
lichtkind: I'm Israeli. | 17:28 | ||
lichtkind: but I have some Aussie Perler friends. | |||
lichtkind | ah thatswhy my misinterpretation | ||
rindolf | lichtkind: but I found myself contributing to this wiki. | ||
lichtkind: and also to perlmeme.org | |||
lichtkind: perlmeme.org/ | 17:29 | ||
lambdabot | Title: Welcome to perlmeme.org | ||
lichtkind | rindolf: in last weeks i mostly wrote for wikipedia , damians article and some core improvements and now im on the german perl6 tutorial | ||
rindolf | lichtkind: the German wikipedia? | ||
lichtkind | rindolf: cool i recognized perlmeme since it started i made the link in our linklist there | 17:30 | |
rindolf: of course | |||
rindolf | lichtkind: oh. | ||
lichtkind: yes, your English is probably not good enough to edit en.wikipedia.org | |||
lichtkind | rindolf: most time of the day it is :), im just sleepy now | 17:31 | |
rindolf | lichtkind: oh OK. | ||
lichtkind | rindolf: i even started effort to synchronize between en and de perl main article. even juerd said that my english improved :) | 17:32 | |
rindolf | lichtkind: oh OK. | ||
lichtkind: why are you sleepy now? What time is it where you're at? | |||
lichtkind | rindolf: its 19:37 but it feels like 23:00 to me :) | 17:33 | |
rindolf | lichtkind: oh. Why? | ||
lichtkind | maybe because last night i played till the next dawn | ||
rindolf: if your israeli so you have to be in the pugs team right? :) | 17:35 | ||
17:36
the_dormant joined,
toshinori joined
|
|||
rindolf | lichtkind: I'm not really in the pugs team. | 17:40 | |
lichtkind: I know gaal and nothingmuch. | |||
lichtkind: I just like to hang out in this channel. | |||
lichtkind | rindolf: yes its very friendly here :) | 17:41 | |
offby1 | not enough free beer, in my opinion. | 17:42 | |
rindolf gives a keg of beer to offby1 | 17:44 | ||
offby1 | that's more like it! Thanks. | ||
rindolf | offby1: it's online beer! | ||
TimToady | eep, it's turning into the chatterbox... | ||
offby1 | I notice it's lager, too, and it's warm ... :-| | 17:45 | |
rindolf | TimToady: what's up? | ||
TimToady | trying to figure out how the summer will work | ||
[particle] | same way it always does here... days will get shorter, temps will get warmer | 17:46 | |
offby1 | yup | 17:47 | |
I was going to make a similarly flip comment. | |||
17:51
rlb3_work left
17:57
SCalimlim joined
18:10
weinigLap_ joined
18:11
the_dormant_ joined
18:13
justatheory joined
18:16
jisom joined,
pack|pizza left
18:24
SubStack joined
18:51
GeJ joined
|
|||
avar | @tell fglock search.cpan.org/~avar/re-engine-PCR..._01/PCR.pm | 18:53 | |
lambdabot | Consider it noted. | ||
18:59
fglock joined
19:06
prism joined
|
|||
fglock | avar: looking | 19:07 | |
lambdabot | fglock: You have 1 new message. '/msg lambdabot @messages' to read it. | ||
jrockway | @messages | 19:08 | |
lambdabot | You don't have any new messages. | ||
avar | fglock: b.t.w. that segfault is my fault:) | ||
19:09
bonesss joined
|
|||
fglock | avar++ | 19:09 | |
avar | fglock: I also made a release of ::Plugin that works with blead currently: search.cpan.org/~avar/re-engine-Plu...Plugin.pod | 19:13 | |
lambdabot | Title: re::engine::Plugin - API to write custom regex engines - search.cpan.org | ||
avar | lotsa docs and testcases too | ||
You might be interested:) | |||
fglock | hmm - my cpan mirror doesn't know about it yet | 19:15 | |
avar | noes ohes | 19:16 | |
sial.org/pbot/24942 | 19:17 | ||
lambdabot | Title: Paste #24942 from Someone at 85.197.228.236 | ||
fglock | avar: I'm now reading about non-perl backends, in order to plan a more portable 6-in-6 | ||
Perl 6 in Perl 5 can cheat... | 19:18 | ||
avar | cool | ||
Have you looked at sbcl? | |||
or other CL backends.. | |||
fglock | no - looking now; I'm reading about Groovy | ||
avar | Okey, I won't bother you then:) | 19:19 | |
fglock | avar: no, please - what's special about sbcl? | 19:20 | |
avar | It's a common lisp runtime that compiles to machine code | 19:21 | |
19:21
svnbot7 joined
|
|||
avar | In general emitting common lisp would give access to around 20-30 VM's and compilers, including a gcc frontend:) | 19:21 | |
fglock | avar: ok, it is now in my list :) | 19:23 | |
avar | Learning CL is on my todo after the current project of hacking perl core / re::eng stuff:) | 19:24 | |
sial.org/pbot/24943 # urgh | 19:25 | ||
lambdabot | Title: Paste #24943 from Someone at 85.197.228.236 | ||
fglock | I've done a lot of lisp ... but that was well before I learned Perl 4 | 19:27 | |
re re::engine::PCR - is it ok if the PCR runtime needs plain p5 regex? | 19:29 | ||
for character classes, for example | |||
avar | yup, the replacement of engines in p5.10 is lexical, so it's just as all right as it needing strict in some scope:) | 19:30 | |
19:37
dduncan joined
|
|||
fglock | avar: re Paste #24943 - I've never seen that; just in case, PCR Makefile.PL would clean up the cache for you | 19:38 | |
but may be a 5.9.5 bug | 19:39 | ||
19:41
polettix joined
19:48
justatheory joined
|
|||
avar | fglock: Do you mainly think of the filecache as something to cache a regex in a loop? | 19:52 | |
fglock | no, it is a persistent compiler cache; kind of make "pmc" files for each regex | 19:53 | |
if you run the same program twice, the second time it starts faster | 19:54 | ||
19:55
the_dormant joined
|
|||
fglock | I wonder how sbcl compares to ghc in runtime speed | 20:01 | |
avar | it's probably faster | ||
well, depending on what of course.. | 20:02 | ||
the speed also depends a lot on how it can optimize the code | |||
if you dump the assembly of a function like (abs) it'll be somewhat slow, but if you say that you're only going to use fixnum it's as fast as it can be on x86 | 20:03 | ||
fglock | found it: shootout.alioth.debian.org/debian/b...;lang2=ghc | 20:04 | |
lambdabot | Title: Lisp SBCL benchmarks | Debian : AMD™ Sempron™ Computer Language Benc ..., tinyurl.com/23zmhu | ||
avar | shows what I know about ghc:) | 20:06 | |
DB<8> p $p_directory | 20:18 | ||
/tmp/FileCache/v6-rules/2/f/8/ | |||
DB<9> do { my ($s) = $p_directory =~ /^(.*)$/; print "m => '$s'" } | |||
m => '' | |||
mm, wrong channel:) | |||
20:20
rhandom joined
|
|||
meppl | good night | 20:25 | |
20:32
the_dormant_ joined,
pbuetow joined
|
|||
audreyt | ok, I'm ready to push the pad-refactoring local branch, to be followed by the MO branch. the only problems is that it's 2 months of work and 723 commits... | 20:41 | |
20:41
ozo joined
|
|||
audreyt ponders whether it's really a good idea to simply svk push --verbatim to replay the 723 commits. | 20:41 | ||
[particle] | holy cow, that's a backlog! | 20:42 | |
audreyt | it also tells me that the next time, choose smaller bite-sizes for local branching | ||
xinming | audreyt: It's a good idea to see if there is confliction. ;-) | 20:43 | |
audreyt | I guess I'll just review the commit log by hand and write a really, really long summary | ||
[particle] | what if you push it to a branch? | ||
audreyt | xinming: I pull+merge every week or so | ||
[particle]: it's ready for trunk. | |||
PerlJam | audreyt: no guts no glory. :-) | ||
audreyt | this is more about log-comprehensibility than anything else... | ||
xinming | audreyt: Then, I have an idea... Just dump the log with svk log first. | ||
[particle] | audreyt: it'd give you a way to keep all the history, but the log would only have one merge entry | 20:44 | |
dduncan | send it in and we'll deal with it | ||
[particle] | *trunk log | ||
xinming | audreyt: and then, merge with svn | ||
audreyt | [particle]: point taken | ||
xinming | svn co the local copy, and merge one by one. | ||
dduncan | by the way, have any of you tried the Git version control system? | ||
xinming | dduncan: Yes, But a bit hard to use for me. | ||
Tene has tried git and is quite fond of it. | |||
PerlJam | dduncan: I used it a bit briefly | ||
dduncan | its possible that if we were using that rather than Svn, this matter may not be such a problem | 20:45 | |
PerlJam | dduncan: merlyn is enamored of it. | ||
[particle] | there's no native windows client | ||
only *blech* cygwin | |||
dduncan | I'm relatively new to it, but thanks to mugwump I am now using it for my Perl 5 projects, and I like what it brings | ||
xinming | Tene: I don't like it... As there will be hash collision in it's files. though, I'll never happen in our lives maybe. | ||
dduncan | one big thing that would help us here is that commits aren't linear | ||
audreyt | dduncan: true, but a switch to darcs or git just to get one merge going is... strange :) | ||
Tene | [particle]: nor is there a native beos client, nor an OS/2 client. ;) | 20:46 | |
dduncan | yes, of course, we would switch to it just because its generally more useful, if that's true | ||
audreyt | I guess I'll just look at the log and summarize a bit without losing too much info and do it in one commit. | ||
avar | I use git for perl-core, but I don't really know it:) | ||
avar knows, pull, update, restore, diff | |||
dduncan | I only know a minimum of it, but it seems to work | ||
Tene | audreyt: perhaps just a log of "Magic! Don't look behind the curtain! Worship me!" | ||
audreyt | heh :) | 20:47 | |
[particle] | 6.28RC1 :) | ||
PerlJam | audreyt: you could output the entire log since you forked to a file and then just use that as the log message for the one commit :) | ||
audreyt | PerlJam: that's what I mean, with tiny cleanups | ||
doing that now | |||
dduncan | either way, I eagerly await the 6.28 goodness | ||
[particle] wonders if there's a commit log max length | |||
PerlJam | oh, "look at the log and summarize a bit" sounded quite different in my ears :) | 20:48 | |
xinming is waiting for audreyt's commits, and preparing to pulll... O_O | 20:49 | ||
dduncan what x said | |||
PerlJam | I think we're all waiting to pull now that we know what's coming. | ||
dduncan | It's Christmas in July, er, May! | 20:50 | |
20:51
the_dormant joined
|
|||
xinming | audreyt is mother Christmas.... ;-) | 20:53 | |
fglock | audreyt: hey :) | 20:55 | |
xinming | hmm, no offending meaning... I just googled, Father Christmas is the man who gives people presents. So I don't know if Mother Christmas will be the nature form to tell me idea. | ||
audreyt | fglock: hey :) | ||
xinming: I think it's known as "Santa Claus" | |||
fglock | feather christmas? | 20:56 | |
Patterner | Hogfather. | ||
PerlJam | Note from Santa Claus: Christmas is suspended until Perl 6 arrives. | 20:57 | |
xinming | Santa Claus's wife: He's right. | ||
PerlJam | (They've started using pugs to automate Santa's workshop, but it's not quite functional enough) | ||
20:58
ggoebel joined
|
|||
audreyt | hm, it's 5am and I think summarize is impossible... change of plan: simply replay everything and summarize later ;) | 21:00 | |
21:00
lampus joined
|
|||
Tene | alternate plan: replay and let someone else summarize for you. | 21:00 | |
audreyt | whilst I sleep? indeed, I've been away for too long that I forgot the gnomes :) | 21:01 | |
audreyt hacks svk to make it not re-post the merge-from-trunk logs | |||
xinming | good idea. Oh, my love, my darling, I've hungered for your commits a long, lonely time... :-) | 21:02 | |
21:02
weinigLap joined,
ozo joined
|
|||
xinming | don't get me wrong, I am really happy to see audreyt is here again. | 21:03 | |
[particle] | somebody disable the svnbot before the channel is flooded | 21:04 | |
dduncan | audreyt, as much as I'd like to see your commits yesterday, I suggest you may want to sleep now and do your commit after you get up, so that something unpleasant doesn't happen due to sleep clouds | ||
audreyt then discovers someone known as mndrix++ has already hacked that into svk ;) | 21:05 | ||
dduncan: yes, but svnbot runs | |||
so it shouldn't be _too_ bad... | |||
(the svnbot7 was me testing from the pad branch) | |||
and the relatively more fragile code from the MO branch, as well as more shaky speed optimizations, I don't plan to commit today... | |||
japhb | I can't wait for this merge ... my stack of 3D code porting was blocked on pre-merge pugs problems .... | 21:06 | |
dduncan | I mean, you are wanting to get a few things set up just right for this one commit ... sleep can help you not forget something you want to include | ||
audreyt | true, but we can always revert | 21:07 | |
japhb | dduncan: with great respect to audreyt++, I'm more afraid that life will happen for her by tomorrow morning. :-) | ||
audreyt runs "env SVKRESOLVE=y svk push --verbatim" | |||
dduncan | okay then | 21:08 | |
svnbot6 | r16323 | audreyt++ | * initial checkin for pad refactoring | ||
r16325 | audreyt++ | * HTML::Entites - Fix infinite loop due to incorrect multi dispatch use: | 21:09 | ||
r16325 | audreyt++ | # incorrect - "is rw" only distributes for *@x, not @x; | |||
r16325 | audreyt++ | # the annotation would enable @x.push instead. | |||
r16325 | audreyt++ | sub f (@x is rw) { $_++ for @x } | |||
[particle] | skipped a rev? | ||
audreyt | mergedown is skipped automagically | ||
japhb | [particle]: might be the merge from trunk | ||
svnbot6 | r16326 | audreyt++ | * temp checkin for pad refactoring; COMPILING pad thought out. | ||
audreyt | i.e. I pulled from trunk between those | ||
[particle] | aha | ||
dduncan | so we're getting it as a hundred commits then? | ||
japhb | dduncan: that's the --verbatim part, I believe | ||
audreyt | or more, yes. | ||
dduncan | okay | ||
[particle] | with realtime comments from the gallery :) | 21:10 | |
svnbot6 | r16327 | audreyt++ | * more preliminary hacks. | ||
audreyt | reason I did it this way is that "svk log t/something.t" can display relevant logs | ||
instead of utter mess of unrelated thing(s) | |||
japhb | audreyt: anyway to let us know when all of it is done, without you having to stay awake? | ||
svnbot6 | r16328 | audreyt++ | * Done with the parser part. | ||
audreyt | (the true reason however is that summarization to make it non-utter-mess is beyond my current brainpower) | ||
[particle] | japhb: sure, she could provide the text of the last commit log | 21:11 | |
audreyt | japhb: sure, the last commit would be say that :) | ||
*saying | |||
dduncan | and besides, why should we lose any details ... the verbose is better methinks | ||
svnbot6 | r16329 | audreyt++ | * syntax checks now! | ||
japhb | audreyt: the per-file svk log being relevent is actually very key for me, I appreciate that, even if it wasn't your core reason. | ||
[particle] | audreyt: you should just pretend you're in a different TZ... it's 2pm here, you should be wide awake :) | 21:12 | |
audreyt | the reason against doing this is that since it's a local branch, my log messages are less formal than what I normally expect myself to give when committing to trunk, but oh well :) | ||
svnbot6 | r16330 | audreyt++ | * more whack at pad refactoring; lift freshness to VCode | ||
r16330 | audreyt++ | level and invent the LexPads abstraction. | |||
dduncan | why that same number twice? | ||
21:12
prism joined
|
|||
audreyt | two lines? | 21:12 | |
[particle] | two line commit log | ||
dduncan | oh right | ||
svnbot6 | r16332 | audreyt++ | * Merged various HsSyck tweaks, including proper base64 routines | ||
r16332 | audreyt++ | to separate Buf from Str later: | |||
r16332 | audreyt++ | Double-quoted strings in YAML output no longer contains continuation | |||
r16332 | audreyt++ | lines, which confused YAML.pm terribly. | |||
r16332 | audreyt++ | Reported by: Nelson Elhage | |||
japhb | audreyt: I can guarantee that noone here is going to disrespect you for informality in pushing something we've all been salivating over for weeks .... | 21:13 | |
audreyt | it's just half of it though, the less sexy, iron-out-long-known-bugs-and-sync-up-to-spec branch | ||
svnbot6 | r16333 | audreyt++ | * More pad refactoring. | ||
r16334 | audreyt++ | * Now compiles again whee. | |||
dduncan | whee | 21:14 | |
audreyt | I think I can get the other one in next week, but (again) that's only if life doesn't interfere | ||
svnbot6 | r16335 | audreyt++ | * another fix. | ||
japhb | audreyt: does this branch include any performance changes? | ||
dduncan | is "the other one" the last major thing needed for 6.28? | ||
audreyt | japhb: havn't benched. should be ~equiv or slightly faster/slower | ||
japhb | audreyt: I was going to do before & after performance tests | ||
audreyt | japhb: the one key optimization, O(1) pad lookup, is in the other ("MO") branch | 21:15 | |
svnbot6 | r16336 | audreyt++ | * Remove unused imports. | ||
r16336 | audreyt++ | (The YAML compression stuff should probably move over to HsSyck too.) | |||
r16337 | audreyt++ | * compiled again. | |||
audreyt | otoh, closur entering and cloning is much faster in the new model | ||
otoh, parsing could be slower | |||
japhb | audreyt: d'oh! That's the one I needed most, I think .... but closure enter might save me, not sure | ||
audreyt | honest answer: I don't know. I don't feel significant changes | ||
svnbot6 | r16338 | audreyt++ | * Pad refactoring now runs - snapshot the tree before we redo LexPad | ||
audreyt | japhb: yeah, I think I can pry O(1) out and commit it separately first | 21:16 | |
svnbot6 | r16339 | audreyt++ | * Things actually run now, yay. Next step is to convert | ||
r16339 | audreyt++ | Params over to the new convention... | |||
audreyt | but not today, at least not today morning :) | ||
audreyt ponders a "svk log --edit" feature to retroactively edit logs | 21:17 | ||
svnbot6 | r16340 | audreyt++ | * Params unified with pad entries. | ||
r16341 | audreyt++ | * Tonights work | |||
japhb | audreyt: no problem, thanks for considering pulling O(1) pad out for me, that's very nice of you! | ||
audreyt | clkao: thoughts? # "svk log --edit" to delete embarrasing stuff from local branch log | ||
supposedly it'd display the "svk log" output in an editor, let you edit it, and then parse the log and the do revpropsets | 21:18 | ||
21:18
drupek12 joined
|
|||
svnbot6 | r16343 | audreyt++ | * Loading recursive TVar finally works. | 21:19 | |
r16344 | audreyt++ | * Finally, circular loading of TVars. | 21:20 | ||
r16345 | audreyt++ | * Repaired accessor - tests finally working. | |||
r16346 | audreyt++ | * Interim commit before we can solve the disapperating-tvar bug. | 21:21 | ||
r16347 | audreyt++ | * Another checkpoint; nested pads now work. | |||
r16348 | audreyt++ | * This is the first moose that seems to work... | |||
r16349 | audreyt++ | * Go back to Inline style, as now Prelude compilation seems to be working. | |||
r16350 | audreyt++ | * Yet another speedup hack. | 21:22 | ||
japhb | Is there anyway to get svk info to recurse when you do it in a checkout of a local copy of a mirror? I'd like to see the rev of the actual source repo, but svk info in a WC of a local copy of a mirror only shows revs back to the mirror ... | ||
audreyt | japhb: "Merged From" displays the chain iirc | 21:23 | |
the last lines of an svk info | |||
svnbot6 | r16352 | audreyt++ | * Reclose global pad too. | ||
japhb | Hmmm, maybe because I'm running an old svk | ||
1.08 (Debian testing) | |||
audreyt | *nod* svk1 is distant memory to me... | 21:24 | |
svnbot6 | r16353 | audreyt++ | * "make ghci" now works GHC 6.7-trunk (which bundles the filepath package.) | ||
japhb | Yay! According to packages.qa.debian.org/s/svk.html it looks like svk 2 is only one day away from moving from unstable to testing! | 21:26 | |
lambdabot | Title: Overview of svk source package | ||
21:26
SubStack joined
|
|||
audreyt | nice! | 21:27 | |
what does "Not considered" mean? | |||
(in that debian page) | |||
svnbot6 | r16355 | audreyt++ | [07-end-blocks.t] Explicitly refer to $package::var instead | ||
r16355 | audreyt++ | of using "our $package_aliased_as_lex_var" as S04 mandates | |||
r16355 | audreyt++ | that only package vars are safe to use in END blocks. | |||
r16356 | audreyt++ | * DrIFT.YAML: Snapshot of the currently-seems-to-be-sane | 21:28 | ||
r16356 | audreyt++ | treatment of cyclic YAML compression. | |||
r16357 | audreyt++ | * Use "=begin END" to save some AST space as the END POD | |||
r16357 | audreyt++ | block is not saved into the stream. | |||
r16358 | audreyt++ | * Pugs.Parser: The Main::MAIN sub now remembers its package; | |||
r16358 | audreyt++ | also END blocks should close over its compiling pad as outer pad. | |||
audreyt | with the pad branch in, it should be generally possible to take any .pm file and generate a .pm.yml without losing closure information | 21:29 | |
svnbot6 | r16359 | audreyt++ | * The cached "subLexical" field is no more. | ||
r16360 | audreyt++ | * Regen instances. | |||
audreyt | same goes for .t.yml | ||
so that's another route to optimize things, perhaps -- putter did some work on that in Prelude.pm, so maybe reviving it could be considered for 6.28.0, if investigated in time | 21:30 | ||
svnbot6 | r16361 | audreyt++ | * Reclose pads at the end-of-compilation stage (before saving | ||
r16361 | audreyt++ | it into serialized AST), not at beginning-of-runtime stage. | |||
xinming | audreyt++ | ||
svnbot6 | r16362 | audreyt++ | * Include outer pads in prettified code blocks. | ||
r16363 | audreyt++ | * named_2_positional.t: unTODO | |||
japhb | audreyt: I think the "not considered" means that svk and the packages it depends on are all too young. There's a 10-day waiting period for people in unstable to find nasty bugs before packages are allowed to move | ||
audreyt | also, we'd need to port over Moose.pm tests to t/oo/ so that I can commit the MO branch in good conscience | ||
(pugs is supposed to pass the same object model tests and carry the same API, differing only in surface syntax.) | 21:31 | ||
svnbot6 | r16364 | audreyt++ | * Add placeholder variables into pad as soon as the first one is seen. | ||
audreyt | any takers? :) | ||
Tene | Where are Moose.pm tests? | 21:32 | |
svnbot6 | r16365 | audreyt++ | fix an outdated comment | ||
r16366 | audreyt++ | * Remove debug statement. | |||
audreyt | search.cpan.org/src/STEVAN/Moose-0.21/t/ | ||
lambdabot | Title: Index of /src/STEVAN/Moose-0.21/t | ||
svnbot6 | r16367 | audreyt++ | * Pugs.Monads: Don't reclose subs that already started. | ||
r16368 | audreyt++ | * Use the Code object's package and outer pads when evaluating | |||
r16368 | audreyt++ | param default expressions. | |||
audreyt | warning: there are a lot of them. | 21:33 | |
stevan_'s project, that's to be expected :) | |||
svnbot6 | r16369 | audreyt++ | * dollar_underscore.t: Chase spec r14356: | ||
r16369 | audreyt++ | Simplified -> binding not to autoalias $_ to first arg, per TheDamian++ | |||
r16370 | audreyt++ | * Separate "inline" calls with "displaced" callers, so caller() works more reliably. | 21:35 | ||
xinming | audreyt: Do we need to rewrite the moose test into perl6? | ||
audreyt: If so, I think I can do this job. | |||
audreyt | xinming: we do, because the surface syntax is difference | ||
of course if you want to somehow machine-translate it... :) | |||
svnbot6 | r16371 | audreyt++ | * Make nextwith/callwith work. | ||
audreyt | in any case, in the spirit of t/regex/from_perl6_rules/ | ||
I think we can put those into t/oo/from_moose/ or something like that | 21:36 | ||
and retain the original test numbering/name filenames | |||
svnbot6 | r16372 | audreyt++ | * Pugs.Parser.*: New s_outerVars field to track intermediate | ||
r16372 | audreyt++ | blocks crossed from an implicit OUTER reference; for each | |||
r16372 | audreyt++ | compiling pad it tracks the set of vars that must not be | |||
r16372 | audreyt++ | post-declared within it, lest an earlier reference changed. | |||
r16372 | audreyt++ | (The algorithm is by courtesy of Isis Kang; add to AUTHORS.) | |||
audreyt | makes xreffing easier | ||
makes some sense? | 21:37 | ||
svnbot6 | r16373 | audreyt++ | * Change the MPad data type to be a standalone datatype, | ||
xinming | audreyt: Ok, But I think I have to do this tomorrow evening. | ||
svnbot6 | r16373 | audreyt++ | instead of the possibly relocatable TVar. | ||
xinming | audreyt: yes, | ||
audreyt: Is it hurry? | |||
audreyt | in any case it's a parallelizable job - someone can just commit them en masse as 001_recipe.t.orig or something | 21:38 | |
svnbot6 | r16374 | audreyt++ | * Primitive blocks generates no closures. | ||
[particle] thinks xinming doesn't understand the nature of open source... it's *never* a hurry | |||
:) | |||
audreyt | and then anyone can port one of them and remove the .orig bit. I think. | ||
xinming: it's *always* a hurry so do it asap! :) /j/k | |||
svnbot6 | r16375 | audreyt++ | * Reclose the MAIN code as well. | ||
[particle] is suffering from buffering | |||
xinming | Ok, I'll do tomorrow, I will import the test later with files renamed. | ||
audreyt | xinming++ # or whoever_beats_xinming_to_it++ | 21:39 | |
svnbot6 | r16376 | audreyt++ | * Correctly handle displaced calls into blocks | ||
xinming | [particle]: Yes, I know that, But at least, audreyt herself doesn't have much time, and I don't want to her to do something coolie work. ;-) | 21:40 | |
svnbot6 | r16377 | audreyt++ | * Supply $_ to the MAIN closure if it wants that. | ||
audreyt looks up "coolie" and realizes that 1)It's Chinese not English and 2)Its meaning has nothing to do with "cool" | 21:42 | ||
svnbot6 | r16378 | audreyt++ | * Fix trait blocks and their interactions. | ||
21:42
mugwump joined
|
|||
diakopter hands audreyt rose-colored glasses. | 21:43 | ||
[particle] curses newegg.com's slow rma process | |||
xinming | audreyt: My dictionary database should be upgraded. >_< | ||
svnbot6 | r16379 | audreyt++ | * &?BLOCK and &?ROUTINE are now correctly (recursively, lexically) | ||
r16379 | audreyt++ | bound, so a displaced blocks can still see its lexically contained | |||
r16379 | audreyt++ | &?ROUTINE correctly. | |||
r16380 | audreyt++ | * Do not recursively close over &?ROUTINE and &?BLOCK. | |||
audreyt | xinming: no, coolie is exactly the correct word to use here :) | 21:44 | |
it's just surprising :) | |||
svnbot6 | r16381 | audreyt++ | * Prelude: Erase the caller frames in &eval and &evalfile. | 21:47 | |
r16382 | audreyt++ | * $obj.^foo now means $obj.HOW.foo. | |||
r16383 | audreyt++ | * Repair importing from perl5 by giving the ->$_{...} | |||
r16383 | audreyt++ | primitive a default pad to hold $_. | |||
r16384 | audreyt++ | * &map into a nullary block should still consume the list. | |||
r16385 | audreyt++ | * gen_prelude.pl: Deal with "=begin END" in Prelude correctly. | |||
r16386 | audreyt++ | * fp.pm: Use the modern export-multi style instead of global-operator style for exporting. | |||
r16387 | audreyt++ | * fp - Now that the Inf term (?\226?\136?\158) is supported, test for it. | |||
r16388 | audreyt++ | * Don't return from a pointy block. | |||
r16389 | audreyt++ | * Test.pm - Eliminate an unneccessary double-closure in &try. | 21:48 | ||
Tene | so, import them as .t.orig ? | 21:49 | |
svnbot6 | r16390 | audreyt++ | * Remove MessageBus as it no longer matches the perl5-IPC::PubSub interface | ||
r16390 | audreyt++ | on CPAN; a backport from there would be better than taking this top-level | |||
r16390 | audreyt++ | namespace. | |||
r16391 | audreyt++ | * Stub code objects are ireelvant to parsing. | |||
audreyt | Tene: or .t.p5 or .t.moose or .t.legacy or .t.upstream or something that strikes your fancy :) | 21:50 | |
I like .orig because it's a well known extension that carries the "delete me soetime later" semantic meaning | |||
svnbot6 | r16392 | audreyt++ | * "my $x = 4" should simply generate "$x = 4" instead of | ||
r16392 | audreyt++ | "($x = 4; $x)". This repairs PIR codegen. | |||
xinming | Tene: please don't... | ||
Tene: I'm doing this now... | |||
japhb | audreyt: what does coolie mean? | ||
xinming | Tene: svk is pushing all the time... | ||
Tene | xinming: oh, I thought you said you'd do it tomorrow night. | 21:51 | |
audreyt | japhb: coo means "suffering" and "lie" mean "labor" | ||
Tene | Nevermind, then. :) | ||
xinming | Tene: I will import this now, and probably do it tomorrow night. | ||
audreyt | (from Chinese, 苦力) | ||
japhb | audreyt: ah. "drudgery" | ||
xinming | Tene: But at least, currently, I am importing, to avoid collision. plesae don't push curently. | 21:52 | |
audreyt | porting over all tests is not a job for a single person to do in one night, unless your night is stretchable and no life interferes, so I'd suggest parallelizable go-ahead-and-port-it for everyone interested, once the importing is done | ||
xinming | yes... | ||
Tene | xinming: will not push. :) | 21:53 | |
xinming | but don't know why svk push takes so long... | ||
stevan_ | there are a good amount of tests which might not be relevant too | ||
features in Moose which are not in Perl 6 | |||
[particle] | moose.SKIP | ||
stevan_ | heya audreyt :) | ||
[particle]: :) | |||
they are not very graceful animals, i doubt they could skip well | 21:54 | ||
audreyt | stevan_: heya. maybe they should be in perl6 somehow *grin* but yes, would be good if you can help mark those ones | ||
japhb | Moose has features not in Perl 6? Like what? | ||
Tene injures himself laughing at stevan_ | |||
stevan_ | japhb: the before/around/after method modifiers i stole from CLOS | ||
the augment/inner stuff I stole from BETA | 21:55 | ||
the Role requires feature I took from Fortress (but this is in Perl 6 IIRC, just as method stubs) | |||
amnesiac | audreyt++ # Keynote tips | ||
japhb | stevan_: So these are things that might be elsewhere in the language, just not in the Perl 6 MOP right now? | ||
audreyt | before/around/after is just sugar | 21:56 | |
svnbot6 | r16393 | audreyt++ | * Add svn props to 99problems tests. | ||
audreyt | can be ported easierly with callwith/nextwith | ||
stevan_ | japhb: Perl 6 will be flexible enough to add all of Moose without much trouble | ||
[particle] | m66se | ||
svnbot6 | r16394 | audreyt++ | * return_in_anonymous_subs - This test is obsolete per S04; maybe delete? | ||
r16395 | audreyt++ | * coro.t: Correct the "state" test to avoid unintended cloning. | |||
audreyt | but I do find before/around/after easier to explain to an audience | 21:57 | |
Tene | so perhaps perl6 moose will be flexible enough to skip gracefully? | ||
svnbot6 | r16396 | audreyt++ | * [t/run] - Correct misc. typoes. | ||
stevan_ | audreyt: is there any official hackathon planned for YAPC::EU? | ||
audreyt | stevan_: no, I've been too fried to do any logistics the past three months | ||
[particle] | no doubt japhb will have images of a moose skipping once he finishes porting his code to p6 | ||
stevan_ | audreyt: ok,.. no worries, nuffin and I will be there with out hacking leaderhosen on | 21:58 | |
japhb | [particle]: now there's an idea. I just need a moose model to play with ... | ||
svnbot6 | r16397 | audreyt++ | * if3.t: Make it report failure properly instead of dying | ||
stevan_ | s/out/our/ | ||
nothingmuch | audreyt: i can set up crash space if you need it | ||
oh wait, hackathon | 21:59 | ||
i thought attendance | |||
japhb | "PIGGE: Your Moose, Digitized." | ||
svnbot6 | r16398 | audreyt++ | * if2.t: wrap the not-going-to-be-supported-in-this-release | ||
r16398 | audreyt++ | feature (statement inside parens) inside and eval+todo. | |||
r16399 | audreyt++ | * ternary.t: More eval()ify and comment about the true cause of failure. | |||
[particle] | perl 6: as powerful as a moose, as graceful as a skipping moose! | ||
nothingmuch | i can't crash $n hackers on my aunt ^_^ | ||
japhb | [particle]: *chuckle* | 22:00 | |
svnbot6 | r16400 | audreyt++ | * autoload.t - More obsoletification of tests | ||
r16401 | audreyt++ | * operator_overloading.t - eval()ify the nasty tests. | |||
r16402 | audreyt++ | * t/magicals/sub.t: Work around a parsing glitch, and | |||
r16402 | audreyt++ | reverse a test because &?ROUTINE is now always defined | |||
r16402 | audreyt++ | (the MAIN is a routine not a block.) | |||
r16403 | audreyt++ | * macro_code_test.t - Make this a test, not a prose. | 22:01 | ||
r16404 | audreyt++ | * caller.t - gotta have a plan. | |||
r16405 | yiyihu++ | r16092@HomePc: xinming | 2007-04-18 02:10:47 +0800 | |||
r16405 | yiyihu++ | Replaced all './pugs' with $*EXECUTABLE_NAME in tests. | |||
xinming | .... | ||
oops, It seems that I forgot to push to server what I did almost a month ago. >_< | 22:02 | ||
stevan_ | xinming: if you like, you can also grab the Moose tests from our SVN repo | 22:03 | |
22:03
weinigLap_ joined
|
|||
stevan_ | it is still pretty synced with CPAN right now, but you never know | 22:03 | |
22:04
riffraff joined
|
|||
stevan_ | xinming: code2.0beta.co.uk/moose/svn/ | 22:04 | |
lambdabot | Title: Revision 2347: / | ||
riffraff | hi | 22:05 | |
svnbot6 | r16406 | audreyt++ | * implicit_parameters.t: Contrary to what this test says, | ||
r16406 | audreyt++ | {42} does not implicitly use $_ in its body. ;) | |||
r16407 | audreyt++ | * t/02-test-pm/1-basic.t: Merge the same fix of returning | |||
r16407 | audreyt++ | inside pointy blocks from ext/Test/. | |||
riffraff | audreyt is back in hacktion? | 22:06 | |
audreyt | there's some minor regressions with this mergeback | ||
before: | |||
18919 test cases: 17895 ok, 1024 failed, 1987 todo, 715 skipped and 34 unexpectedly succeeded | |||
er sorry, that's "after" | |||
before is: | |||
[particle] | riffraff: this is a release of pent-up hacktion for the past few months | ||
audreyt | 18921 test cases: 18189 ok, 732 failed, 2054 todo, 719 skipped and 22 unexpectedly succeeded | 22:07 | |
but some of it is due to chasing specs | |||
xinming | audreyt: Is all change uploaded? | ||
riffraff | pent-up? | 22:08 | |
svnbot6 | r16408 | yiyihu++ | r16515@HomePc: xinming | 2007-05-18 05:47:08 +0800 | ||
r16408 | yiyihu++ | Added tests from Moose-0.21 with all tests append .orig. | |||
riffraff | (sorry, not native speaker) | ||
Tene | riffraff: this is hacking accumulated over the past two months, all being uploaded now. | ||
[particle] | dictionary.reference.com/browse/pent%20up | 22:09 | |
lambdabot | Title: pent up - Definitions from Dictionary.com | ||
22:09
justatheory joined
|
|||
svnbot6 | r16409 | audreyt++ | * Data.Yaml.Syck: Misc code cleanups. | 22:09 | |
riffraff | yeah I got the concept, thanks to both of you :) | ||
[particle] | dictionary.reference.com/browse/pent%20up | ||
lambdabot | Title: pent up - Definitions from Dictionary.com | ||
[particle] | repressed | ||
riffraff | nice expression, I love it when I learnstuff completely unrelated to the channels I'm in | 22:10 | |
audreyt | xinming: no, they are not -- svk aborted the pushback following your commit | 22:11 | |
svnbot6 | r16410 | audreyt++ | * DrIFT.YAML: Add "cleanSeen" to clean up the seen-recursive-nodes cache. | ||
audreyt | svk-- # not exactly sentient | ||
[particle] hopes he doesn't get that comment on a particle-- someday | |||
japhb | heh | ||
audreyt | lol | ||
Tene | particle++ # quite sentient | ||
diakopter | karma [particle] | ||
@karma [particle] | 22:12 | ||
lambdabot | [particle] has a karma of 3 | ||
Tene | [particle]++ # also sentient | ||
xinming | audreyt: sorry. | ||
svnbot6 | r16411 | yiyihu++ | r16571@HomePc: xinming | 2007-05-18 06:11:02 +0800 | 22:13 | |
r16411 | yiyihu++ | Added files from moose svn repository which is missing in 0.21 | |||
r16412 | audreyt++ | * Pugs.AST.Internals - Tidy up initial structs for the new VCode/Pad | |||
r16412 | audreyt++ | layout for greater sanity. | |||
audreyt | xinming: no, svk needs to be sorry, not you :) | ||
xinming++ | |||
xinming | audreyt: and sorry again... | ||
audreyt | xinming: I'm committing the rest by hand, there's just a few of them | ||
xinming | audreyt: because the svk will be interrupted again. I didn't back log.... | ||
audreyt ponders how a sentient [particle]++ can be composed of nonsentient @particle++... | 22:14 | ||
japhb | audreyt is in the company of a great many sentients in pondering sentience | 22:15 | |
svnbot6 | r16413 | audreyt++ | * Regen instances. | ||
xinming | audreyt: In my opinion, svk doesn't works well with directory deletion and creation some times. | 22:16 | |
svnbot6 | r16414 | audreyt++ | * Pugs.AST.Pad: emptyPad is moved into .Internals. | ||
r16415 | audreyt++ | * Misc. stylistic cleanups in Pugs.AST and Pugs.Eval. | |||
audreyt | xinming: indeed. | 22:17 | |
svnbot6 | r16416 | audreyt++ | * Pugs.Parser: Each symbol is now exported exactly once -- the | ||
r16416 | audreyt++ | old %EXPORT treatment of putting each multi variant into its | |||
r16416 | audreyt++ | own array element is now replaced by simply exporting the | |||
r16416 | audreyt++ | toplevel proto/multi sub. | |||
r16417 | audreyt++ | * Pugs.Parser.*: More cleanups; fake a compPad so CHECK blocks | 22:19 | ||
r16417 | audreyt++ | still thinks they are running in compile time, even though | |||
r16417 | audreyt++ | nothing really is under compilation. | |||
TimToady | does this mean I'll have to recompile? | 22:20 | |
svnbot6 | r16418 | audreyt++ | * Pugs.Monads: Finish up the enterSub/reclose* subsystem; | ||
r16418 | audreyt++ | &?CALLER_CONTINUATION is disabled temporarily because | |||
r16418 | audreyt++ | we're not at all sure if it's lexical or not -- this | |||
r16418 | audreyt++ | perhaps needs a spec discussion. | |||
r16419 | audreyt++ | * This concludes the pushback of the pads-rewrite branch. | |||
audreyt | TimToady: oh hey :) | ||
TimToady: yes, if it compiles at all | 22:21 | ||
(havn't really tried with GHC 6.6!) | |||
TimToady | well, it'll work out | ||
svnbot6 | r16420 | yiyihu++ | Renamed from_moose_0.21 to from_moose since we are sync'ed with moose repository | ||
Tene | What was the goal of the pad rewrite? Infrastructure to enable more development? | ||
diakopter | @karma audreyt | ||
lambdabot | audreyt has a karma of 779 | ||
audreyt | Tene: several (I'm quite sleepy so not really coherent) | 22:22 | |
first, $_ &?ROUTINE etc were fake-lexicals in old pugs runtime -- you can't really close over them and they pollute dynamically, resulting in surprising bugs | |||
TimToady | commuting & # back in about 40 min | 22:23 | |
22:23
marmic joined
|
|||
audreyt | the premise of the MO branch is that a class is simply a closure factory, so things that can only be semi closed over must go | 22:23 | |
(cf. search.cpan.org/dist/Class-Closure/ if you havn't already for prior art by luqui) | |||
lambdabot | Title: Luke Palmer / Class-Closure - search.cpan.org | ||
audreyt | next, our YAML precompilation doesn't really work, because outer scopes only exist in runtime and not really in compile time in the old pugs | 22:24 | |
so only a very fragile subset of code can be put into Prelude.pm and Test.pm in order for them to be compield | |||
and MO would require a great deal of OO+Closure code to be put into prelude | 22:25 | ||
and we _really_ want to precompile them | |||
pasteling | "rhr" at 65.94.38.10 pasted "r16420 build failure w/ ghc 6.6" (7 lines, 310B) at sial.org/pbot/24950 | ||
audreyt | so the fragile non-recursive-capable model of pads must go | ||
Tene | audreyt: thank you. | 22:26 | |
japhb | audreyt++ # Yes, thank you for that explanation | ||
audreyt | there are many more reasons... | ||
another is of performance; pad lookup is too expensive | |||
and multi variant selection too, partly because of that | |||
by locking up pads during compile time, we can emit code that looks up vars by offset | 22:27 | ||
not by name | |||
so instead of a large envLexical lookup it's now just two offsets (OUTER depth and slot idx), for (I hope obvious) wins | |||
(where "now" means "not yet in trunk but soon") | |||
22:27
ashleyb joined
|
|||
japhb | That's the O(1) pads, right? | 22:28 | |
audreyt | yup | ||
japhb | It looks like svk push has finished, but I didn't see the "all done" message | 22:29 | |
xinming | audreyt: I get the same error with Any not in scope. | ||
audreyt | 06:27 < svnbot6> r16419 | audreyt++ | * This concludes the pushback of the pads-rewrite branch. | ||
perlbot | What kind of idiot karmas himself? Your kind of idiot! | ||
audreyt | heh ;) | ||
xinming | audreyt: Do I need to upgrade ghc or wait for the fix? | ||
audreyt | xinming: fixing | ||
japhb | Oh duh, I misread that line (don't ask me how, it's clear now, but I looked at it, and saw something different) | 22:30 | |
svnbot6 | r16421 | audreyt++ | * DrIFT.YAML: GHC 6.6 doesn't export the Any type, so we | 22:31 | |
r16421 | audreyt++ | disable the "seen/cleanSeen" cache in DrIFT.YAML now. | |||
audreyt | s/now/for now/ | ||
xinming | making again. | ||
japhb | OK, if I have a WC of a local branch of a mirror of the pugs repo, how do I pull up to a specific pugs rev all the way through to my WC? 'svk sync -t REV //mirror/pugs' followed by 'svk up' in my WC? Does that DTRT WRT the local branch? | 22:32 | |
audreyt | "svk pull" | 22:33 | |
rhr | audreyt++ fix works | ||
japhb | But wouldn't that pull me up to HEAD? I want to pull to just before and just after your push, so I can compare before/after performance | ||
audreyt | oh. | ||
svk sync -t rev, and then "svk up -m" | 22:34 | ||
and then "svk pull" | |||
22:35
ggoebel joined
|
|||
japhb | I'm not sure I understand the help text for 'svk up -m' ... does that mean that it does the //mirror/pugs -> //local/pugs sync before updating the WC? | 22:36 | |
audreyt | yup | ||
japhb | OK, cool | ||
audreyt | ?eval 1+1 | 22:37 | |
22:37
evalbot_r16322 is now known as evalbot_r16396
|
|||
evalbot_r16396 | 2 | 22:37 | |
22:39
h8crime joined
|
|||
audreyt | pugs compile on feather just finished | 22:40 | |
xinming 's computer is still doing compiling | 22:41 | ||
rhr | yay, it builds :) | ||
audreyt | now the stable (I hope!) half is in, I'll work on stabilizing the unstable part and commit piecemeal the parts that can be taken out first | ||
with the ultimate goal of passing the (hopefully going to exist soon) moose tests | |||
there's no large showstoppers really, so once it does, it's changelogging time | 22:42 | ||
?eval 1+1 | |||
22:42
evalbot_r16396 is now known as evalbot_r16420
|
|||
evalbot_r16420 | 2 | 22:42 | |
audreyt | but now, sleep :) | ||
*wave* & | |||
xinming | audreyt: thanks | ||
xinming goes to sleep also. | 22:43 | ||
22:43
Jmax joined,
eghjaytee joined
22:46
TimToady_ joined
|
|||
rhr | smoke time increased by ~2x here | 23:03 | |
"Useless use of a constant in void context" generates some impressively huge error messages | 23:04 | ||
23:05
Aankhen`` joined
23:08
thepler joined
23:16
theorbtwo joined
23:25
fridim joined
|
|||
japhb | I'm getting an error message that simply says 'user error' right after pugs starts when trying one of my benchmarks. However, after that error message, it seems to continue working, but a while later goes into a CPU-chewing loop. This did not happen with the last rev before the big merge. | 23:25 | |
I've made clean and am now rebuilding to see if that matters | 23:26 | ||
23:29
Limbic_Region joined
|
|||
Limbic_Region | woah, significant update with svn up - is audreyt back? | 23:30 | |
?seen audreyt | |||
lambdabot | audreyt is in #perl6 and #haskell. I last heard audreyt speak 48m 12s ago. | ||
TimToady_ | there's a 'user error' trying to precompile the prelude too, and that's after a realclean | 23:31 | |
Limbic_Region: yes, the pad refactor just went in | |||
setting up for MO soon | |||
Limbic_Region | ok | ||
23:31
buetow joined
|
|||
TimToady_ | not precompiling the prelude might explain the slower smoke | 23:32 | |
rhr | aha, didn't notice that | ||
Aankhen`` | Whoo. | 23:33 | |
TimToady_ | yeah, just running pugs gets the error | ||
Aankhen`` | Nice update indeed. | ||
TimToady_ | so it reloads the prelude, which doesn't seen to get the error again | 23:34 | |
*seem | |||
"user error" is not the most helpful diagnostic I've ever seen... | 23:35 | ||
rhr | I get the "user error" but it seems to generate blib6/lib/Prelude.pm.yml ok | ||
TimToady_ | Oh, I was outside of /pugs when I got the user error | ||
running in /pugs doesn't get it | |||
Limbic_Region is not even going to attempt building without realclean given the extent of the rev | |||
TimToady_ | I'm recompiling on windows, up to 98 of 112 | ||
I also did a realclean first | 23:36 | ||
(it'll reconfigure in any case) | |||
Limbic_Region | TimToady_ - what is your Win32 environment like - AS Perl with MinGW? | ||
TimToady_ | so apparently it's only compiling the prelude that produces 'user error' | ||
cygwin with strawberry perl overlaid | 23:37 | ||
Limbic_Region | interesting | ||
I assume that the cygwin portion has nothing to do with the pugs build? | |||
TimToady_ | so anyway, I don't think my "user error" theory explains the slowdown | 23:38 | |
I don't know if it's using anything from cygwin | |||
it certainly isn't using cygwin perl, which doesn't work | |||
(for compiling pugs) | 23:39 | ||
Limbic_Region | so in addition to a helpful error message, it is also slower? | 23:40 | |
japhb | OK, confirmed, 'user error' disappears when running from within pugs WC. However, script eventually off into la-la land still happening. | 23:41 | |
rhr | my smoke went from 6.5 to 12mins, YMMV | ||
offby1 | a long-lasting cigar! | ||
TimToady_ | heh, got a permission denied trying to pregen prelude on windows... | 23:44 | |
moritz | I didn't even knew that windows has file permissions ;) | 23:45 | |
TimToady_ | could be a cygwin thing | ||
Jmax | it has Object Permissions | ||
Aankhen`` | moritz: XP Pro (and, I think, most NT-based OSes) have this "advanced" security mode which is pretty intricate. | ||
TimToady_ | this is 2000 pro | 23:46 | |
dduncan | has anyone completed a smoke of the new pugs? | ||
TimToady_ | but it's NT based | ||
Aankhen`` | Yup. | ||
Jmax | it's NTFS | ||
TimToady_ | I'm up to t/regex | ||
Aankhen`` | Ah, that's probably it. | ||
dduncan | okay | ||
Jmax | :) | ||
Aankhen`` | Jmax = smart. ;-) | ||
dduncan | I'm on "make" atm | ||
23:46
Psyche^ joined,
Psyche^ is now known as Patterner
|
|||
moritz | Aankhen``: I was just joking... I know that is has permissions, but most windows users really don't know about that | 23:47 | |
dduncan | I recall some comment in the past about updating Yaml something or other ... is that because some recent version had a bug or because old ones just don't work ... I still have the version from last year | ||
Aankhen`` | moritz: Oh, sorry for spoiling the joke. :-( | ||
moritz | Aankhen``: my fault, I forgot the smiley ;-) | ||
Aankhen`` | Hehe. | ||
Jmax | dduncan: the only thing that comes to mind is incompatiblity with serializing blessed objects | 23:48 | |
Aankhen`` | Nah, the IRC protocol is just missing a way to denote emotions. | ||
How very primitive. | |||
Aankhen`` ducks. | |||
dduncan | right now I only care if leaving things alone will prevent smokes from working | ||
I haven't done a smoke for a few months | |||
Jmax | erm maybe that's YAML.pm and YAML/Syck.pm. I forgot this was #perl6 :< | 23:49 | |
TimToady_ | smoke started on windows box okay | ||
Tene | ?eval ?eval my $f = 'foo'; $f ~~ m/f/ | ||
23:49
evalbot_r16420 is now known as evalbot_r16421
|
|||
evalbot_r16421 | Match.new( ok => Bool::True,  from => 0,  to => 1,  str => "f",  sub_pos => (),  sub_named => {}) | 23:49 | |
dduncan | I'm going to do a smoke today, in any event | ||
Aankhen`` | Me too, once I'm done opening a thousand tabs in Firefox. | ||
Should I be waiting for another update first, though, if stuff is broken or not working quite right at present? | 23:50 | ||
dduncan | if the build doesn't die and the smoke doesn't die or loop, that's good enough for me | ||
pasteling | "tene" at 24.2.71.129 pasted "pugs failure on matching" (4 lines, 1.4K) at sial.org/pbot/24952 | 23:51 | |
TimToady_ | rhr: is your box multi-cpu, and could it be using only one of them? | ||
dduncan | but now's certainly a good time for everyone to smoke, for obvious reasons | ||
offby1 lights up | 23:52 | ||
rhr | TimToady_: yes, but it was using all of them (load was >4 when I checked) | ||
offby1 | don't mind if I do. | ||
Limbic_Region | TimToady - what if anything did you do about the permission denied issue with the prelude? | 23:55 | |
TimToady_ | didn't do anything; seems to work | 23:56 | |
there's a Prelude.pm.yml with the right date in blib6/lib | 23:57 | ||
so probably just carping about not being able to overwrite a file that isn't there, or some such | |||
Tene | Oh, I guess that's not a rules problem. I get the same error with "$m.say" | ||
oh, seems to only happen in interactive pugs. |