The Return of the Journal : pugs.blogs.com/ | pugscode.org | pugs.kwiki.org | paste: paste.lisp.org/new/perl6 or sial.org/pbot/perl6
Set by GammaRay on 31 December 2005.
theorbtwo Use abnormal datastructures, innefficent as all hell, but defined and implemented without roles, in order to be able to bootstrap? 00:12
It's great news if piln can boot classes.
rafl integral: ping 00:14
tewk \ 00:17
theorbtwo g'night. 00:21
rafl ingy: ping 00:22
tewk 00:29
putter theorbtwo: back. g'night. yes. neat idea. 00:32
stevan: ok, top level. can one simply do a "warm" bootstrap? boot from piln compiled previously on a working system? roles are compiled away by the time one gets to piln, yes? so compile just enough to break dependency loops, or even the entire prelude. and then either dont load the p6 "file" which was compiled 00:37
or do load it, and stomp on the old bindings.
00:37 \xe6var joined
putter alternately, if one wants a cold boostrap, questions include how many hops, in which order, and how to do the binding. if one doesnt want rebinding, one might do multiple loading of p6 code, once into a Scratch package, containing say Array built on primitives, which the roles code loads by virtue of being loaded into 00:45
Scratch. this stuff is then run, creating the top level bindings. but rebinding seems easier. ie, build enough of Array/Whatever on top of the array/whatever backend primitives to make roles happy, at which point a normal p6-based Array/Whatever can be normally role()d into existance, overwriting the boot cruft. 00:49
tewk putter: Whats new with respect to the release, real life kicked in this past weekend. I saw that audrey ci adverialial literals. 00:51
putter theorbtwo's thought is another way to avoid rebinding. and... have to think about that more... 00:54
tewk: I'm not sure. Let's see...
it looks like gaal did a linux smoke of 8776, which is just a doc file away from HEAD. m19s28.vlinux.de/iblech/stuff/pugs-...d14b6.html 00:58
yes, so svn log -r8766:8776 shows audreyt did the adverbial numbers. likely using bsb's refactoring (though I havent checked). 01:01
but that looks like the only thing fixed since your last (undef.t) commit which affects the tests/smoke. so we are still rather broken. 01:03
tewk So my smoke isn't running as many test as others are... 01:04
I also ran a smoke monday morning m19s28.vlinux.de/iblech/stuff/pugs-...3c68f.html
but I only ran 9352 tests.
putter looking...
tewk ahh I don't think I was running ext tests. 01:05
That got fixed also.
putter ah, ok. 511 vs 6mumble files. 01:06
01:09 Amnesiac joined, Cryptic_K joined
putter tewk: I'm sorry your work got preempted. I assumed audreyt would backlog or triage and head for higher fruit. Perhaps she wanted something bitesized. :/ 01:11
tewk I'm glad it got done, I went AWAL and I think the implementation there is better. 01:13
putter When it's happened to me, I've found it quite interesting to see how it was done. We don't really have a mechanism/tradition of hs code review. ie, audreyt or someone does a patch, folks look at it, ask/discuss why it was done that way, etc. 01:16
and there isn't much continuous refactoring effort. so "I know this was a crufty way to do it, but I'm not sure what would be better" (or "I got tired of fighting the type system";) code stays unchanged. 01:17
tewk That was my problem, fighting the type system, I like the code that actually made it in. I'll go take a look 01:18
01:21 \xe6var joined
putter rt.openfoundry.org/Foundry/Project/...;rev2=8768 01:23
rt.openfoundry.org/Foundry/Project/...;rev2=8770 01:25
rt.openfoundry.org/Foundry/Project/...;rev2=8770 01:26
putter sooo wants a system for sharing annotations on files. 01:31
tewk: how goes the look? 01:32
tewk Looking, everytime I think I'm getting haskell I find I still have a lot to learn :) 01:35
putter lol. yeah.
my fuzzy impression is also that audreyt has a featurefull coding style. 01:37
tewk Yeah, I agree, but that is how one learns. I do the same think in other languages and past coworkers used to hate it. 01:40
putter Eval Val?
tewk For me it is another weeder test, Does featurefull coding style intrigue you or make you angry :) 01:41
++ if it intrigues you. 01:42
putter yes. though one has to target one's audience. I made
lol :)
some poor design choices on project by allowing the professionalism (plus n years of C development) of the people who would maintain it overshadow their own statements that "they weren't really comfortable with pointers". I failed to design and code appropriately, and my code was apparently tossed within a year or two. 01:45
01:46 dduncan joined
putter here of course, with -Ofun and people learning haskell... hmm, I wonder if more folks would have learned haskell if it were more stereotyped code... *shrug*. but getting into the habit of chatting about it on irc seems a potential win. 01:47
tewk: any aspect of the patches you'd like to comment on? ;) 01:48
I liked bsb's refactoring. the definition of two identically named baseDigit's (in Parser and Number) seemed unfortunate. so it looks like the Parser code doest use Number's number. which makes this a very nifty contrast of two different approaches to some of the same problems. 01:55
the Pugs::Internals:: namespace... nags at me. the problem is, when some other backend runs the code, does it create a P::I, even though it isn't Pugs? or is that "Pugs-compilers's-assumptions"::Internals, in which case it makes sense. 01:57
tewk Ok I think I understand Number.hs, on to Parser.hs 01:59
02:00 robkinyon joined, vel joined
putter tries to figure out how the Parser code validates the set of letters used... 02:01
?eval 3
02:02 evalbot_8764 is now known as evalbot_8777
evalbot_8777 3 02:02
putter ?eval :2<10>
evalbot_8777 2
putter ?eval :2<13>
evalbot_8777 5 02:03
putter ah. it doesnt.
it seems like that should be a parse error 02:04
no?
tewk ?eval :kevin<10>
evalbot_8777 ("kevin" => "10")
tewk ?eval :40<10>
evalbot_8777 40 02:05
tewk ?eval :50<11>
evalbot_8777 51
tewk ?eval :70<11> 02:06
evalbot_8777 71
tewk ?eval :16< > 02:11
evalbot_8777 0
dduncan this may be beating a dead horse, but is there any estimate for when 6.2.11 will go out? 02:12
tewk ?eval :16< . 11 >
evalbot_8777 11/16
tewk ?eval :16< . d > 02:13
evalbot_8777 0/1
dduncan if its going to be longer than 1-3 days, I think I'm going to not wait before putting the current state of Rosetta on CPAN; before I was holding it off for a week plus so they would be out concurrently
putter dduncan: is 6.2.11 the next release?
dduncan that's my understanding
6.2.11 is essentially what we have now but with all the tests passing or skipping 02:14
and following that, there will be a big refactor so pil2 is used by default
in the 'normal' haskell runcore
resulting in 6.28.0
putter audreyt's journal suggests $job for atleast another day, plus post-deadline recovery ;), plus whatever life stuff is associated with Lunar New Years. sounds like very late Jan or early Feb. 02:15
dduncan if that's true, then I think I won't wait
putter putter is extrapolating the recover and life-stuff, >2 days seems certain, >3 most likely. 02:16
s/stuff,/stuff, but/
?eval :8<0.1> 02:18
02:19 Cryptic_K joined
evalbot_8777 1/8 02:19
putter ?eval :16<0.1>
02:19 Cryptic_K joined
evalbot_8777 1/16 02:19
putter ?eval :16<0.2> 02:20
evalbot_8777 1/8
putter ?eval :16<0.a>
evalbot_8777 5/8
putter ?eval :16<0.d> 02:21
evalbot_8777 13/16
putter ?eval :16<.d> 02:22
evalbot_8777 13/16
putter ?eval :16<. d>
evalbot_8777 0/1
putter ?eval :16< .d>
evalbot_8777 13/16 02:23
putter numbers.t needs many more test cases apparently.
dduncan: I wonder if there is anything we can collectively do to clarify scheduling, without impacting -Ofun? or increasing -Ofun! ;) time estimation being potentially great fun. ;) 02:27
dduncan does this mean you want to start a betting pool?
putter tewk: thanks for motivating this code review thing. I enjoyed, learned more hs, ... :) 02:28
dduncan: ha! :) there's an idea.
dduncan okay, I bet that 6.2.11 will go out in exactly 7 days 02:29
putter checks calendar..
dduncan or in the 7-10 day range
putter oh, foo. the -10 does take a bite out. 02:32
ok, I'll do 6 days (Tues GMT I think). 02:34
6.28.0 in late-Feb to early-March, depending on audreyt's schedule. 02:35
;) 02:36
I bet one as yet unripe plantain, suitable for hanging low. 02:37
codereview++
02:38 stevan_ joined
putter hey stevan. I'm just about to head out to dinner. some thoughts above. 02:39
stevan_ hey putter 02:44
yes, just backlogged
theorbtwo: classes have been booting in PILN for a while now 02:45
not into Perl 6 yet, but the model is bootstrapped
putter hi, thoughts? 02:46
stevan_ has to take out the dog,.. brb 02:49
then thoughts :)
putter: you can go grab food and backlog if you like
putter ok, I'm off. will backlog. cheers & 02:51
dduncan putter, you can do an overlapping range with mine, it just can't be exactly the same ... 02:55
02:56 svnbot6 joined
dduncan if the actual date is in the overlap, then whoever's range is more constrained and/or has the actual date more centrally placed wins 02:56
putter must be using the web log, since he logged out, for his backlog 02:57
stevan_ dduncan: yes, probably 02:59
putter: the metamodel is built in such a way that if we want to replace/rebind methods to any of the classes we can do so 03:02
in fact, we can even rebind the classes too if needed 03:05
I see no reason why we couldnt
but ideally we dont do that 03:06
instead we use roles to accomplish the same thing
03:06 vel joined
stevan_ so the idea would be that once the metamodel is bootstrapped,.. the role model bootstrapped atop it,... then container types built 03:06
we are ready for Perl 6 03:07
03:09 lev_ joined, vel joined 03:10 lev_ left 03:12 vel joined 03:26 vel joined 03:30 lev_ joined
stevan_ putter: but if say, a method, would be better written in Perl 6,.. then we can simply overwrite it using the metamodel featrues 03:35
^Package.add_method('name', method { ... }) 03:36
(add_method will replace a method of the same name)
03:37 lev_ joined
stevan_ putter: there is also some autoboxing/hand-waving/magic which will probably happen in the PIL2 to PILN compilation process 03:37
but this is all in the codegen,.. which is audreyt's thing and out of my scope 03:38
03:38 lev_ left, _meppl joined
stevan_ good morning _meppl 03:39
03:40 _meppl is now known as meppl
stevan_ putter: looking at it from another point of view,.. if we write only as much of ^Array as we need to bootstrap, and no more,.. then once we are "in" Perl 6,.. we can fill in the missing methods 03:47
again,.. with the metamodel
03:51 vel joined 03:57 stevan_ joined 04:27 putter joined
putter dduncan: re overlap, ah, ok. though shame on me for doing an estimate without confidence bounds, justifications, and risk analysis. 04:29
dduncan this is only for fun anyway
putter dduncan: re log, yes. colabti.de/irclogger/irclogger_logs/perl6 came in handy for doing some year-of-pugs quantitative exploration.
dduncan: some things are funnest done well... ;) others not of course... 04:30
04:30 beppu joined
putter stevan: ^Package is... p6? "^"? 04:31
stevan: what is the relationship between C::m := method {} and C.add_method('m',method{}) ? 04:33
re mm, then roles, then containers: but we need at least some of containers to implement roles, no? I thought that's where we started tonight...? perhaps you mean mm, just-enough-containers-for-roles, roles, containers-for-real? 04:36
re writing just enough of ^Array, I note that even if the "format on disk and in tar ball" is .piln, we might still write it in p6, compile it, and save the .piln output. 04:38
one random thought - a difficulty with minimum-containers, and roles targeted at a them, is it sets up a tension in the role implementation. between easy boostrap, and performance. hmm. and at this stage of development, that sentence reads "easy bootstrap, and <intentionally left blank>". so never mind. 04:40
ok, so it looks like we're thinking along similar lines. 04:41
oh, did you have any thoughts on avoiding the whole "build up from scratch code" approach by simply "compile a blob of p6 to a piln file and add the file to the distribution"? 04:42
s/scratch code/scratch cold/ 04:43
so one piece these approaches have all had in common has been a p6 roles implementation of some sort. do we have one of them? 04:44
stevan_ putter: I am answering as I backlog :) 04:50
putter :) 04:51
stevan_ putter: "^" is the new class sigil
C::m := method {} is a package assignment
basically it desugars into C::FETCH('m', method {})
and FETCH in ^Class is defined to use add_method if it gets a method 04:52
re: we need enough containers to do roles
I think we might be able to get away with not using containers 04:53
putter s/FETCH/STORE/ ?
stevan_ sorry,.. yes
putter k
stevan_ the thing with roles for me right now is having the time to sit down and see what is the best algorithm/approach for calculating conflicts
and for pushing them up and down the role heirarchy so that they get properly managed 04:54
putter ah
stevan_ re: the compile it, save the piln output and put it in the distro 04:55
we can do that if it ends up making sens
e
we have to see the code gen
04:55 stevan_ is now known as stevan
stevan I know with, for instance, Ada, the assembler emitted by the compiler tends to be much more efficient than hand optimized assembler 04:56
audreyts PIL2->PILN compiler might do that too
re: difficulty with min-containers --- I agree,.. this approach could get messy 04:57
again,.. if the codegened piln is better than hand written,.. then maybe not
putter so next steps are "pondering conflicts" and ... waiting for p6->pil2->piln? :-/ 04:59
stevan putter: yes, for the most part 05:00
putter ok
stevan one good short-term project would be to spec out roles more 05:01
putter can you see any advantage to doing multiple piln backends simultaneously?
re roles spec, right
stevan putter: multiple piln backends? as in new metamodel? 05:02
putter or rather, I thought they were straightforward and already specced... and of course I know that's not true. right
stevan or a C implementation
of the piln runtime 05:03
putter hmm, C... I had been thinking more along the lines of ocaml or js, but yes. piln runtime
stevan ah
yes, there is much use in that
putter just so any "in language of flavor X you really want Z" issues turn up quickly 05:04
stevan yes
a Perl 5 PILN runtime would be very cool IMO 05:05
but JS works too
ocaml if you want
scheme, brainf*ck, anything really :)
re: roles,.. the spec for roles is pretty much still in the hand-waving stage,.. although they are not as bad as they used to be 05:06
however, I think they are simple enough,.. its just a matter of working out the edge cases 05:07
because they are an integral part of the language,.. we have to cover all the ugly dark coners they might enter into
and if they are not predictable, they are not useable, and if they are not useable, then ... well,.. then it sucks 05:09
putter my impression is audreyt is thinking in terms of an XS piln runtime. but doing a pure p5 one too would make sense I guess. but... 05:10
I don't really have a good idea how much work a backend in any language will entail. and once we have a semi-functioning p6->piln path, the critical path will likely be prelude stuff, and pil2/piln manipulation in hs and perhaps p6, and all the many things which would be neat to do but have been blocked on oo not really working.
hmm...
do have a feel for how stable or not the concept/design/spec/implementation of piln is?
moving target or so boiled down it's like taffy?
;)
stevan putter: I think the piln "thing" is pretty solid at this point 05:11
any changes will be minimal at this point
05:12 drbean joined
stevan of course that is conditional on audreyt not having any epiphanies 05:13
putter so solid one could write a piln backend now? or not quite?
epiphanies++ 05:14
stevan well the language is solid enough,..
yes
the implementation might get refactored
putter I've mentioned the "guy who designed make realized semantic tabs were a bad idea... but by then he had order 10 users he didn't want to subject to an incompatible change" story? ;) 05:15
ok
stevan I am pretty much the only PILN user right now :) 05:16
putter so nail down spec, ponder architecture/design, and perhaps play with backends. anything else doable? 05:17
:)
stevan I htink the playing with backend part is the best path
it might help uncover issues with PILN or even open up possibilities we didnt see/think-of in the HS version 05:18
putter ah, good poing
err, point even
stevan and VMs are fun little projects too :) 05:19
putter thinks a very silly thought...
have you seen...
stevan Neko?
Parrot?
putter merd.sourceforge.net/pixel/language...uages.html 05:20
lol
stevan porting the metamodel to PIR is another tedious task which needs a sucker ... uhm I mean volunteer
putter lol, choking, coughing, ouch ;) 05:21
stevan :) 05:22
putter I'm afraid someone else will get to have the joy of doing pir. not I. 05:23
stevan is hoping on a PILN -> PIR codegen :) 05:24
05:24 beppu joined
putter anyway, the thing with s-a-l... the silly thought that is... a while back, I did a variant that could actually gen code in a few languages - build semantic net, select language, shake, emacs buffer's change name, language, distribution files, etc. silly idea is why do just 2 or 3 piln backends, when... ah well. maybe when 05:26
things settle down and some frontends are cooking along.
stevan: half past midnight 05:27
stevan wonders what it is that putter is eating,.. and if maybe there was some hallucinagenic mold growing on it he didnt notice
putter ha. there's an explanation for the strange looking p6 camel. which ran around thinking "I'm eager! I'm lazy! I'm static! I'm dynamic! I'm classy! I'm prototypical! I'm functional! I mutate! ... I'm one confused camel... but I think I like it, and I'm meeting all sorts of interesting people." :) 05:31
stevan LOL
ok, time for bed 05:32
putter yeah.
good night stevan. good conversation. thanks. 05:33
stevan I am glad we are finally getting back into balance :)
have a good night putter
stevan &
putter &
good night all & 05:34
05:38 Juerd joined 06:05 elmex joined 06:25 drbean_ joined 06:36 beppu joined 06:42 meppl joined 07:10 kanru joined 07:17 Aankhen`` joined 07:22 beppu joined 07:34 iblechbot joined 07:40 grayson`` joined 08:14 nnunley joined 08:19 kakos joined 08:35 bsb joined 08:52 xern joined 09:23 xern joined 09:33 kane_ joined 09:53 nothingmuch joined
nothingmuch labs.google.com/papers/mapreduce-os...index.html 09:54
09:54 Debolaz joined 10:05 dada joined 10:11 drbean joined
ingy rafl: pong 10:19
lypanov wonders where the smoke tests are 10:35
theorbtwo Morning, people. 10:54
10:57 G2 joined 11:01 marmic joined 11:08 BakedB joined 11:15 pdcawley joined 11:25 penk joined 11:26 penk joined, penk left 11:27 penk joined 11:34 nnunley joined 11:41 kane_ joined 11:52 scook0_ joined
ingy seen audreyt 11:56
jabbot ingy: audreyt was seen 2 days 2 hours 18 minutes 6 seconds ago
ingy &
nothingmuch ingy: just curious, are you getting poiunded by the new YAML stuff?
many people are complaining on borkedness
and I'm not sure they are communicating this properly
12:23 whiteg joined
rafl ingy: Why does Test::Base depend on Test::More 0.62? 12:32
ingy: I can only find that in META.yml and Makefile.PL
ingy: But you don't have a use statement that also uses this Version or some docs that explain why I need a newer Test::More. 12:33
12:48 drbean joined 13:04 chris2 joined 13:07 mayall joined 13:11 kolibrie joined
\xe6var mm 13:24
I'm not sure I understand the whole bless() in perl6 discussion
integral doesn't understand most of perl6-l stuff
\xe6var I'd hate to see it in p6 just as some backwards compatability hack 13:28
nothingmuch rafl: maybe search.cpan.org/src/MSCHWERN/Test-S...62/Changes has clues 13:29
obra: aaah! rt not sending notifications again 13:30
rt.cpan.org/Dist/Display.html?Statu...on-PerUser 13:31
rt.cpan.org/Dist/Display.html?Statu...e-Htpasswd
rt.cpan.org/Dist/Display.html?Statu...Store-DBIC
obra nothingmuch: please report it via the address listed on rt.cpan.
IRC isn't the right way to report bugs. And I'm not the person who deals with them. I just deal with kicking that person if they don't 13:32
nothingmuch done 13:33
i thought you were rt.cpan.org's boss
13:33 rodi joined 13:49 mayall joined
nothingmuch obra: in the update bug form 13:51
perhaps there's a way to get HTML make the "default" form submit button different 13:52
when you hit return it chooses to add more files, instead of update
obra nothingmuch: that's a browser issue
nothingmuch figured as much
obra browsers do idiotic things when you hit return
nothingmuch www.devx.com/vb2themax/Tip/18846 13:54
hah
nothingmuch would really expect there to be a default="1" attr of some sort 13:56
obra: also, very nice redesign, if it's yours 13:57
obra it's mostly the same guy who did the cpan migration :) 13:58
nothingmuch the cpan migration? 13:59
obra rt.cpan.org
nothingmuch err, yes, but what migration?
like, of the dists => queues?
obra from RT2 to RT 3.5 14:00
14:03 iblechbot joined 14:06 rantanplan_ joined
nothingmuch oh, i see 14:08
who is that guy? Ask? 14:09
bsb: oh, you're the CGI::Expand guy 14:11
heh
and here I was corresponding via mail/etc when I could have just bugged you here 14:12
obra no, not ask. Tom Sibley. one of our interns. 14:19
bsb nothingmuch: that's me 14:21
bug me however you like :) 14:22
nothingmuch huh, wrong channel though 14:23
=)
anyway, coolness
obra: ah
obra: tell him ++ if you remember =)
nothingmuch goes home
14:29 r0nny joined 14:37 elmex joined 14:59 rantanplan_ joined 15:05 eric256 joined 15:06 eric256 left 15:40 Eimi joined 16:11 sub_chick joined 16:17 lampus_ joined 16:18 hexmode joined 16:27 bsb joined 17:38 stevan joined 18:35 ilogger2 joined 18:37 typester joined 18:41 hcarty joined 18:51 nothingmuch joined 18:54 elmex joined 19:37 kakos joined 19:39 G2 joined 19:50 nnunley joined 20:37 nnunley joined 20:41 vel joined 20:51 lypanov joined
Juerd "Much discussion ensued." 21:01
That's not a summary 21:02
\xe6var sure is 21:05
"This week in perl 6"
"There was many a posting on the list"
"Much discussion ensued"
"Replies were made" 21:06
"Counter..."
robkinyon Anyone else feel that there isn't enough distinction between P6C and P6L in the summaries? 21:16
metaperl I think I would prefer a + or _ for string concatenation... 21:19
s/or/over/
s/\bor\b/over/; # :) 21:20
stevan metaperl: making + polymorphic would be very easy in p6
multi sub infix:<+> (Str $left, Str $right) { $left ~ $right } 21:21
metaperl underscore is not the p6 concat operator? tilde is?
stevan yes
metaperl oh someone told me that was why tt used "_" for string concat 21:22
stevan last I checked that is :)
kolibrie once upon a time, '_' was the planned perl6 string concat character 21:23
thus TT decided to use it, and then the perl6 spec changed
stevan _ is a really bad idea IMO 21:24
$this_$that
yuk
robkinyon + is also a bad idea
+ is commutative in almost all the mathematical uses
metaperl stevan: are you getting into Catalyst? it's pretty sweet
robkinyon plus, what does "foo" + 3 mean? Should it be the same as 3 + "foo"? Isn't this one reason why JS isn't the best language?
metaperl robkinyon: how about borrow from Haskell and make it ++ 21:25
robkinyon uh-huh. :-)
metaperl we have xx and ?? :: ... so why not ++
stevan metaperl: we are planning on using it in our newest project
metaperl :)
robkinyon Why does there have to be an operator? What's wrong with str1.concat( str2 )?
or str3 = concat( str1, str2 )
metaperl cool, what for dynamic HTML?
stevan really regrets introducing robkinyon to Ruby sometimes :P
robkinyon LOL 21:26
robkinyon & # Time to become a chauffeur
stevan metaperl: yeah, a data capturing app basically,.. kind of a web-wizard thing
metaperl: we are thinking of using Rose::DB::Object for our ORM
metaperl stevan: I like DBIx::Simple overall... Rose takes a lot of work to get setup... the author hangs out on #dbix-class 21:28
stevan metaperl: I didnt actually choose it, robkinyon did (he is my cow-orker)
stevan curses freenods registration policy 21:30
21:32 vel joined
theorbtwo You know, not being able to send messages /from/ an unregistered account would make sense. Not being able to send /to/ just means you have to spam a channel with personal messages to register already. 21:36
stevan forgot his password, so I am currently "unregistered" 21:37
21:37 vel joined
kolibrie stevan: at least you didn't set it up to disconnect unregistered users using your nick 21:42
21:44 vel joined
stevan kolibrie: true :) 21:47
21:47 lypanov__ joined 22:04 kattana_ joined 22:05 SamB joined 22:07 p5evalbot joined 22:14 putter joined
putter Ok, a couple of thoughts: 22:14
The other day I was feeling grateful for all the nice infrastructure we have which makes things soo much easier. frenode for irc, openfoundry for vcs, iblech's smokeserver, etc. 22:17
One thing we've talked about but not done, and some other projects have, is a server which records, on a revision by revision basis, what tests are failing. So you can tell for instance, which mod broke something. 22:21
Yesterday a little "code review" exercise with tewk pushed home the concept that it's much easier to understand/debug haskell (or anything else I suppose) when you only have to look out from a few lines.
So... are we being incredibly lazy here? Might some or all of the current test fails be accessible if the code which caused the problem were before us? 22:23
And worse case senario, couldn't we have figured out when things failed with hand builds and reading the log? 22:24
Having someone as exceptional as audreyt working with us is indescribably awesome. And I wish we had more of her. And often it will take a day of effort to fix something audreyt could fix in a few minutes. 22:26
But shouldn't we be putting in a little more effort here? If only for the practice and the learning opportunity? 22:27
PerlJam putter: some people can juggle more balls than other people. Some people can context switch faster than others too.
22:27 Khisanth joined 22:32 p5evalbot joined
putter Certainly resources and capabilities are constrained as always. And "wait for audreyt to fix it" is certainly a viable strategy. But... that doesn't mean we have to be dumb about it. We don't even have a file to keep notes on our collective efforts to debug the build. What would your reaction to a "real" project be if someone 22:32
asked "how do you deal with your release bottleneck bugs" said "well, each of our developers takes a poke at them, and if nothing gets fixed, our best most overcommitted developer eventually comes by and fixes them, though sometimes that means we have to push back the release for a week or two." Eeep. 22:33
Ok, flame off. ;)
22:34 p5evalbot joined
putter goes back to building a "kennel" of pugsen. big open disk partition, lots of spare computes, ulimit... a pile of dogs. 22:35
22:37 p5evalbot joined
integral a 22:39
putter++ 22:40
I looked at why ext/Cipher had TODO tests yesterday, where should I record a note saying that the reason is that method dispatch is borked in the default evaluator?
putter hmm... 22:41
22:42 lypanov__ is now known as lypanov
putter if were something that was blown away before release, I might suggest something like t/RELEASE_DEBUGGING_NOTES ;) as hard to miss. But some tests are always :todo()ed, so notes on them will still be needed... 22:43
theorbtwo integral: There should be a note with what else tests that bug.
integral theorbtwo: what do you mean? You mean next to the TODO'd line in ext/Cipher/t/foobar.t? 22:44
I don't actually know what else tests the bug. How do I find out when we've got so many tests?
actually more to the point there is a comment there but it's wrong.
theorbtwo Well, certianly fix that. 22:45
22:45 drbean joined
putter we could start with a t/RELEASE_DEBUGGING_NOTES and later stash anything which seems worth preserving when we blow it away for release? 22:45
theorbtwo I wouldn't worry about making a redundant test, if you know how to structure it.
putter or ./PREPARATION_FOR_RELEASE 22:46
?
integral hmm, maybe I should just keep my own journal a bit more rigously so I can just check things myself after the release
putter a kwiki page? 22:47
integral ah ha! good idea
putter :) 22:48
22:49 lypanov left 22:50 lypanov__ joined, lypanov__ is now known as lypanov
svnbot6 r8779 | bsmith++ | * ext/Cipher: Changed the comment about why arcfour's tests are being skipped 22:52
r8779 | bsmith++ | to reflect the fact that it's a pugs error that is causing the problem.
putter Oh, anyone who wants to add a couple of tests to numbers.t, this 22:53
?eval :2<109> 22:54
22:54 evalbot_8777 is now known as evalbot_8778
evalbot_8778 13 22:54
putter is a no-no.
integral o_O
22:55 lypanov joined
putter "pugs... we have builtin primitives for modular arithmatic Z_n" ;) 22:56
integral *cough* well that's just demonstrated that my prose ability on wikis isn't good ;)
putter not really. but we need a failing error case. also for bogus whitespace 22:57
:)
?eval :2< .11>
22:57 evalbot_8778 is now known as evalbot_8779
evalbot_8779 3/4 22:57
integral I thought :<> was for creating pairs, not numbers
putter I can't keep track of it all. Today, at least, : 22:58
its numbers. @Larry[0] added the tests himself. :)
integral *reads p6l* wtf? larry's grabbed &ff as a standard operator?! 22:59
putter tries to remember an example of seemingly bogus whitespace... checks irc logs for yesterday... then will look at wiki...
ah, 23:01
?eval :16<. d>
tewk++ for finding
23:02 eric256_ joined
putter any volunteers to add at least the two tests? 23:03
23:03 eric256_ left
bsb Should :16<. d> be failing? 23:04
putter integral++: stream of consciousness. :) it's a style. 23:05
hey, evalbot never replied...? 23:06
?eval :16<. d>
integral has made a private note too so there'll be no excuse to not have Cipher working one day
evalbot_8779 0/1
putter that seems not quite the right thing. I'm not sure if failure, or a different answer, is spec... 23:07
checking...
S02 doesnt really say, 23:10
for the (unimplemented) :2($x) form, permitting space seems plausible.
23:12 dduncan joined
putter wait. just because it's in a different base doesnt mean you can suddently have space between decimal and digit. so yes, I suggest it goes boom. 23:12
bsb: sound plausible? 23:13
integral oh, wow, only one other commit since I made one last night :-/ that's the slowest I've seen
putter twiki page: pugs.kwiki.org/?TodoTestsToBeRechecked integral++
integral a 23:14
bleh, I keep mistyping
putter "high momentum" does not really describe our current state. :/ 23:15
23:15 lypanov_ joined
putter maybe we need a TODO/TASK list if only for the benefit of having things to polish off at a time like this? 23:16
bsb putter: you're right. 23:18
I was looking at the :n<> literal forms but the :n() function scared me off 23:19
putter (lisp folks are just going to loooovvveee p6;) "Perl 6 - now with syntax which can scare even p5 programmers" 23:22
bsb I'm easily spooked
I was more scared of the Haskell 23:23
I wanted a nice little task in the corner of pugs but the function form seems more entangled
putter yes. liked your number refactor though. 23:24
bsb Regarding your PREPARATION_FOR_RELEASE rant, I agree 23:25
It would be good to know where to find some bite sized bugs
(I must also say I lost track of the implementation a while ago and am still catching up) 23:26
putter do we still have a STATUS doc? 23:31
bsb Beats me
I only started playing with the number thing after seeing your comments here 23:32
23:34 joepurl joined 23:35 nnunley joined
putter Is this the current version of $CALLER::_ ? It's the cause of the subroutine.t failure. was working in r8700. There has been a language change since then perhaps? Which wasnt reflected in subroutine.t? 23:37
pugs.kwiki.org/?TodoTestsToBeRechecked 23:38
re STATUS
./STATUS looks out of date... should be variously dusted, ideally before release... 23:39
added note re STATUS to pugs.kwiki.org/?TodoTestsToBeRechecked 23:41
integral: sorry if my use of the page isnt quite what you intended... ;)
ok, maybe first byte-sized bug goes in a new ./TASKS file. we've been mumbling about creating one for months... ;) 23:44
svnbot6 r8780 | putter++ | Creation of a ./TASKS file. bsb++ 23:55
putter bsb: ping? 23:56
bsb yeah, was just svk pulling 23:57
Looks good
putter so, $CALLER::_ is busted in subroutine.t, but was working in r8700. svn log -r8700:HEAD > deleteme shows
lisppaste3 putter pasted "recent svn log entries mentioning CALLER" at paste.lisp.org/display/16037 23:59