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.
putter someone want to look at the CALLER change audreyt need to make to the other .t file, and see if it suggests a solution to subroutines.t...? 00:01
svn diff -r8714:r8715 though there is probably a shorter way 00:02
bsb I'm offline in 5 minutes until about next thursday
putter ah. :)
Lunar New Year?
anyone else want to go potentially-low-level-banana grabbing? 00:03
whiteg Lunar New Year is the Chinese New Year 00:05
putter bsb: a surprising range of ideas resulted from your refactoring number. :) thanks!
whiteg it begins from this Saturday
bsb I'm moving house, not celebration involved unfortunately
00:06 rantanplan_ joined
putter ah, no. good luck. *shudder* 00:07
bsb I only have one big suitcase 00:09
What ideas popped out from Number.hs?
And why didn't I have them? :)
putter :) 00:10
let's see...
the most recent chain was it got me and tewk looking at your refactoring and audreyt's :2<1> patch. 00:11
which was a good way to learn more haskell, and raised the idea of having "learning code reviews" of hs patches be a regular thing to do. 00:12
and also turned up the :2<1> bugs you recently wrote tests for.
and got me thinking that dealing with hs is _much_ more managable in small chunks. so why dont we backtrack which chunks broke the current tests. 00:13
which led to a flame, a pugs "kennel" of old pugs versions, a kwiki page, a TASKS file, and so on, and so on. 00:14
:)
bread upon the waters
bsb wow 00:15
putter kind of nifty how the world works. I always enjoy seeing cascades like that.
bsb I'm glad it cascaded in the right direction 00:16
Night putter, all
putter 'night bsb & 00:17
theorbtwo A tracker of /when/ each test started breaking would be great. 00:20
putter yeah. where to put it...? 00:23
Juerd: feather?
theorbtwo The problem is how do you track a unique test over time. 00:24
I was assuming that it'd be from running smoke on differnet builds. 00:25
I suppose if you run the latest tests across old pugs, then you don't have that problem, but you eat lots of CPU running new tests on old builds.
putter ?eval sub f($x = $CALLER::_){say $x} for 3 {say $_;f()} 00:28
00:28 evalbot_8779 is now known as evalbot_8780
evalbot_8780 OUTPUT[3 3 ] undef 00:28
putter hmm, neat thought. just having a copy of the _old_ make test output is an improvement on status quo. the smokeserver had gc'ed the old smokes I wanted to check. but I like the new nexts on old pugs idea. maybe each release, run the tests across a spread of r\d\d00 and r\d\d\d0 versions? 00:30
re cycles... don't want your machine to be tooo bored while you sleep... 00:31
theorbtwo Every $r%10 == 0 version from today, every %100 from the last week? I wonder how many r/night that'd be on a typical day... 00:34
putter ?eval sub f($x = $CALLER::_){say $x} for 3 {f()}
evalbot_8780 OUTPUT[3 ] undef
putter that could be neat. say 300MB per pugs uncleaned. 3/GB, say 10 GB is 30. 10 at %100 is way overkill, 00:39
20 at %10 is 200, which seems a bit low. 00:41
theorbtwo I'm more concerned about time taken to do all these test runs then space storing the kennel.
putter ah, but you only have to rerun the tests which changed :) 00:42
theorbtwo In fact, I think you're overestimating -- is a built pugs 300MB? No need to store the sources, intermediate files, t dir...
Hm, good point.
(Assuming the test files are independent of each-other, which I certianly hope ours are.)
putter yeah. I've no idea how much one could throw away and still have a working pugs + Test.pm. 00:43
theorbtwo Hopefully, everything except ./pugs and blib6.
putter tests...
so it would appear. :) neat. so thats <20 MB. and that order of magnitude is more than enough for the exercise. nifty! 00:47
00:49 lypanov joined
putter Then one could actually build a kennel quite fast. make, grab ./pugs, svn up to the next version, make (little needs to be done), grab ./pugs, etc. as long as you trust the build system to be clean about it. I'm not sure I do. 00:52
maybe a clean build every N revisions, and then hops between?
ok, so why does the evalbot'ed $CALLER::_ line work on evalbot_8780, but not on my r8778, when svn log shows the intervening commits shouldnt have made any difference...?? 00:58
theorbtwo Oh, my. 01:02
I wanted to get a log from a week ago to now.
svn log -r '{2005-01-19}' > lastweek gave me nothing at all.
Who can tell me what svn log -v -r '{2005-01-19}:HEAD' > lastweek gave me, and why I am an idiot? 01:03
putter ? 01:04
theorbtwo This is 2006.
putter <suspense builds>
ahhh. ;)
theorbtwo I got a log of everything from the beginning of time to a week ago.
Er, correction, everything from the beginning of time to right now. 01:05
putter I did that the other day to do graphs of commits vs time. I was surprised how fast it was. ;)
putter tries to picture a chronological filesystem and all the problems which might occur at the beginning of each year as humans get the year wrong for a while... 01:09
undo is your friend. :)
yipes. pairs.t was still broken back at r8300?!? 01:10
ok, the last two tests in t/var/state.t In two different versions now, I've seen ./pugs -Iblib6/lib t/var/state.t do the right thing, showing them as TODO bug. But the smokes show them red. Huh? what am I missing? could someone who has already done a smoke do a ./pugs -Iblib6/lib t/var/state.t to cross check? 01:19
to recap: the $CALLER::_ is working in evalbot, but not in my identically versioned pugs. Failure of same seems to be the cause of the subroutine.t failure. Now the t/var/state.t failure seems to depend on whether you are running test or smoke? what's going on? 01:21
01:42 dominix joined 01:48 kanru joined 01:55 samv_south joined
buu Mmm, piracy. 02:16
putter ? 02:31
03:07 pjmm joined 03:10 grayson joined 03:11 bcornett joined
tewk Isn't there a Rules implementation in Perl6 that someone was working on. 03:33
putter tewk: luqui's ext/Parse-Rule? 03:37
theorbtwo: the gotcha with attempting to use old ./pugs with current tests is that pugs, Test.pm, and tests, are tightly coupled. This is a pain when doing a new backend. They grew up together, and none deal gracefully with the others being out of sync. I just failed to run r7620 on a current pairs.t, because the Test.pm api changed (grew), and the modern Test.pm parsefails. ah well. 03:42
tewk: but it's just the beginnings of the engine. something else needs to parse and compile. 03:45
re pairs.t - it's had failing tests for a loooong time. at least back to early r7000's. I'm not sure whether some particular tests have regressed (we need a test uid scheme for stuff like this). Didn't have a chance to check. Won't happen tonight - perhaps tomorrow. 03:51
recap: $CALLER::_ is flakey (subroutine.t), and that may be having broad impact. it's unclear to me as yet whether the pairs.t failures also matter. 03:53
stevan: re doing additional piln backends to help refine piln: it belatedly dawned on me that a refined piln is not critical path. do the switch to piln is. so I wonder if alternate piln backends are just a distraction, best delayed until the other side of the bottleneck. there are various aspects of piln I wonder about, but lets get unstuck first, as fast a possible. no? 03:59
tewk: src/Text/Parser/ is also interesting (though hs of course) 04:01
good night &
04:18 Amnesiac joined 04:30 gaal_ joined 04:44 drbean joined 04:50 \xe6var joined 05:00 Odin- joined 05:43 Khisanth joined 05:47 drbean joined 05:51 Southen joined 06:07 Qiang joined 06:12 elmex joined 06:16 feng123 joined 06:25 nothingmuch joined 06:26 gaal_ is now known as gaal 06:45 sky_ joined
GeJ greetings all 06:55
dduncan greetings GeJ 07:10
07:16 iblechbot joined 07:22 Aankhen`` joined 07:45 xern joined 07:53 lucass left 07:56 nothingmuch joined 07:59 drbean joined
nothingmuch xenia.media.mit.edu/~spiegel/thesis/ 08:11
08:12 jp-autar1 joined, meppl joined 08:24 Cryptic_K joined 08:38 r0nny joined 08:49 elmex joined
gaal audreyt: ping 08:50
nothingmuch hola gaal 08:51
gaal hey nm
09:14 kane_ joined 09:18 pdcawley joined 09:19 dada joined 09:32 Aankhen`` joined 09:54 G2 joined 09:55 nnunley joined 10:25 iblechbot joined 10:55 joepurl joined
integral has just found his library offers an ebook of TaPL 11:39
12:05 scook0 joined 12:44 drbean joined
svnbot6 r8781 | asavige++ | Added Ruby version of rpn 13:03
13:04 chris2 joined 13:11 iblechbot joined 13:20 kolibrie joined 13:28 hexmode joined 13:47 nnunley_ joined 14:18 Limbic_Region joined
Limbic_Region seen audrey 14:18
jabbot Limbic_Region: I havn't seen audrey, Limbic_Region
Limbic_Region seen audreyt
jabbot Limbic_Region: audreyt was seen 3 days 4 hours 40 minutes 41 seconds ago
obra Limbic_Region: she's desperately hacking on $customer project 14:20
audreyt greetings. 14:21
$job days are over!
lypanov yay!
audreyt well, until Feb 6th anyway 14:22
theorbtwo Week and a half. Sounds like a pretty good break to me.
audreyt yup.
and there's only one week of $job after 6th
I fly to .il on 13th
TASKS++ 14:23
obra TASKS?
audreyt wow, *massive* backlogging
obra: svn.openfoundry.org/pugs/TASKS
I wonder if it's finally time to start using trac ;)
obra heh 14:24
audreyt ponders a jifty-based foundry 14:26
(brokeback mountain)++ # very nice movie and a perfect context-switcher out from $job 14:27
tomorrow I'll be back to pugs... and continues all the way until 5th
hm, huge amount of backlogs 14:28
audreyt readeth
Limbic_Region audreyt - did you get my /msg 14:29
audreyt did
Limbic_Region it is OT for the channel but on-topic for you
audreyt k 14:30
Limbic_Region out of curiosity, does anyone have an iterative algorithm for permutations n choose k in C?
audreyt not sure 14:32
Limbic_Region audreyt - was the "not sure" directed to me or are you having a conversation with someone else I am only seeing half the conversation of? 14:33
audreyt Limbic_Region: I'm not sure I know of such an algorithm 14:44
14:46 xern joined
audreyt Limbic_Region: I replied the PAR node -- thanks for the ping 14:51
zzz & 15:00
stevan wishes audreyt sweet dreams filled with dancing lambdas 15:07
15:13 hexmode joined
robkinyon Limbic_Region: You just need an iterative algorithm for N! and you have N-choose-k 15:15
theorbtwo robkinyon: IIRC, ! is computable with a fairly simple formula. 15:17
robkinyon N-choose-k is just N!/(k!*(N-k)!)
if you have an iterative N!, you have an iterative N-choose-k 15:18
15:28 rantanplan_ joined 15:37 sapper joined
Limbic_Region robkinyon - I have found several iterative algorithms for N! in C but my C is very poor to adapt it to my needs. 15:45
robkinyon Limbic_Region: N!/k! is just N!, but you stop at k instead of 1 15:46
Then, do (N-k)! and divide it into N!/k!
two step iterative process 15:47
(There's faster, but that's irrelevant)
Limbic_Region I am still not following - I don't have a problem with the math
robkinyon or, rather, k+1 is your last term
ok - the standard algorithm is do N * N-1 * N-2 * ... * 3 * 2 * 1 15:48
Limbic_Region huh?
no - not the math
robkinyon instead of using 1 (or 2) as the lower bound for the for-loop, use k+1 instead
Limbic_Region I very well understand the math
I am not understanding the C implementation 15:49
say you have an array of 30 numbers - that's your n
robkinyon I'm assuming that one of the algorithms you found is a for-loop that looks something like for(i=N,r=1; i>1; r*=i,i--){
Limbic_Region and you need all permutations of length 4
no robkinyon - not at all
that I might be able to understand
robkinyon let's take to /msg 15:50
PerlJam I could be wrong, but it sounds like robkinyon is talking about generating a number and Limbic_Region is talking about generating the actual permutations.
Limbic_Region PerlJam - no, you seem to be spot on 15:53
robkinyon PerlJam: You're right - my bad 15:54
Limbic_Region so anyway, I need a way of generating the permutations iteratively and then a way of short-circuiting (or jumping) to a different level if appropriate - my C just isn't strong though 15:55
PerlJam Limbic_Region: jumping to a different level?
robkinyon you're thinking in terms of coros 15:56
that'll just frustrate you in C. :-)
Limbic_Region if you think of them as nested loops PerlJam where loop 1 is 1..N and loop 2 is 1..N minus whatever loop1's current value happens to be and loop 3 is 1..N minus whatever values loop1 and 2 happen to be ... last loop which is just one value
robkinyon use the odometer algorithm 15:57
Limbic_Region then what I mean is if during the execution of loop 2 I determine that regardless of the values of the loops from this point inwards on will not meet my needs, break out of that loop
robkinyon The keyword is "break"
Limbic_Region robkinyon - I am currently but it seems to me to be terribly inefficient 15:58
robkinyon it's more efficient than hand-coding the N loops for each k
Limbic_Region you have N arrays with decreasing lengths
and each loop the array is "filled" with every number but the previous loop's value
if you have something simpler I would appreciate it 15:59
robkinyon that's not the odometer
the odometer is an array of length k which contains indices into your array N
so, you generate the first one, then do the C equivalent of @array_of_stuff[ @odometer ] 16:00
Limbic_Region robkinyon - that is what I am doing I assure you
or rather, I am achieving the same result
robkinyon maybe
Limbic_Region but instead of playing with indices I am playing with values 16:01
PerlJam you shouldn't need n * (n-k) storage, but rather n + k
robkinyon but the odometer is very efficient
PerlJam (but I'm only half paying attention)
robkinyon you want to play with the indices, otherwise you have N*(N-k) storage, not N + k storage
Limbic_Region robkinyon - I would love to see an example but I have been googling for 2 days and haven't found anything I understand well enough to adapt to my own needs
I don't care about memory fwiw - I care about speed
this really is OT - so please /msg if it is going to continue 16:02
robkinyon Limbic_Region: Lemme play and i'll /msg you when i'm done
Limbic_Region paul.rutgers.edu/~rhoads/Code/perm_lex.c is an example of the kinds of iterative permuation algorithms I have found on the web though this is not N choose K 16:03
16:04 Eimi joined 16:15 nnunley_ is now known as nnunley 16:36 chris2 joined 16:48 gantrixx joined 16:49 marmic joined 16:56 nothingmuch joined 16:59 nothingm1ch joined 17:04 jvoorhis joined
jvoorhis hi 17:04
gantrixx hi 17:06
jvoorhis so i'm looking at this crazy XUL slideshow
and it is making me curious about pugs/p6
(i haven't followed perl in years) 17:07
gantrixx what slide show would that be?
jvoorhis can anybody tell me what this grammar definition business is about? :) i am intrigued
pugscode.org/osdc/pugs.xul
gantrixx I do quite a bit in Perl 17:08
My last two contracts have been doing perl sw development
jvoorhis i am doing ruby currently
gantrixx I've played around with perl6 also, but it's not quite ready for general consumption yet 17:09
jvoorhis and i've done a bit of .net and python
gantrixx I looked into python
jvoorhis eh, i'm not concerned about general consumption :) i just wanna play
gantrixx just to see what all the buzz was about
jvoorhis over the holidays, i had a good time learning haskell
gantrixx I don't see a need for both python and perl
jvoorhis and somebody told me perl6 has some kind of pattern matching like haskell
well, python proponents will tell you python is more OO and more suitable for large projects 17:10
whether or not that is true, that is probably why they both exist
python reminds me a lot of java
SamB well, Python users don't usually much like PERL
jvoorhis yup
and ruby people claim ruby is more OO than python and python people claim that ruby's class_eval et. al. are dirty 17:11
kolibrie dev.perl.org/perl6/doc/design/syn/S...l#Grammars
gantrixx I'd say that perl5 has a workaround for OO, but Perl6 has OO built right in
jvoorhis and ruby and python people think perl is dirty, but lately p6 is arousing my curiousity :)
SamB personally, I'm not so sure about this whole "large project" thing
gantrixx so if that is the reason to create a whole new language rather than fix the existing one, then OK 17:12
jvoorhis SamB: neither am i - i think it has to do more with methodology than language choice
gantrixx my hope is that the best of Python and Ruby will be encorporated into Perl...as it should
and Perl6 will be *the* dynamic language
jvoorhis gantrixx: python is more inspired by java than perl, i'd say
gantrixx I'm not a java fan either 17:13
C++, and Perl
jvoorhis ah that is saying a lot - ruby was written to be a kind of "best of" language
gantrixx get rid of PHP and just use mod_perl
SamB I'm basically not sure any language is good for large projects ;-)
jvoorhis SamB: you might be right :)
gantrixx I don't think I'd write a meteorological simulator in Perl, but I have done some fairly large projects with Perl 17:14
I've written a software deployment system in Perl
Juerd 18:22 < SamB> I'm basically not sure any language is good for large projects ;-)
SamB: I'm sure large projects can't do with any single language
gantrixx my experience has been that no one really plans to do a project in perl. perl starts off as just scripts to make your job easier and grows into a large project 17:15
Juerd Not if you pick "the right tool" for "the job", anyway.
As any large project conists of several jobs, and it's highly unlikely that the same language is the best tool for each job.
jvoorhis i really only used perl in college years ago
i have a friend who does bioinformatics with it and he really likes it for that
Juerd gantrixx: My experience is very different.
gantrixx although my last two projects were large and we were told to do them in perl 17:16
Juerd gantrixx: I've worked on several largish projects that were designed to be Perl only. Often though, some parts are written in other languages, because they're easier.
SamB Juerd: for sure
Juerd Especially Java is NOT suited for large projects.
Unfortunately, it is often used as the single language of choice for large projects :(
SamB you'd at least need a lot of EDSLs, at the very least 17:17
kolibrie jvoorhis: S05 explains grammars and rules: dev.perl.org/perl6/doc/design/syn/S...l#Grammars
jvoorhis SamB: EDSL? :)
gantrixx I do not like java
Juerd SamB: What are that?
gantrixx I'd like to see it fade away
jvoorhis kolibrie: thanks
Juerd gantrixx: You're in good company here. You can say that you hate it, if you want.
gantrixx I do not believe in complile once, run anywhere
Juerd gantrixx: Hmm--but Perl 6 will have that... 17:18
gantrixx I've always had a hard time trying to get java apps to run out of the box
Juerd gantrixx: That's because of the multiple implementations problem. There are way too many, often neither backward nor forward compatible, versions of VMs. And there are several VMs too, that aren't always compatible with one another. 17:19
gantrixx correct me if I'm wrong, but with Perl6 you can have it interpret precompiled parrot code or just interpret on the fly
Juerd This is my argument for NOT having formal detailed spec of Perl 6
gantrixx the problem I always have is that the java app was compiled with a different version of some library than what I have
Juerd If the implementation is the spec, you automatically avoid a much bigger problem: having multiple implementations.
gantrixx like I say, C++ and Perl
Juerd gantrixx: You're not wrong.
gantrixx these two languages have stood up to the test of time 17:20
I'd rather see people improve the languages we have rather than try to invent new ones
new ones are good as proving grounds to test concepts, but eventually those concepts need to find their way back to C++ and Perl 17:21
sili lisp already does everything
jvoorhis kolibrie: that page gives an overview of grammar definition, but i'd love to see a usage example
is there one?
kolibrie jvoorhis: the Exegesis do that sometimes. 17:22
gantrixx anyone now where I can get a pic of the Perl6 mascot?
jvoorhis ah
gantrixx that silly looking animal thing?
jvoorhis yeah i can't recall what the exegesis is :) i haven't been steeped in perl culture 17:23
kolibrie jvoorhis: I don't think there are a lot of examples yet, implementation of grammars is still very young in PGE and pugs
jvoorhis understandable
kolibrie jvoorhis: good starting point: dev.perl.org/perl6/ 17:25
sili after you read that you gotta read mailing list posts for like the past 5 years to get up to date
jvoorhis ha yeah i was afraid of that 17:27
i've done some p5
never did any OO with it though 17:28
sili it's easy
gantrixx what do people call that perl6 animal with the horns and wings? 17:31
sili "that perl6 animal with horns and wings" 17:32
gantrixx where can I get a picture of it?
theorbtwo Silly.
integral chimera? 17:33
theorbtwo www.axis-of-aevil.net/archives/img/..._cover.jpg 17:34
Google image search for perl6 cover, first hit.
gantrixx I guess I was using the wrong key words 17:36
Juerd Googling is a fine art. 17:41
18:30 < gantrixx> new ones are good as proving grounds to test concepts, but eventually those concepts need to find their 17:42
way back to C++ and Perl
gantrixx: Be glad that Soustrup and Wall didn't agree 17:43
I pasted the wrong line
18:29 < gantrixx> I'd rather see people improve the languages we have rather than try to invent new ones
That's the one I was commenting on.
18:37 < jvoorhis> never did any OO with it though 17:44
jvoorhis: Really? No, I mean... really?!
+ if ($error) { 17:48
+ $edit = $new{Message};
+ $comment = $error;
+ goto EDIT;
+ }
Fuck.
17:49 elmex joined
Juerd This is a very awkward way of writing a while loop. 17:50
Or a {; redo ;} loop
17:58 Ovid joined
gantrixx Juerd, C++ was an improvement to C 18:00
Juerd, Perl was ....I don't know where it evolved from, but it was "the scripting" language
I see technology like I see biology 18:01
Juerd 19:10 < gantrixx> I see technology like I see biology
We don't have time for evolution.
gantrixx you need diversity so you can try new things and so that these fringe things will always be available, but there needs to be a technology that incorporates the best of what is out there
I'd rather live in a world where all humans have eyes, ears, and noses, rather than a species splintered into subspecies that has only eyes, ears, or noses 18:02
my experience is that many companies have been burned on "new" technology 18:03
then are left to support some Ada code with the last 5 Ada programmers on the face of the earth
Juerd Eyes, ears, noses are like variables and functions: most programming languages have those. 18:04
gantrixx This is a problem that I have run into with a particular defense contractor that I do a lot of work for
Juerd It's superpowers that we're creating now.
gantrixx They were considering using Perl, but new that Perl6 was comming out eventually and may require them to update their code base
or they could use Python
They would prefer to do it in a technology that will have a very long life 18:05
Juerd That'll be C then
Dynamic languages are by necessity short lived.
gantrixx it is for this reason that they have given up on Java and C# and do most everything in C++
Juerd Perl's a very scary exception.
18:06 beppu joined
Juerd But won't be that exception forever. 18:06
It just doesn't make sense.
18:06 BakedB_ joined
gantrixx perl doesn't make sense? 18:06
I see perl as the "everyman" language
Juerd Having Perl around for so long without major changes does not make sense.
gantrixx it's a language that is easy enough for the non-programmer to use
beppu Juerd, stability has its perks, too.
gantrixx for example, a biologist wants to model some sort of process in nature
perl5 has had plenty of changes 18:07
Odin- Juerd: I'd call Lisp a dynamic language too ... even if you only count the Common Lisp standard, it's been around for pretty long...
gantrixx it's just that it got to be so many changes that it was time to start fresh and clean
my gripe is with Python and Ruby
Odin- Juerd: Perl6 is going to be at least that flexible, it seems. 18:08
gantrixx My hope is that Perl6 will take away the "Python is better" arguement
PerlJam gantrixx: I doubt it.
gantrixx not that I don't think Python isn't a good language, it's just that it basically fills the same niche as Perl 18:09
Odin- Juerd: Of course, it'll have morphed into something entirely different in ten or twenty years, but I think Perl6 might very well remain around, without major changes to spec...
gantrixx I say make Perl better, not invent a new language
but there is so much momentum behind Python already
beppu gantrixx, I think Ruby has more momentum at the moment than python.
gantrixx it's as if home builders spend more of their time building different tools to build houses, rather than building better houses 18:10
well, hopefully we can generate some Perl6 momentum
kattana_ ruby has more buzz, things are actualy running on python.
gantrixx right now it seems to be off everyone's radar
I did get the coast guard interested in Perl6, but had to tell them it wasn't ready yet
Odin- Yeah, because everyone's thinking "they've been at it for half a decade with little to nothing to show for it". That's what. 18:11
PerlJam gantrixx: it should be off everyone's radar; it's vapor!
Juerd Odin-: I don't know Lisp well enough to know if I'd consider it dynamic.
beppu I think right now is a good time to be off the radar, because perl6 still has a ways to go.
PerlJam Juerd: lisp is the prototypical dynamic language.
Juerd 19:18 < gantrixx> I say make Perl better, not invent a new language
PerlJam beppu++
Odin- Juerd: I suppose it depends on what you mean by dynamic. But Lisp is often cited as the prototype, as PerlJam says.
Juerd gantrixx: Eh, we're doing the opposite, but trying to fool you by calling the new language Perl too.
Odin- Juerd++ 18:12
:>
beppu thanks, PerlJam .
gantrixx well maybe that is the type of marketing buzz needed to put Perl6 on peoples radar, just say it is a new language and generate some buzz
Juerd gantrixx: And apparently, succeeding :)
kattana_ gantrixx: perl evolved from shell scripts/awk/sed </late>
gantrixx we have Perl, ruby, how about platinum
Juerd gantrixx: Oh wow, you're so convinced that you'll even deny the truth :)
PerlJam perl6 needs "the real implementation" in order to be marketable :) 18:13
Juerd gantrixx: Or, actually: that you think the truth is a lie you can use for marketing.
Odin- PerlJam: The perl6 one, you mean? ;)
Juerd Or something like that.
gantrixx maybe Perl6 needs something like the Fedoara Ambassador program
sili or maybe to get finished
Odin- gantrixx: Perl6 isn't ready for primetime in the short run...
Juerd gantrixx: Please let us not take Fedora as an example for anything.
gantrixx I was saying that perhaps Perl will need some sort of advocacy program 18:14
Juerd Fedora is the typical example of a bad example, both for "how to do it" and for "how not to do it", because they hover around the mean point in between.
PerlJam gantrixx: in some sense I think we've lost if that's the case.
beppu The best advocacy is to do something cool with it. 18:15
gantrixx true
but, you have to get a corporation to buy into it
Odin- Which means it has to have some real profile.
sili camels on rails!
gantrixx and convincing a client to go with an unproven technology that they will have to live with for 10 years is a hard sell 18:16
PerlJam sili: I think it'd would perhaps morph into "camels on skis" or something.
sili PerlJam: reasonable.
PerlJam gantrixx: perl5 will be around for the next 10 years at least.
sili how about bobsleds, or luge
Odin- Pscht. Camels on wheels!
gantrixx Also, I don't understand the anti-fedora sentiment
Odin- Like, Ruby is on rails, like a train. Perl, on the other hand, is like a car. ;) 18:17
gantrixx Perl6 on mag-lev
PerlJam gantrixx: It's a stigma left over from the days of RedHat.
beppu rubyonrails kinda rolls of your tongue though... Whatever we come up with has to sound good, too. ;)
gantrixx Personally, I think Fedora is a pretty good disto. I actually like it better than the RedHat stuff I use at work
PerlJam Odin-: perl is like a little bag of everything that you can carry around with you.
beppu for large values of "little". 18:18
PerlJam right
Odin- PerlJam: Hm. True. The meaning I was going for was free-range.
Perl is a portable scrap-heap!
;)
PerlJam Let's just say it's little in this dimensional projection but infinite in the transdimension space in which it lives.
gantrixx cpan-heap
Odin- You just weld the right things together, and you've a rocket plane!
beppu PerlJam, I like that... 18:19
gantrixx ok, I have to run to the bank
ciao folks
Odin- PerlJam: Bag of Holding times plenty! :p
PerlJam I wonder if perl6 is killing perl if only a little 18:21
sili i say yes 18:22
well, maybe just for those who are waiting
Odin- It's murdering Perl for those waiting. Not sure if the others really think about it much. 18:23
sili in the meantime i still use p5 of course, but it's frustrating when all i can do is donate some here and there
PerlJam Forget those waiting, what about those as yet unmade perl hackers who trundle off to ruby or python or whatever because of all of the negative hype? 18:24
Odin- PerlJam: The negative hype around P6, or..?
stevan p5 is showing it age though, which is why we are building p6 18:25
Odin- would seriously rather consider going to Scheme or CL than either of those...
But that's maybe just me.
PerlJam Odin-: around perl and the perl5->perl6 transition (or lack there of)
stevan Odin-: I would too :)
PerlJam Haskell!
:)
Odin- PerlJam: True.
stevan does not have enough uni education for Haskell :P 18:26
sili pfft
PerlJam stevan: what is that supposed to mean?
stevan nothing, just being a pain :P
Odin- PerlJam: I like having my brain in a somewhat understandable state.
PerlJam Odin-: side effect free programming is for you then! ;)
Odin- PerlJam: (Which it isn't at current, for rather different reasons, though.)
stevan :D 18:27
side_effects := (side_effects := side-effects - 1) - 1
Odin- PerlJam: Quite. Which utterly fails to explain why my brain hurts when I try to read Haskell-tutorials, documentation, or whatever. :p
18:30 awwaiid joined
PerlJam Odin-: do you know latin? 18:30
Odin- PerlJam: Nope. I don't even know so much as a single romance language. :| 18:31
PerlJam Well, I was going to draw an analogy but it would be lost upon you.
sili PerlJam: you're so l33t
PerlJam If you ever do learn some latin, think of Haskell as Latin ;) 18:32
stevan a dead language only used by stuffy academics??
and catholic priests? 18:33
Odin- ROFL!
stevan doesnt get it :P
Odin- That was nasty.
stevan sorry, I am in a punchy mood today,.. too much coffee
PerlJam stevan: Since I let the analogy variable along every axis, that's a valid position to take ;-) 18:34
s/let/left/
stevan is glad PerlJam has a good sense of humor :)
Juerd 19:25 < PerlJam> sili: I think it'd would perhaps morph into "camels on skis" or something. 18:35
All that gravity bound transportation sucks.
Flying camels.
Odin- Hmmm. 18:36
kattana_ Haskell made sense to me, It has features I had thought of on my own and thought would be nice.
PerlJam Juerd: Flying camels evokes something similar to flying pigs. So perl6 will be here when camels fly? 18:39
sili PerlJam: sounds familiar 18:40
PerlJam or maybe it's more like the muppets ... Caaaaammmmmmeellllls iiiinnnn ssssppppaaaaaacccceeee! 18:41
18:42 Ovid joined
kattana_ And Duke nukem forever will be perl6's flagship project. 18:44
Odin- Ooooh. 18:49
Nah.
That'll be released way before Perl6 is ready. >;)
PerlJam I don't think perl6 will have a flagship project. 18:50
I think it will accidently fill some niche that suddenly everybody has an aha! moment 18:51
Odin- Eh, just get a Chomsky level-0 parser, and it will. :D 18:52
18:56 rodi joined 19:04 estel joined 19:06 nothingmuch joined 19:10 nothingm1ch joined
trym must..take over the world... using.. perl6.. 19:29
or just watch tv..
19:50 Shachaf joined 19:53 lampus_ joined 20:05 eric256 joined, eric256 left
integral points out that none of the dates in STATUS are in 2006 20:13
20:15 putter joined
putter thinks TASKS should have two new items: 1- do an svn blame STATUS, svn log -rXXXX each of the revs there listed, and tag the STATUS sections with [200N-NN-NN] "last time correctness was verified" labels; and 20:17
2- reoccuring task: check STATUS, see if any of the [timestamps] are getting old, use rt to see who is active in that subsystem (hmm, need an entry to directory map?), and ask them if the status is current, updating entry/timestamp. 20:18
Skills required: 1- svn co, 2- none. 20:19
maybe "Needs:" is better than "Skills:". 20:20
or something better... something...
trym: "WB announced today... the voice of Pinky by @Larry[0], the Brain by Audreyt, and a new character, the Camel, a lovable eccentric sidekick, who can..." 20:27
integral putter: "use rt to see who is active in that subsystem" -- What rt? 20:29
trym pants like a dog and turns the tv on
putter Odin-: wouldn't it be neat to have a set of rules defining a unified api for grammars, so analyzers, transformers, backends, etc, could all interoperate? unified with the type system? 20:30
integral: rt.openfoundry.org/Foundry/Project/...gs/browse/
integral oh, just the online repos browser. I thought you meant we had a ticketing system for a minute ;-) 20:31
Odin- Hm. What, exactly, do you mean?
putter "history of this directory" lists the patches which have affected the directory you're currently browsing
integral oh handy
putter hmm, that's a line which should probably go in hack.pod
integral: :) 20:32
20:33 BakedB_ left
putter Odin-: role (type?) MumbleUnifiedGrammar::LALR_1 does LALR_k { methods...} The idea being if I write 20:34
svnbot6 r8782 | bsmith++ | Added "last updated" times to each section. 20:35
20:36 marmic joined
putter a (k) to (1) reducer, I can operated any anything which does these "abstract" types, and be used unchanged by any p6 grammar-related thingy. Or, if some engine or other doesnt support left recursive rules, I can have a generic rewrite-to-remove-left-recursive-rules sub which works on any of them. yes? 20:36
20:37 nnunley joined, BakedB joined
putter reeealllly wants to never ever have to do grammar transformations by hand anymore. 20:38
Odin- Hm.
integral *argh*. Can someone try a PERL6LIB="ext/Test/lib:blib6/lib" ./pugs ext/CGI/t/basic.t for me? 20:39
20:39 lampus joined
integral I need to know if it dies after "ok 5", or if it continues up to "ok 21". 20:40
On my local pugs it runs to completion, but in the smoke reports, and on feather it dies with not being able to find &hex in class Any :-/
putter checking...
my 20:41
oops, r8778, goes boom as you describe 20:42
integral okay, now I need to work out why my pugs is the only one that actually works correctly
do you build from clean or not?
integral tries a clean build on feather
putter notices earlier that ?eval was doing things correctly with $CALLER::_ that my pugs was not
bsmith++ 20:43
integral ?eval hex 5
?eval "test" 20:44
20:44 evalbot_8780 is now known as evalbot_8782
evalbot_8782 Error: No such method in class Int: "&hex" 20:44
"test"
integral okay, on my pugs ./pugs -e 'say hex 5' also works just fine.
integral feels special
putter Odin-: as in, say, something which wrapped up the usual T,N,P,S and perhaps also the concat operator (and production-running engine?). 20:46
lol
your pugs saying hex 5 is just one of the many thing which makes you special integral... 20:47
20:49 dduncan joined 20:50 G2 joined
putter integral: r8700 works for me. note that hex got changed very recently as part of the adverbial numeric literals :2<10>. perhaps the change is buggy, or changed it to use a construct which is currently malfunctioning. 20:52
s/construct/language construct/ like method calls.
btw, the "your pugs saying..." was supposed to be tagged <1950's syruppy mom voice> 20:54
integral putter: hmm, how did you build that 8700? from clean?
integral notes that all his pugs are from 878[12] checkouts 20:55
*blink* there's a message in Pugs.Prim tha says "hex() is not part of Perl 6 - use :16() instead." 20:56
putter integral: yes, from clean
:)
so sayeth docs/AES/S29draft.pod 20:57
integral I guess that my local pugs is the broken one, and the real fix will end up being fixing the damn modules to be in sync with the stupid spec. 20:58
putter But I dont think(?) :16($var) is implemented yet?
integral *blink* umm, so we've got no way to parse strings as hex numbers. useful.
putter a TASK!
theorbtwo eval ":16($var)" 21:00
eval ":16<$var>", rather.
integral it's very weird that my pugs works though since I have no idea where my implementation is materialising from :-/ I can't find anything in my source 21:01
21:04 Amnesiac joined
putter what is the official jargon for "the modification entities in the svn/svk change system". ie patches, mods, mumble? 21:05
integral: lol. oh, didn't you see the note go by in #perl6? p6 has a new update system. "Eups", the ephemeral update system. 21:06
integral changesets? revisions?
putter ok, thanks :) 21:11
svnbot6 r8783 | putter++ | 2 new TASKS - nagging about outdated STATUS entries, and adding an openfoundry related line to hack.pod.
integral moves on to patching ext/CGI 21:12
theorbtwo The difference between r8782 and r8783 is one revision.
putter ah, thank you. 21:13
?eval my $x = "11"; :8($x) 21:14
evalbot_8782 9
theorbtwo Well done. 21:15
integral oh, yeah, I forgot to say that t/builtins/hex.t appears to pass completely including :16($foo)
putter nudges integral. disclaims any credit to theorbtwo. "not me, I just found it that way".
integral yeah, but I managed this without writing any code: it was already working ;-) 21:16
putter :)
anyone grep the world for for \bhex\b ?
integral good idea 21:17
svnbot6 r8784 | bsmith++ | Changed CGI.pm from using hex() to :16(). 21:20
putter trym: darn it! I now keep finding my brain humming about proving mousy worth. arg! 21:21
;) 21:22
svnbot6 r8785 | bsmith++ | Changed all other mentions of hex() in ext (couldn't find any elsewhere) to :16().
putter oct?
trym hehe
integral argh, you could have said! :-P 21:23
nope, no uses of it in ext :)
putter ah, that's it. :)
21:23 samv_south joined 21:24 samv_south is now known as mugwumpjism
putter Let's see... what next...? 21:25
21:25 lisppaste3 joined
integral is working down the smoke report :) 21:26
putter integral++
integral I've just changed some non-working "my methods" in Cipher.pm to subs. I have no idea why they need to be lexical methods. They don't use the object at all.
putter curious... 21:28
svnbot6 r8786 | bsmith++ | Changed the stringify and byteify utility methods to subroutines.
r8786 | bsmith++ | Now passes all non-TODO/SKIPed tests.
integral and Config-Tiny is failing because File-Spec's evil exporting hacks don't work. But why did someone port File::Spec rather than Path::Class? 21:29
of course, File-Spec passes most of its tests. *sigh* 21:30
putter Strawman argument. Comments encouraged. "Why does pugs have so many front-ends? (JS, Ruby, Scheme, Forth, etc). The objective for the moment is not to make people from those communities comfortable in p6, nor to be able to use the large volume of quality software written in those languages. It is, simply, to 21:31
integral cut-off at "simply, to"
putter paused to read about evil
don't think I've ever tried Path::Class 21:32
integral it's OO, and it's a wee bit nicer about using foreign path conventions
21:32 SamB joined
putter in what way is the exporting an evil hack? 21:33
ah
integral well it requires File::Spec::{Unix,Win32} and hopes this exports to the caller.
21:35 Shillo joined
putter "simply to do the implementation, a correct implementation which passes the langauge's test suite. Why? You see the objectives for p6 are _very_ aggressive. There's no way we can get lots of the libraries right, for instance, without man years of domain expert work. So we have to make p6 _flexible_. If we can 21:36
"verifiably run lots of existing models of how the universe should be structured, that helps us find any places where p6 isn't being quite flexible enough, and reassures us we are not precluding right things from being done in future.". 21:38
comments welcome. ;)
integral: ah, right. is that currently working? 21:39
putter vaguely recalls import being worked on not too long ago
integral it appears not
but of course these things will be magically fixed by PIL... 21:40
putter :)
putter thinks there will be _lots_ of work for sparkley lights, to make the invocation of pil magic manifest. 21:41
looking forward to it 21:42
(the work)
integral boggles at fp.pm. multi *infix:<ā‰ > ($a, $b) { $a != $b } "doesn't work" *sigh* 21:43
mugwumpjism 21:44
doh
just come out of dconway's talk at Linux.conf.au 21:45
he gave a keynote on technical and social lessons of Perl 6
putter so, does the import usage in F::S match that in t/packages/scope.t, which works with "the new lexical import system"?
doh?
mugwumpjism (the blank line)
putter ah :)
integral putter: I don't see how t/packages/scope.t can test it properly when it's not using multiple files
putter do describe!
integral oh it does 21:46
oh, that appears to test something different
mugwumpjism nice talk, but it would really have been nice if he hadn't have compared python programmers to the Rain Man
not a good look
putter the Rain Man? 21:47
mugwumpjism a movie about a highly autistic person
putter oh, big ouch
mugwumpjism he also basically said that type theorists should be ignored... 21:48
now, I am grossly oversimplifying the context there,
integral oh dear
mugwumpjism but it was those Haskell/ML devotees that effectively started cross-checking the design 21:49
putter just the kind on nonsense we need re people who are about to become colleaguesĀ Ā (re python)
tewk loves to hear dconway talk, if anything he is provocative :) 21:50
putter and he is missing a great deal of the point about what will make p6 wizzy and interesting
integral more static checking is very good. For example if one could statically check perl modules for uses of undefined subroutines, like say "hex", you wouldn't need egrep!
putter ;)
21:51 nnunley_ joined
integral you could even have the compiler help distinguish different uses of hex so it can identify the right ones to change! 21:51
tewk Provocative people cause me to stop and re-examine my gross assumptions about the world. 21:52
mugwumpjism preaching to the converted. I'll talk to him about it at the BOF tonight
putter 's motivation is more, if one doesn't have an insanely powerful type system, then one can't do insanely high level abstaction. if you can't crush away most of the runtime cost by analysis, your limited to doing, well, the usual cs crap.
integral notes that for him it's important this this is just as relevant for short scripts as for application programming
mugwumpjism precisely
tewk mugwumpjism: are slide or audio available? 21:53
mugwumpjism perhaps from linux.conf.au later on 21:54
putter being provocative ~~ useful. I'm just worried about folks from the maligned communities seeing the remarks, and making our work more difficult. :/
mugwumpjism yeah. The flipside of the Rain Man comparison was it ended up likening Perl to Tom Cruise, and that's my real issue ;() 21:55
s/\)//
;) even
putter err, not the people making our work more difficult, but an increasing portion of our work will be attracting / working-with folks from those communities, so pointlessly pissing them off now doesnt help. 21:56
mugwumpjism well, off to a talk on rapid prototyping / self replicating machines
putter :)
enjoy
hmm, so, perl is short of stature, and enthusiastically follows a shallow corrupt philosophy completely divorsed from reality? eep. 21:57
integral just worries that people like dconway seem to have a totally different idea of how people actually use perl 21:58
putter in what way?
integral and his cpan modules have never made me think he's a great perl5 coder
I mean, a common task for me with perl is to take a big log file, and churn through it updating some summary stats for each line 21:59
no one seems to care about making such things fast, easy, or faster to write
putter ah, order 100 line task, rather than 1000 or 10000.
21:59 nnunley joined
integral yep. 22:00
the only thing I've seen that's like this is in MJD's red flags talk, he's got real code I can identify with there
putter macros! :)
online?
integral I don't think so :-(
putter :/
integral lots of people have little perl scripts that say use a module to grab and parse a webpage. But all the p6 design stuff focuses on writing the modules, not the very simple, very imperative script 22:01
putter as soon as we can import macros, you can start assembling tool sets or domain specific languages for that kind of thing.
ahhh, there was something recent, let's see.... 22:02
dduncan I think that the p6 design stuff is going about it the right way
putter oh, the examples from the ruby vs lisp macro debate. looking for pointer...
dduncan most code that is going to be reused extensively is in modules
22:03 marmic_ joined
dduncan and p6 still provides for doing brief scripts tersely 22:03
integral no it doesn't. It doesn't detect when I mispell function or method names, so after 5 minutes my script fails, instead of after a short compile.
putter integral: ?? err, did you think dduncan said p5? putter is puzzled. 22:06
integral putter: p6 provides for that? 22:07
putter planet.lisp.org/ has interesting articles, but not what I'm looking for. still searching...
integral why did the tests that used &hex die half way through their run instead of during compile then?
dduncan integral, I would say that may be partly because of the way the pre-pil runcore is organized ... things should be better with the pil core, such that certain work can be moved earlier and remembered 22:11
it could be an implementation issue
in the design ...
22:13 pdcawley joined
dduncan whether it is caught at compile or runtime depends on how much information you provide; things are returned at run time if there isn't enough info to know whether and which &hex is going to exist at run time, since it can be created at run time 22:13
integral well that's my point, the design should be rebalancing things so that it's more likely that you're writing code in a mode where you can do compile-time checking 22:14
instead it's assumed that this is some kind of implementation dependent add-on extra
putter Bah. I just dont see it. Basically, someone wrote a blog saying "ruby, the next lisp?" or some such. One effect was lisp blogs attempting to come up with good illustrations of what you can do with macros on an sexp-program-is-simple-data foundation. some of the examples were dsl's applicable to your "stats on logs" task. Ah well. 22:17
integral & 22:18
good night all :)
putter some of the points will also need to be addressed for p6 ast macros. will want ast abstractions which permit p6 macros to be as simple as their lisp conterparts, rather than say what one can now do with ruby parse_tree, which looks a lot like writing pil2 by hand. 22:19
good night integral &
Re grammars (not Grammars;), one thing to figure out is how computationally expensive runtime predicates can be integrated with the type system. hmm, though I suppose one could just do multi is_context_free (AbstractGrammar $G -> Bool) is cached { ...} and then multi foo (AbstractGrammar $G and is_context_free($G)){ ... } (or whatever the syntax is...) 22:24
General question: what are we going to call grammars (in the math/cs sense) given the existence of Grammars (in the p6 sense)? :-/ 22:25
integral: ping? 22:30
tewk mugwumpjism: are slide or audio available?
Opps
putter wonders how far integral got on his walk of ext/ ...
;)
22:37 jvoorhis left
putter is the smokeserver down? 22:42
or rather, I'm getting dns resolution failures. :( 22:43
22:47 Limbic_Region joined
dduncan I'm smoking now, r8786, and the're still ext/ failures, all of the same "no such" variety 22:48
svnbot6 r8787 | Darren_Duncan++ | r2127@darren-duncans-power-mac-g4: darrenduncan | 2006-01-26 14:51:11 -0800 22:53
r8787 | Darren_Duncan++ | /ext/[Locale-KeyedText|Rosetta[|-Engine-Native]] : half-decremented the LKT file versions
putter ok, thanks 22:56
dduncan I'm not getting any smokeserver dns failures when going to smoke.pugscode.org and m19s28.vlinux.de/cgi-bin/pugs-smokeserv.pl in my web browser ... 22:57
my current smoke isn't done yet, so I can't validate whether upload works 22:58
putter nor I now. ? a transient i guess 22:59
dduncan I guess
23:11 drbean joined
stevan wonders what dconway could be talking about re: recent development of Perl 6 since he seems never to be around here or the mailing lists anymore 23:22
mugwumpjism Well, I'm giving a lightning talk at the Perl BOF tonight 23:23
It's entitled "How Type Theorists Saved Perl 6"
stevan mugwumpjism: about perl6?
nice :)
mugwumpjism :->
stevan boggles at how for 5+ years Perl 6 was so much hand-waving 23:24
and then how much it has progressed towards a reality since pugs started
mugwumpjism Perhaps with a sub-title "...and the biggest mistake in the design of Perl 6" 23:25
stevan which is?
Parrot? :P 23:26
mugwumpjism specifying the virtual machine will change
SamB huh?
dduncan mugwumpjism, what event is that bof part of?
mugwumpjism linux.conf.au
SamB what is this "specifying the virtual machine will change"? 23:27
stevan mugwumpjism: please ask dconway to post his slides, audio/video is possible
I would like to hear/see it
mugwumpjism the conference organisers have something funky planned
annotated (via irc logs), searchable streams 23:28
stevan nice
mugwumpjism don't know what the lead time is
Juerd PerlJam: Yes, but with cause and effect the other way around: camels will fly because perl6 is there. 23:32
stevan thought hell was going to freeze over instead
hmmm maybe both with happen 23:33
23:36 cPbrian joined
leo_ was grepping for S12, if there are native typed attributes - now ' has int $.answer is rw; 23:48
stevan leo_: I assume that is legal, but i dont think S12 mentions it 23:51
leo_ above is from S12
stevan oh
stevan rereads leo's comment :) 23:52
ick
23:52 Cryptic_K joined
stevan well i suppose it really shouldnt make any difference 23:52
does that cause issues for you?
leo_ there is: implementation and performance 23:53
stevan how so?
leo_ the in attribute is just one indirection, like in a C struct, the boxed needs one more indirection + overhead 23:54
s/in /int /
stevan yes, this is the ideal 23:56
leo_ e.g. 'has $answer;' could be a tied something and whatnot, 'has int $answer' is just a native int, nothing else
I like that
stevan I suppose alot of this depends on how p6 is compiled down to Parrot
stevan is really not familiar enough with the Parrot objects to make any intelligent comments 23:57
and dinner is ready :)
stevan &