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 & |