Run Perl6 Now! | pugscode.org ('Overview', 'Journal') | pugs.kwiki.org | chan now logged: xrl.us/e98m | openfoundry down. svn co svn.perl.org/perl6/pugs/trunk Set by metaperl_ on 4 March 2005. |
|||
01:41
edgewalk1r is now known as edgewalker
|
|||
metaperl | erxz_paste where? | 02:21 | |
perlbot paste? | 02:22 | ||
perlbot | Paste your code and #perl will be able to view it: sial.org/pbot/perl dragon.cbi.tamucc.edu:8080 erxz.com/pb | ||
erxz_paste | "metaperl" at 4.30.46.9 pasted "help needed creating compatible subroutine" (16 lines) at erxz.com/pb/507 | ||
offby1 | Should I be surprised if code from the Synopses doesn't work in pugs 6.0.9? i.e. ``sub numcmp ($x, $y) {return $x <=> $y;} | 03:02 | |
print numcmp (y=>3, x=>4), "\n";'' yields ``No compatible subroutine found: &y''. That just means some bits aren't yet implemented ... right? | |||
buu | offby1: Probably. | 03:23 | |
offby1 | it's brand-new, so ... | ||
buu | offby1: If the synopsis's don't work, it's a bug in pugs. | ||
offby1 wonders if he overlooked a mention of a bug list | 03:24 | ||
buu | offby1: That syntax doesn't look correct | ||
wolverian | pugs apparently doesn't have => yet | 03:25 | |
offby1 | buu: let me see if I can find the page from which I copied it. | 03:26 | |
buu: dev.perl.org/perl6/synopsis/S06.html, about one-quarter of the way down | 03:27 | ||
buu | Well | 03:29 | |
if it doesn't work in pugs | |||
it's a bug | |||
Try adding a test case | |||
offby1 | dunno how yet | ||
buu | look in t/ | 03:30 | |
offby1 | yup | ||
buu | Then email it to someone with commit privs | 03:31 | |
offby1 | oops | 03:32 | |
buu | Eww, emacs | 03:33 | |
offby1 | :-) | ||
jdv79 | emacs rules | 03:34 | |
offby1 | buu: how could you tell? | ||
buu | offby1: Your quit message. | ||
offby1 | ah | 03:35 | |
funny, I accidentally killed the buffer; I'm surprised (and impressed) that the IRC client was graceful enough to send the quit message. | |||
(and if buu doesn't know what I'm talking about; that's OK; it's emacs-speak :-) | 03:37 | ||
buu | I understand your heathen lingo. | ||
offby1 | hey, I use vim too. | ||
I'm what you call "ecumenical". | 03:38 | ||
buu | heh | ||
ingy | hola | 03:40 | |
buu | HALLO INGY | 03:41 | |
You dead yet? | |||
jdv79 | POD hater | ||
ingy | I lived! | ||
offby1 | wow, pugs is certainly active -- half a dozen commits today. And due to the beauty of svk, I can read the commit logs even though the main subversion server is down. | ||
offby1 states the obvious once again | |||
ingy | is the svn server back up? | ||
buu | ingy: svn.perl is | ||
offby1 | svn.perl.org is up. | ||
jdv79 | that one's always up isn't it? | 03:42 | |
openfoundry is the funky one i think | |||
ingy | is pugs mirrored there? | ||
buu | jdv79: It's open as much as openfoundry is | ||
Whcih is to say, like 99.9% of the time | |||
offby1 | openfoundry is at least the one that's not up now. | ||
buu | Until they have a 3 day outage =/ | ||
jdv79 | yup | ||
offby1 | at least they were nice enough to put up a placeholder page (in two languages, no less.) | ||
ingy | tonight I get to hack pugs | 03:43 | |
I'm excited | |||
buu | ingy: You can still be excited? | ||
ingy | I'm definitely tired | 03:44 | |
but I did pretty good in the race | |||
so that counts for something | |||
jdv79: I don't hate POD | 03:45 | ||
buu | ingy: What place? | ||
ingy | I did good because it was a very fast 72 mile race and I finished ~30th of ~120 | 03:47 | |
which is not good | |||
jdv79 | 72 mi of what? | ||
ingy | but I am also the fattest guy out there | ||
jdv79 | on/in what? | ||
ingy | and I'm 40+ yrs old | ||
offby1 | ingy: no. | ||
nobody's THAT old. | 03:48 | ||
offby1 is N years old, for large values of N. | |||
ingy | jdv79: lance racing ;) | ||
metaperl | igy did you quit working at activestate? why? | ||
ingy | because the boss was a Dick! | 03:49 | |
hahaha | |||
jdv79 | i don't like them | ||
offby1 | OK, I've written the simplest, dumbest failing test in the world. It's so small that I could paste it here. Should I just send it to a dev list? Paste it? Do "svn add" and pray for commit access :-) ? | ||
I'm so dedicated that I even made a symlink to /usr/bin/pugs | |||
jdv79 | lance? | 03:50 | |
ingy | armstrong | ||
jdv79 | what bike do you have? | ||
ingy | trek | 03:51 | |
jdv79 | i got a cannondale | ||
offby1 | dinner time | ||
ingy | Somebody just emailed me: Many thanks for your greath code, | ||
jdv79 | no races though, just local MS tours and such | ||
ingy | cool | ||
racing is a thankless sport | 03:52 | ||
jdv79 | you get personal satisfaction though, right? | ||
ingy | the best you can hope for is to get in pretty good shape | ||
but I'm 30lbs over race weight | |||
metaperl | ingy, what happened to the Spoon docs? I dont see any in the distro anymore: cpan.uwinnipeg.ca/dist/Spoon | ||
ingy | I get more satisfaction from hacking for sure | 03:53 | |
jdv79 | haha | ||
ingy | but racing keeps me young | ||
metaperl: there are none :( | |||
metaperl | I just wanted to read the docs. I am a CGI::Prototype fan personally | ||
jdv79 | its definitely not as painful | ||
metaperl | there used to be | ||
ingy | ? | ||
metaperl | you talked about how you and Dave used Spoon at Socialtext | ||
in the docs | |||
oh maybe taht was spiffy | 03:54 | ||
ingy | Spiffy has docs | ||
docs for Spoon is a premature optimization | |||
;) | |||
I want to make a Kwiki variant where people can document modules for other authors | 03:55 | ||
metaperl | well I hope openfoundry opens up early tomorrow | ||
ingy | I was going to use POD but who knows now | ||
metaperl | and I hope I can commit my perlmongers talk on junctions tomorrow | ||
ingy | is there another place to get pugs source? | 03:56 | |
metaperl | the topic says... | ||
ingy | ohhhh | ||
metaperl | I think people are sending patches to p6c | ||
and luqui applies them | |||
buu | ingy: What do you mean 'document modules for other authors' ? | ||
metaperl | but I have whole new files to add | ||
ingy | buu: I'll explain it later | 03:57 | |
I need a shower, then hack hack hack | |||
jdv79 | shower sounds good | ||
ingy | =) | 04:00 | |
autrijus | hi. I'm @ hongkong airport without much battery :) | 04:20 | |
but I did manage to commit the fix for "@a" and "@a[]" parsing raised yesterday here, as well as many other fixes. (r581) | 04:21 | ||
should be back to taipei in 3~4 hrs. | |||
obra | hi autrijus | 04:22 | |
autrijus | greetings obra san. how's life? | ||
obra | today, I cleaned out my homedirs and put more of my life under svk control | ||
not very exciting, but useful | |||
autrijus | verily. I did that when my hd was not broken | 04:23 | |
obra | today was a quiet day when I should have been hacking | ||
autrijus | but evidently I should push it up somewhere else, instead of letting it stay in the same disk. | ||
not in the hacking mood? :) | |||
obra | yep. I have .subversion-repository on my colo box | ||
never managed to get myself to the right mental state | |||
too many open loops | |||
autrijus | caffeine? ritalin? sleep? | 04:24 | |
obra | I also need to find good things for me and kaia to do when we're in .tw | ||
had plenty of sleep. my shoulders are too tense. and I've not had good blocks of time | |||
autrijus | ah. virtualtourist may or may not help there. | ||
havn't seen their taiwan section. | |||
obra | *nod* | ||
I should also try wikitravel/wikipedia | 04:25 | ||
autrijus | there is a wikitravel? | ||
wow there is. | |||
obra | it was "ok" for geneva | 04:26 | |
autrijus | nod. battery soon below 5%. may disconnect any time from this screen. | ||
see you in a few hours :) | |||
obra | safe flight | ||
buu | Bye! | ||
obra | autrijus, sync the bps repo and look at clkao's new toys | 04:27 | |
ingy | autrijus: hihi | ||
obra | QUEBEC branch | ||
customizable homepage | |||
autrijus | nice! | ||
obra | also, new preferences API | 04:28 | |
autrijus | lots of interesting developments indeed | ||
obra | also, more tests | ||
ingy | ritalin++ | ||
obra | customers++ | ||
autrijus needs to learn to write perl5 again | |||
obra | if so, then we should talk when you're in taiwan | ||
autrijus | sure :) | ||
obra | I may even have interesting RT haxx0ring. | ||
autrijus out of battery & | |||
ingy | hi obra | 04:29 | |
ready for taipei? | |||
obra | heya ingy | ||
hahahahahahah. | |||
ingy | ? | ||
buu | ingy: So should: *foo*b; just render as text: *foo*b; ? | ||
obra | no talk written, no vacation plans done, lots of work here to finish first | ||
ingy | buu: yes | ||
buu | hrm | ||
ingy | I will write my talk in taipei | 04:30 | |
definitely | |||
obra | I may as well | ||
ingy | hi autrijus | ||
buu | ingy: I think he's gone | ||
obra | half my talk will be "the future of RT" and the other half will be a design session. "let's add a feature to RT" | ||
with a progress report the next day | 04:31 | ||
ingy | cool | ||
buu | ingy: Eh, which characters can precede an opening * again? | 04:33 | |
Just white space? | 04:34 | ||
ingy | { | ||
sorry... | |||
/ { | |||
buu | Er, a slash can come before it? | 04:35 | |
ingy | obviously you can say /*this*/ | ||
buu | ah right | ||
ingy | other than that, must be a space I think | 04:36 | |
the ending tag is different | |||
buu | Right. | ||
ingy | hmmm, maybe ( too | ||
buu | Hmph. | ||
ingy | we'll need to play with this to get it right | 04:37 | |
write tests and review them for clarity | |||
buu | I've got tests | ||
84 so far =] | 04:38 | ||
ingy | nice. I'd like to see them | ||
erxz_paste | "buu" at 24.206.236.187 pasted "kwid.t" (48 lines) at erxz.com/pb/508 | ||
"buu" at 24.206.236.187 pasted "test.kwid" (40 lines) at erxz.com/pb/509 | 04:39 | ||
buu | I'm trying to make *bar*bar* parse as text | ||
ingy | I think that is right | 04:40 | |
definitely /etc/apache/ should be text | 04:41 | ||
buu | Yeah | ||
ingy | one would think | ||
buu | I agree.. it just makes it fun to parse | ||
ingy | yeah | ||
ok must get off irc | 04:43 | ||
& | |||
crysflame | . | 05:54 | |
buu | death | 05:59 | |
wolverian | satan. | 06:06 | |
buu | Heh, incarnations of immortality++ | ||
Aankhen`` | Is there any property or something similar in Perl 6 that allows you to restrict a hash to fixed set of keys? | 06:35 | |
buu | Read the synopsis! | 06:41 | |
Aankhen`` | Which one? | 06:42 | |
buu | No idea | 06:56 | |
Preferably the one on hashes. | |||
Aankhen`` | Er... are you talking about the Synopses? | 07:01 | |
S09 doesn't seem to have anything on it. | 07:03 | ||
nothingmuch | morning | 07:13 | |
crysflame | . | 07:23 | |
ingy | yay | 07:24 | |
I moved Test.pm to its own ext/Test/ dir | |||
where it belongs | |||
and the tests pass | |||
now i need to get modules to install in the perl6 libs | 07:25 | ||
then we can write modules galore | |||
hi lucs! | |||
lucs | Heya ingy :) | 07:26 | |
obra | ingy, would it make sense to sketch out a naming hierarchy for perl6 modules? | ||
crysflame | oo, thinking ahead! obra++ | ||
hi, lucs | |||
obra | "Skud was going to do some of this 5 years ago" | ||
crysflame | (: coral) | ||
lucs | Yep. Hello :) | ||
ingy | obra: I already have | ||
obra | cool. url? | ||
ingy | well what do you mean by naming hierarchy? | 07:27 | |
have you tried `pugs -V` ? | 07:28 | ||
obra | WWW, DBD, etc, | ||
ingy | same as Perl5 right? | 07:29 | |
obra | so that when people start creating zillions of modules, we don't end up with quite the chaos of cpan. | ||
ingy | I don't really care about that | ||
obra | I expect that perl6 might have a saner standard library | ||
ingy | sure | ||
obra | ok. then what bits were you talking about when you said you'd already done it? | 07:30 | |
buu | ingy: Er, pugs -V errors for me | ||
ingy | just figured out where Perl6 modules get installed so that they don't clash with Perl5 ones | ||
obra | ahh. cool | ||
ingy | buu: cool | ||
buu | Oh wait, that's because pugs didn't build. src/Posix.hs:15: pugs_config.h: no such file or directory | ||
Is that supposed to get generated? | 07:31 | ||
ingy | I get: | ||
obra | but now, sleeptime | ||
ingy | /Users/ingy/local/lib/perl6/darwin-2level | ||
/Users/ingy/local/lib/perl6 | |||
/Users/ingy/local/lib/perl6/site_perl/darwin-2level | |||
/Users/ingy/local/lib/perl6/site_perl | |||
. | |||
crysflame | ta, obra | ||
ingy | so pugs has perl6 libs compiled in... and perl5 ones too | 07:32 | |
buu | hmph | 07:34 | |
lucs | Yikes. Is it js | 07:44 | |
Is it just me, | |||
or does pugs evaluate int(0.8) to 1? | |||
nothingmuch | morning lumi | 07:45 | |
lumi | Morning | ||
lucs just figured out why the sample shuffle.p6 fails once in a while. | 07:47 | ||
nothingmuch | care to enlighten? | 07:48 | |
lucs | It's because pugs evaluates int(0.8) to 1 :) | ||
(for example) | 07:49 | ||
nothingmuch | aha | ||
i reckon that is a bug? | |||
behavior should stay the same from perl5? | |||
or should 'rounding' be more dwimmy for newbies (but not for people used to integer arith) | 07:50 | ||
crysflame | or defined as posix? | ||
nothingmuch has no man int | 07:51 | ||
lucs | Wait a sec. Does int() mean something different in Perl6? | ||
nothingmuch | i don't think it should | ||
in fact, i'll be upset if it did | |||
lucs | I sure am :) | ||
nothingmuch | in that case i will pettition for a 'use int qw/sane/' pragma | ||
lucs | It looks like a bug, eh. | ||
nothingmuch writes a test | 07:52 | ||
lucs | There is already a t/int.t; it could use more tests I guess. | 07:53 | |
nothingmuch | uhuh | 07:55 | |
todo_is(int(0.8), 0, "floats aren't rounded up"); | |||
todo_is(int(0.5), 0); | |||
lucs | (er, t/op/int.t) | ||
nothingmuch | enough? | ||
0.5 is not a todo | |||
lucs | If it fails, probably enough, yeah :) | ||
scw | how about int(1.5) == 1? | ||
lucs | Probably redundant, but it doesn't cost much. | ||
nothingmuch | 1.5 is 1 | 07:56 | |
1.51 is not | |||
scw | so not every program cast 0.5 to 0 but 1.5 to 2 :p | 07:58 | |
nothingmuch | do we have zip() yet? | 08:01 | |
oh well, that's another test | 08:02 | ||
ok, big t/op/int.t is made | 08:13 | ||
i would have written it as for((float,\tfloat,\tfloat)\nĀ„(expected,\texpected\texpected)\nĀ„(todo,\ttodo,\ttodo))-> $in, $expected, $todo { if ($todo){ todo_is(int($in), $expected, "int($in) is $expected") } ... | 08:15 | ||
but we have no zip | |||
lucs | Do you have commit rights? | 08:16 | |
nothingmuch | i have on openfoundry | 08:17 | |
but it's down | |||
lucs | Ah. | ||
nothingmuch | so i use darcs and just let autrijus handle the mess | ||
lucs | Well, thanks for building it. | ||
nothingmuch | if someone has real commit rights i can put it up wherever | 08:18 | |
as unidiff or replacement file | 08:19 | ||
luqui: can you commit changes to t/op/int.t | 08:21 | ||
? | |||
lucs found a bug | |||
luqui | ahh, where? | ||
nothingmuch | i can put it up on my webspace, p6c? | ||
luqui | whatever | 08:22 | |
your call | |||
nothingmuch | ok, one minute please, i'm making sure it's going through a proper make test | ||
ok, nothingmuch.woobling.org/pugs/ has int_test.diff, and a modified t/op/int.t, your choice | 08:25 | ||
now for t/op/zip.t | |||
luqui | making test... | 08:26 | |
looks good | |||
committed | 08:27 | ||
nothingmuch | is(~@a, ~@b, "arrays are equiv"); # is this good enough as a test | ||
? | |||
luqui | you know, I think it is | ||
there will be some cases where @a is not @b and that will still pass | |||
nothingmuch | right, but not trivially | 08:28 | |
luqui | right | ||
nothingmuch | my @a = 0, 2, 4, my @b = 1, 3, 5; my @e = 0, 1, 2,3, 4, 5; | ||
then it evals a @z, and makes sure ~@z is eq ~@e | |||
no one will get angry, right? | |||
luqui | don't think so | ||
they shouldn't, at least | 08:29 | ||
nothingmuch | btw | ||
the semantics of @a Ā„ @b Ā„ @c are that you have @a[0], @b[0], @c[0], @a[1] ..., right? | |||
it's stacking that way | |||
luqui | yeah | ||
nothingmuch | goody | 08:30 | |
luqui | it's "list associative" as damian calls it | ||
nothingmuch | i think that having some ops behave like that is the smartest choice of language design since i god know when | ||
luqui | you can do (@a [yen] @b) [yen] @c to get @a[0] @c[0] @b[0] @c[1]... | ||
nothingmuch | ooh | 08:31 | |
wait | |||
scw | make failed with ghc-6.4, Conflicting exports for `getEnvironment' | ||
nothingmuch | a, c, b, c, a, c, b, c, right? | ||
luqui | yeah | ||
nothingmuch | i thought it was magical, but it just makes sense | ||
=) | |||
zip() takes many arrays, right? | 08:32 | ||
(i thought you were using yen as a slice) | |||
luqui | uh huh. it's a semicolon operator | ||
zip(@a;@b;@c) | |||
if you use commas, it will just concatenate | |||
nothingmuch | okies | ||
good to know | |||
luqui | nothingmuch: do you know much about parsec? | ||
nothingmuch | nothing | 08:33 | |
luqui | nothing much? | ||
nothingmuch | i started with haskell on friday | ||
luqui | ahh, darn. I'll just have to wait for autrijus then | ||
nothingmuch | i couldn't get the get numbers from user and do stuff to them excercise done in under 15 mins | ||
so i went to sleep | |||
and haven't tried again since | |||
nothingmuch finds "programming" in perl6 rather intuitive | 08:35 | ||
i'm not sufferring too much from "oh crap, it's supposed to be different" | |||
luqui | yay | ||
that's what we're going for | |||
nothingmuch | i think so far the only thing that has been bothering me aesthetically is colon as a list separator | 08:36 | |
my head keeps parsing it like a syntax error | |||
lightstep | what is represented as a Syn expression? a syntax tree? | ||
nothingmuch | which i usually do when i make hashes | ||
luqui | you mean the invocant colon? | ||
nothingmuch | (\nkey => foo;) | ||
in perl5 i did that all the time | |||
luqui | oh, the semicolon multidimensional separator | 08:37 | |
(or rather, two dimensional separator) | |||
nothingmuch | so i got used to treating a ; anywhere but the end of an expression, as well as ; at the end of a one line block structure (like if () { foo; }) as syntax errors | ||
in my head | |||
but i'll grow out of it | |||
luqui | we should probably disallow null dimensions for that reason | 08:38 | |
nothingmuch | ok, t/op/zip.t is done | 08:41 | |
lightstep | is the darcs repository updated frequently? | 08:42 | |
nothingmuch | autrijus has a minutely sync script | ||
but it's one way | |||
and there are conflicts | 08:43 | ||
lightstep | between what? | ||
nothingmuch | since patches you apply get reapplied, but without the logic | ||
svn.perl.org now | |||
svn.openfoundry.org later, i think | |||
lightstep | so i'll go learn about svn | ||
nothingmuch uses it anyway, since his mind isn't rubbery enough to fit svk into the mess in one weekend | |||
i'd suggest svk | |||
it works with svn | 08:44 | ||
but in a more darcs like way | |||
lightstep | i don't know darcs, except get and pull | ||
nothingmuch | that's really all you need to know about darcs | ||
well, 'record', 'whatsnew' | |||
it's sane | |||
central VCS seems simpler, i think, but they really aren't | 08:45 | ||
lightstep | how do i get/pull with svk? | 08:46 | |
nothingmuch | there's some instructions somewhere | ||
let me find them | |||
i'm not 100% clear on that | 08:47 | ||
svk.elixus.org/?SVKTutorial | |||
lightstep | thanks | ||
nothingmuch | ok, luqui, same ordeal with the zip.t file | ||
unidiff and file | |||
t/op/pipe.t | 08:52 | ||
ooh | 08:56 | ||
spooky | |||
eval '@c <== @a' is causing "Fail: cannot cast into a handle: VList [VInt 1,VInt 2]" | 08:57 | ||
despite the eval | |||
luqui | nothingmuch: sry, was away... I'll go get it | 08:59 | |
nothingmuch | thanks | ||
any clue on what is op with evalling pipe ops? | |||
luqui | where was the site again? | ||
nothingmuch | nothingmuch.woobling.org/pugs/ | ||
t/op/zip.t or zip.diff | |||
luqui | thanks, applied | 09:00 | |
r583 | |||
nothingmuch | callooh, callay | 09:01 | |
luqui: any ideas for how to test locomotive ops? | 09:03 | ||
i have @a ==> @b, and @c <== @a, checking that @c = @a, and @b = @a | |||
and i have @a ==> grep {} ==> @b | |||
and @c <== grep @a; | |||
luqui | yeah that's pretty good | 09:04 | |
nothingmuch | and again | ||
luqui | you can also test with optional args | ||
nothingmuch | explain | ||
luqui | sub foo ($x, ?$y, *@z) {...} | ||
nothingmuch | ah, user subs accepting pipings | ||
luqui | @list ==> foo $x # doesn't bind $y | ||
pipes directly into @z | |||
nothingmuch | pretty | 09:05 | |
does that also work with foo($x, @list) in the same way? | |||
or since @z is flattenned... ? | |||
luqui | your foo won't accept a pipe | ||
nothingmuch | wait, if it's flattenned that doesn't matter | ||
luqui | it'll just croak | ||
nothingmuch | no, not a pipe | ||
"normal" passing of array | |||
luqui | I don't quite understand | 09:06 | |
nothingmuch | if i just do eval 'foo($x, @list)' | ||
it's the same, right? | |||
luqui | uhhh... perhaps not | ||
nothingmuch | as eval '@list ==> foo $x | ||
luqui | I think it will try to bind that to $y | ||
maybe | |||
p6l time | |||
nothingmuch | the first element of @list, you mean? | 09:07 | |
luqui | no, the whole reference | ||
nothingmuch | hmm | ||
luqui asks p6l | |||
nothingmuch | goody | ||
buu | Why is p6 so batshit insane | ||
nothingmuch | perl5 is too | 09:08 | |
buu | Maybe I'm just used to it. | ||
luqui | yeah, the difference is that you know perl 5 | ||
buu | But come on now: @x>>+<<@y | ||
@x ==> foo $x; | |||
nothingmuch | that's one fo the nicest things ever | ||
buu | That's sheer evil. | ||
crysflame blinks | |||
nothingmuch | hyper ops are beautiful | ||
and piping helps readability | |||
crysflame | wow, that's interesting | ||
nothingmuch | only the invocant is concerned | ||
buu | Well, yeah | ||
I kind of like them | |||
But they're definately weird. | |||
nothingmuch | crysflame: the first will add elements of @x to elements of @y | ||
crysflame | @x ==> foo $x? | 09:09 | |
nothingmuch | crysflame: see what luqui was just mentioning | ||
crysflame | right | ||
luqui | the slurpy parameter acts like the functions stdin | ||
crysflame | @x ==> foo($x) comes to mind | ||
buu | luqui: Er, what? | ||
luqui | same thing, far as I know | ||
crysflame | oh, jeez | ||
luqui | buu what what? | 09:10 | |
buu | luqui: What did you mean by 'acts like stdin' ? | ||
nothingmuch | buu: it takes pipes | ||
luqui | when you pipe into a function using ==>, it goes directly to the slurpy parameter, bypassing positionals | ||
(which had better be optional) | |||
buu | Oh. Good. | ||
nothingmuch | ok, | 09:14 | |
t/op/pipe.t is ready | |||
putting up | |||
done | |||
lightstep | recursion it really really broken! | ||
s/it/is/ | |||
nothingmuch | note that without modifying the test two tests will never untodo | 09:15 | |
luqui | thanks, applied | ||
nothingmuch | because they have fatal runtime errors | ||
the eval '' is dying | |||
hence commented out | |||
ok, that's enough p6 for today | 09:16 | ||
nothingmuch goes to rip a cd | |||
luqui | lightstep: how so? | ||
lightstep | hanoi.p6 always gets 'S' in $s | 09:17 | |
i can't say more until i hack Pretty.hs | |||
09:17
Aankh|Clone is now known as Aankhen``
|
|||
nothingmuch | are the exegis examples made into tests yet? | 09:18 | |
luqui | dunno | ||
nothingmuch | i would be glad to translate them and make sure they work like they should, by running unit tests for those programs | ||
s/running/writing/ | |||
luqui | that'd be pretty cool | ||
you know the earlier ones are wrong nowadays, right? | 09:19 | ||
nothingmuch | i will try to fix them up as i goi | ||
needless to say i will be bitching here and on p6l a lot | |||
luqui | good | ||
nothingmuch | now to get chromatic to write Test::Builder like he promised | 09:20 | |
;-) | |||
hola orb | 09:32 | ||
theorbtwo | Allo, nm. | 09:36 | |
nothingmuch | what beith new? | 09:37 | |
nothingmuch is at work, his laptop's CD is broken, and someone wants him to listen to something | 09:40 | ||
what's an x11 based cdripper usually available on redhat? | |||
hopefully based on cdparanoia + ogg or lame | 09:41 | ||
luqui | grip? | ||
nothingmuch | sounds good | ||
luqui | lame encanta a luqui | 09:42 | |
09:54
buu is now known as buu_sleeping
|
|||
nothingmuch | loop (1 .. 20) is the "right" way to get 20 iterations, correct? | 10:04 | |
Aankhen`` | Yea. | 10:41 | |
nothingmuch | 100% sure it's also allowed? because for (1 .. 20) works, bug loop (1 .. 20) is a parse error, and is also not tested for | 10:54 | |
wolverian | nothingmuch: then loop is unimplemented. | 11:04 | |
nothingmuch | test test test | ||
wolverian | nothingmuch: there's nothing wrong with 'for 1..20 -> $x { print $x }' though. | ||
nothingmuch | without needing the counter, i'd like to just do some block 20 times | ||
wolverian | for 1..20 { ... } | 11:07 | |
'loop' is meant exclusively for c-style loops, as far as I know | |||
(loop my $i = 0; $i < 20; $i++ { ... }) | |||
nothingmuch | ok, that's what i was checking | ||
luqui: want to look at exegesis 1's example? | 11:08 | ||
the fileserver is down so i have a free 10 mins | |||
luqui | okay | 11:09 | |
luqui doesn't remember exe1 | |||
crysflame | (1..20) ==> for $x { print $x } ? | ||
nothingmuch | tree example | ||
crysflame++ | |||
nothingmuch only wants for (1..20){ do_something_unrelated_to_x } | |||
crysflame | osmosis works! | ||
nothingmuch | err, exegesis 2 | 11:10 | |
it's #1, but it's 2 | |||
luqui | crysflame: (1..20) ==> for -> $x { print $x } | ||
that acutally, er, works. but maybe not | |||
nothingmuch | my int ($pre, $in, $post) --> my ($pre is int, $in is int, $post is int)? | ||
luqui | sub statement:for (*@vals, *&code) | ||
nothingmuch | my ($pre, $in, $post) is int, constant = (0 .. 2)? | 11:11 | |
crysflame | luqui: heh. i was just making up syntax. | ||
(1..20) -> for $x { ... } ? | |||
nothingmuch | for is a sub that also looks at it's code's prototype and then decides how to dispatch @vals? | ||
luqui | crysflame: sure, but I don't think you can use pipes on for | 11:12 | |
because it's statement-level | |||
crysflame | hmmm | ||
nothingmuch | in the for (@arr) -> type syntax | ||
crysflame | ok | ||
luqui | nothingmuch: hm? | ||
nothingmuch | ignore me | ||
dev.perl.org/perl6/exegesis/E02.html | |||
the "my int ($pre, $in, $post)" bit doesn't look right | 11:13 | ||
luqui | nothingmuch: I think it's right... we really haven't cared enough to define that part of the language | ||
we'll probably allow both: my int ($x, $y) and my (int $x, int $y) | 11:14 | ||
because they're both unambiguous | |||
nothingmuch | ok | ||
and constant is a trait, not a part of the type, right? | |||
well, duh | |||
is rw | |||
crysflame | print (1..20) ==> int ==> join ',' ? | 11:16 | |
or is that the wrong idea | |||
wolverian | 1..20 ==> map { int } ==> join "," | ||
luqui | wolverian: precisely | ||
==> print on the end if you please | 11:17 | ||
wolverian | 1..20.map:{ int }.join(",") # or is the : optional again or what? :) | ||
luqui | don't think it's optional in that form | ||
definitely not, actually | |||
crysflame | hmm, ok | ||
wolverian | does map understand only adverbial blocks? | 11:18 | |
crysflame | 1..20 >>==><< int ? | ||
wolverian | or can I pass it a regular block as .map({...})? | ||
also, is the precedence right with the .join directly after the adverbial block? | |||
luqui | wolverian: the precedence is okay | ||
adverbial blocks go in *& parameters | |||
wolverian | ah, okay. | 11:19 | |
luqui | and I don't know how you get something into the *& parameter without using an adverb, but maybe there's a way | ||
crysflame | that is, given a func that takes one thing, can i replace any use of map { func } with >>...<< func? | ||
luqui | uhh... | ||
wolverian | multi sub map (Code *&c, *@rest) { ... } # would the slurpiness DWIM there? | ||
luqui | I think *& is a zone just like *$, *@, and *% | 11:20 | |
and it has to go at the end, because that's where it goes in for | |||
wolverian | mm. okay. | ||
I'll need to reread that bit. :) | |||
luqui | but @Larry is thinking about removing the zone restriction | ||
wolverian | ah, okay. | ||
luqui | and I don't think *& has been written in any official doc yet | 11:21 | |
(maybe it has) | |||
wolverian | I don't remember it, but again, I don't remember the zones very well either. | ||
luqui | no, there's a passive mention in A6 about *& | ||
wolverian | crysflame: >>...<< only works with infix functions, I think. :) | ||
luqui | you can do it with prefix, but then it's ...<< | 11:22 | |
and postfix: >>... | |||
like, @objs>>.meth | |||
crysflame | hmmm | ||
wolverian | do we have any postfix functions that aren't methods? :) | ||
crysflame | oh, neat | ||
luqui | well, @nums>>++ | ||
although using prefix there might be clearer... just maybe | 11:23 | ||
crysflame | (rand x 20) >> .int >> join ',' >> print? | ||
wolverian | that could easily still be a method, though. which I think is a good thing. probably. | ||
crysflame: ==> you mean. | |||
crysflame | errr | 11:24 | |
(rand x 20) >> .int ==> join ',' ==> print? | |||
wolverian | or maybe: (rand x 20)>>.int>>.join(',')>>.print | ||
theoretically that might work. :) | |||
crysflame | >>. >>. >>. | ||
i feel like i'm playing zork orsomething | |||
wolverian | heh. | 11:25 | |
crysflame | >> applies a list to a .method effectively, while ==> pipelines the left side into the right side's arguments, presuming the right side isn't a method (infix functions only?) | ||
so (rand x 20) ==> .int is bad | |||
(rand x 20) >> .int is good | |||
nothingmuch | luqui: first bits of exegesis 2 is "my $var is trait' | 11:26 | |
i'm writing t/base/traits.t | |||
luqui | (rand) xx 20 ==> .int means $_.int((rand) xx 20) | ||
nothingmuch | testing for 'my $const is constant = 2' | ||
crysflame | oooh, okay | ||
so ==> is slurp args | |||
wolverian | luqui: is it xx nowadays? | ||
luqui: oh, is xx list constructor and x string? | |||
luqui | x is for strings, xx is for lists | ||
right | |||
nothingmuch | testing that you can't assign to $const later on | 11:27 | |
crysflame | so when i said >>==><< i meant >> | ||
luqui | probably | ||
crysflame | since the hyper form of ==> for a single list left side and a single arg right side is >> | ||
nothingmuch | and testing that it's value remains after trying to assign | ||
any more ideas? | |||
wolverian | @array_of_arrays >>==><< stuff; # ...that is so ugly. | ||
crysflame | yep | 11:28 | |
wolverian | s/<<// | ||
crysflame | oh, gack | ||
luqui | well this really gets into testing traits | ||
crysflame | ok | ||
nothingmuch | that's the origin of the dead fish operating | ||
or | |||
s/ing$/or/ | |||
not object traits | |||
that's for the 6.2 tests vs. apocalypse 12 stuff to define later | 11:29 | ||
luqui | container traits | ||
wolverian | hrm, this should work, right: for @aoa -> @a { ... } | ||
nothingmuch | yes | ||
crysflame | @a, @b >> sum ==> ',' -> join ==> print ? | ||
sums each of $a[0], $b[0], etc | |||
joins with , prints.. hm. | |||
there's going to be some mad crazy learning required for all this | |||
luqui | wolverian: yep | ||
wolverian | -> join should be a syntax error. | 11:30 | |
luqui | well... | ||
wolverian | (as -> wants a code block, probably) | ||
luqui | yes I think that works | ||
crysflame: what's that -> doing in there? | |||
wolverian | also, you want (@a,@b)>>.sum | ||
(are the arrays flattened there? I forget what the policy is now.) | |||
crysflame | i'm learning syntax by probing the edges of it | ||
wolverian | (if it's changed.) | ||
crysflame | will stop, as i've hit the brick wall of the moment | 11:31 | |
wolverian | crysflame: >> and ==> are only two operators. | ||
it's not _that_ complex. | |||
luqui | I don't know if they're flattened there, actually | ||
wolverian | let me see what pugs does. I think it was a bug though, regarding that. | ||
crysflame | i would think that if the rside of >> expects two operators and gets two on the left side then.. dunno | ||
wolverian: >>, ==>, ->, and >>+<< went by int he past hour or two | 11:32 | ||
luqui | anyone seen autrijus | ||
nothingmuch | probably asleep | ||
how would i test for 'is chomped'? | |||
in perl5 i'd prolly do a pipe open | |||
and nonblocking write | |||
so that it doesn't die | |||
wolverian | wow, my pugs is broken. | ||
luqui | you could also open yourself | ||
nothingmuch | ah | ||
good point | |||
lumi | Hi, sorry | ||
luqui | hi lumi | ||
crysflame | hi | ||
luqui | you've been in and out all day | 11:33 | |
nothingmuch | how would you name the test for $0? | ||
lumi has been scholded | |||
luqui | $0? | ||
nothingmuch | program name | ||
luqui | that's not the program name anymore | ||
nothingmuch | ah | 11:34 | |
$?... | |||
luqui | it's more like $?PROGNAME or something | ||
$0 is the match object | |||
wolverian | I still think it'd be nicer to objectify that kind of variables. | ||
$SYS.progname # or so. | |||
nothingmuch | t/magicals/progname.t? | ||
wolverian | or taking a page from Larry, $SYS<progname> :) | 11:35 | |
nothingmuch | so should i just stub $SYS.progname in the test? | ||
wolverian | er, no, that's my delusions. | ||
I'm not authoritative. | |||
use $?PROGNAME for now. | 11:36 | ||
luqui | yeah that should be fine | ||
nothingmuch | todo_is($?PROGNAME, "t/magicals/progname.t"); | ||
well, (eval '$?PROGNAME', ...) | |||
john | examples/hanoi.p6 gives the wrong answers, algo is sound, probably something worng in the argument passing. Turned the example into a test, where should it go? t/examples/hanoi.t maybe? | ||
lumi | How do you test that? Anything might call the test, no? | 11:37 | |
nothingmuch | someone else mentioned it too, john | ||
perl t/test.t yields '$0 eq 't/test.t' under perl | |||
assuming it runs under the pugs test harness, where it should, it shouldn't fail | |||
anything else is the test runner's responsibility | |||
john | any need for the hanoi test code? | ||
nothingmuch | they must open the test, and read the comment that says "run me properly" | 11:38 | |
wolverian | heh, latest pugs: | 11:39 | |
Failed 2/55 test scripts, 96.36% okay. -5/1003 subtests failed, 100.50% okay. | |||
nothingmuch | hehe | ||
wolverian | I am more than okay! | ||
nothingmuch | do we have rx// like quotes yet? | 11:41 | |
wolverian | we don't have rules yet. | ||
nothingmuch | that could be todo, i mean syntax wise | ||
qq// | |||
wolverian | yes. | ||
nothingmuch | i see | 11:42 | |
t/op/quoting is all todo | |||
almost | 11:43 | ||
wolverian | well, say qq/foo/ works :) | ||
nothingmuch | but that's about it =) | 11:44 | |
wolverian | qq() works as well! | ||
nothingmuch | how silly would it be to create a todo_like sub in Test | ||
wolverian | q// does not. | ||
nothingmuch | which always says 'not ok name # TODO like() is not yet implemented | ||
todo_like(eval '$?PROGNAME', eval 'rx#t/magicals/progname\.t$#', "progname var matches test file path"); | 11:45 | ||
? | |||
beh, qw((foo bar)) does not yield '(foo', 'bar)' | 12:04 | ||
Juerd | It does not? | 12:12 | |
nothingmuch | nope | ||
should it? | |||
should i add a test to t/op/quoting.t? | |||
i will | 12:13 | ||
either 'q((foo bar))' yields '(foo' 'bar)' or 'q(())' does not parse | |||
Juerd | w | ||
nothingmuch | one of them is the right behavior, i just don't know which | ||
Juerd | The former | ||
Even qw<<foo bar>> results in '<foo', 'bar>' | 12:14 | ||
only without qw, << is special in meaning ōæ½xAB | |||
nothingmuch | shouldn't that be a lone <<>>? | ||
ah | |||
Juerd | See [email@hidden.address] in p6l | 12:15 | |
wolverian | shouldn't q((foo bar)) yield _one_ string? | ||
nothingmuch | qw | ||
i think yes | |||
wolverian | your original question had two elements | 12:16 | |
I think. :) | |||
er, sorry, it had qw. | |||
Juerd | wolverian: Yes - we were talking about qw though :) | ||
wolverian | you just later used q(), which confused me. | ||
Juerd | So the q must be a typo | ||
wolverian | I blame it on having to use windows right now. | ||
nothingmuch is full of typos | |||
wtf? | 12:17 | ||
google groups finds that message id | |||
but if i click the title it says 'perl-perl6-language doesn't exist' | |||
feh! | |||
Juerd | nothingmuch: tr/-/./ | 12:18 | |
Bug in GG | |||
nothingmuch | goody | ||
Juerd | Google's new Groups interface SUCKS | 12:19 | |
nothingmuch | should i also test q\0 \0 | ||
Juerd | It doesn't parse quotes in a useful way | ||
nothingmuch | where \0 is really a char? | ||
Juerd | Did they code this in PHP or what? | ||
nothingmuch | that char, not just a char | ||
Juerd | nothingmuch: Yes, that should work. | ||
wolverian | I think I read google uses python, mostly. | ||
Juerd | nothingmuch: It's a much used technique in generated code, even | ||
wolverian: Python and C, yes | |||
wolverian | which is lightyears better than PHP. | 12:20 | |
nothingmuch | a friend of mine was thinking of applying for a job | ||
the skillset they wanted was c/c++, python, perl | |||
eval '@quote3b = q:2/$foo $bar/'; | 12:21 | ||
todo_is(@quote3b[0], 'FOO', | |||
q:2 means q:double? | |||
Juerd | What's :double? | ||
nothingmuch | |||
Juerd | omg. | ||
nothingmuch | yes =( | ||
wtf?! | 12:23 | ||
q/$foo $bar/ returns two elements, '$foo' and '$bar'?! | |||
why god why?! | |||
12:24
Aankh|Clone is now known as Aankhen``
|
|||
nothingmuch | somebody please look at lines 24 and 26 of t/op/quoting.t and tell me i'm reading wrong | 12:32 | |
wolverian | ..that looks wrong. | 12:45 | |
but then again, I don't know the latest designs on quoting. :) | 12:46 | ||
qmole | /8 | ||
nothingmuch | well, i'm off | 12:58 | |
autrijus | greetings! | 15:43 | |
lumi | Hello | 15:46 | |
autrijus | hey. | ||
openfoundry is back | |||
merging everythiing back now | |||
Run Perl6 Now! | pugscode.org ('Overview', 'Journal') | pugs.kwiki.org | channel log: xrl.us/e98m | 15:48 | ||
cls_bsd | greak | 15:51 | |
in such time it proofs svk's power | 15:52 | ||
autrijus | =) | ||
metaperl | good news | 15:55 | |
autrijus | the bad news is that yesterday, the final night in beijin | ||
we had this great idea of eating out at a "regular folk" foodplace for once | 15:56 | ||
instead of eating in Proper Restaurants like we did before | |||
result: serious and extremely painful case of diarrhea for the past 24 hours :-/ | 15:57 | ||
clkao | poor autrijus | ||
cls_bsd | oops, after svk up -s, my pugs is still 6.0.9, but there's 6.0.10 in CPAN | ||
autrijus | cls_bsd: rerun perl Makefile.PL ? | ||
cls_bsd | poor autrijus | ||
scw | autrijus: //pat. That always happends it China.. | 15:58 | |
autrijus nods. should've known better | |||
cls_bsd | so what's your choice next time in China? :p | ||
clkao | autrijus: great, you just hit svk's bug. log message became "1" | ||
it was fixed last night | |||
autrijus | cool. | ||
cls_bsd | grep VERSION lib/Perl6/Pugs.pm | ||
$Pugs::VERSION = '6.0.9'; | |||
ok, re-run svk up -s again | 15:59 | ||
ok, updated... | 16:00 | ||
statico | whoa, did i miss chromatic on irc? | 16:03 | |
autrijus | a few days ago, yeah | 16:04 | |
the interview | |||
openfoundry svn fully synced up. | 16:05 | ||
ingy | hola | 16:06 | |
autrijus: I moved Test.pm into ext and got it working | 16:07 | ||
now I need it to install in the perl6 paths | |||
autrijus | cool. | 16:12 | |
so tell me the plan now | |||
is it still possible to use upload p6 modules to CPAN? | |||
or do we drop that route? | |||
I somehow still think reusing Perl6::lib::* is attractive, but if you have a better idea I'm all ears | 16:13 | ||
ingy | pugs can load both perl5 and perl6 modules | 16:15 | |
it has paths for both | |||
autrijus | not seeing that | ||
ingy | the perl6 ones come first in @INC | ||
autrijus | you seem to have moved away p5lib | ||
ingy | I am describing the future | ||
autrijus | ahh ok. go on | ||
ingy | perl6 modules use a pugs aware build system | 16:16 | |
that installs them into the perl6 trees | |||
very simple | |||
autrijus | so we use pugs to run Makefile.PL? | 16:17 | |
ingy | as for cpan | ||
autrijus: eventually | |||
autrijus | ok. what about cpan? | ||
i.e. what should we tell darren? | |||
ingy | but that is not the future I am talking about | ||
autrijus | nod. | ||
ingy | hold on | ||
so say I write a perl6 verion of a perl5 module | 16:18 | ||
autrijus grabs some pain killers; type ahead, I'll brb | |||
ingy | eventually cpan will need to be able to accomodate perl5 and perl6 modules of the same name | 16:19 | |
autrijus | p6 modules have this "long name" | ||
ingy | name a module for instance | ||
autrijus | so ideally it should be uploaded under the long names | ||
which includes the author etc | |||
ingy | my cpan solution is to simply change the dist name | 16:20 | |
Perl6-* | |||
for the short term | |||
autrijus | Perl6-* is bad | ||
see existing CPAN modules | |||
there's loads of Perl6-* | 16:21 | ||
and they are p5 modules. | |||
which is why I proposed Perl6-lib-* | |||
ingy | decent point... | ||
autrijus | I pondered v6-* | ||
to pun with "use v6;" | |||
but I think Perl6-lib-* is clearer | |||
ingy | I don't grok Perl6-lib- at all | ||
what is the trickery that led you to that? | |||
autrijus | twofold: | 16:22 | |
in CPAN we need a dinstinct prefix for distnames | |||
in the short term | |||
to mark p6 modules | |||
Perl6-lib-* is the most reasonable thing I can think of. | |||
now, the obviously easy thing to do with regular makemaker | 16:23 | ||
ingy | it seems rather awful | ||
autrijus | sure. better suggestion being? | ||
ingy | why cruft up the perl6 module layout ffrom the author perspective | ||
autrijus | I think v6-* is too vague. | ||
ingy | everything should remain the same | ||
and the tools should dtrt | |||
autrijus | uh. sure. | 16:24 | |
so I agree w/ your plan | |||
we could have a M::I extension | |||
that simply prefix the distname with Perl6-lib- | |||
but install things under p6 libparh | |||
libpath ev | |||
libpath even | |||
and keep everything else the same | |||
ingy | I completely agree... | 16:25 | |
autrijus | but the prefix should still be there. | ||
so the extension needs to | |||
ingy | except Perl6-lib- is sooo not shiny | ||
autrijus | 1. prepend something to distname | ||
ingy | v6- is pretty shiny | ||
autrijus | 2. find pugs or perl6 executable and run tests with them | ||
CPAN Upload: v6-DBI | 16:26 | ||
CPAN Upload: Perl6-lib-DBI | |||
I wonder if we should have a poll... | |||
I think v6-DBI may mislead people thinking that's dbi v6 | |||
ingy | I really think the prefix is not the right thing long term | 16:27 | |
cpan needs to be reorganized | |||
thus freepan or a lot of work | |||
autrijus | agree | 16:28 | |
in the long term we are all reborn anyway | |||
but in the short term. | |||
ingy | we can go with the prefix for now | ||
autrijus | with a clear mark that it is purely transitional | 16:29 | |
ingy | but we may see it still in 20 years :P | ||
autrijus | well yeah | ||
but without a solution | |||
some CPAN authors may not bother to convert things to p6 | |||
which is a loss :) | |||
deadlocking bad, makeshifting good (I think) | |||
ingy | sooo... I think Perl people adopt fast enough for v6- | 16:30 | |
autrijus | so you think v6- is the way to go? | ||
ingy | definitely | ||
Juerd | There'll be an army of porters! </dream> | ||
autrijus | there will. | ||
mm I'll ask on #perl a bit. | |||
ingy | when there are 500 v6- modules, Perl people are smart enough to know they aren't all at version 6 :P | 16:31 | |
Juerd | I don't like the (or any) prefix | ||
pjcj | Has perl6 got v-strings? | ||
ingy | Juerd: solution? | ||
we don't like the prefix either | 16:32 | ||
autrijus | pjcj: v-objects, yeah. | ||
Juerd | I think CPAN should be left for what it is and a new repository should be created | ||
lukhnos | /win/win 5 | ||
ingy | freepan! | ||
autrijus | Juerd: I agree. | ||
lukhnos | oops sorry | ||
autrijus | however, recreating the toolchain takes Time. | ||
Juerd | This might be a directory in CPAN, as to abuse existing mirrors | ||
But it should be differently structured | |||
pjcj | v6 won't clash with v-objects? | ||
autrijus | mm? v6-DBI-1.0.tar.gz | 16:33 | |
it's DBI.pm inside still | |||
Juerd | CPAN is really great, but every Perl person you meet can give you a list of things it should improve on, but it cannot improve for it's monolithic. | ||
ingy | autrijus: help me create freepan in taiwan | ||
we can use foundry for much | |||
Juerd | autrijus: v6 implies a version, and that's what I don't like | ||
autrijus | that's also what I fear. | 16:34 | |
ingy | bah!!! | ||
Juerd | Maybe a change like going from - to _ is enough to indicate the difference | ||
ingy | that's so silly | ||
lumi | p6- ? | ||
Juerd | Or the version number notation | ||
autrijus | mmm p6. | ||
ingy | after 3 days, EVERYONE WILL GET IT | ||
Juerd | p6 is better than v6, but still includes a version number... | ||
ingy | so it really doesn't matter what it is. just keep it as short as possible | 16:35 | |
autrijus | well for that matter, "Perl6-lib" includes a version number :) | ||
Juerd | If we use a prefix, we will be stuck with that for the next 20 years, even long after perl5's use has dropped to zero. | ||
autrijus | that is not a module name prefix. | ||
it is merely the tarball prefix. | |||
ingy | I agree with Juerd on that | ||
Juerd | Doesn't matter | ||
Perl 6 isn't "Perl 6" years after its release | |||
It will be "Perl" | |||
autrijus | true. but then, we'll have 6PAN/FreePAN | 16:36 | |
and it can drop the prefix | |||
Juerd | You know that will not happen | ||
autrijus | I don't know. ingy is still alive after all | ||
I'd be happy if we can find a better short term solution | |||
than p6-* | |||
ingy | oops, I have to run. I'll code this all up by tonight. | ||
Juerd | Something as simple as defining a format that is incompatible with p5's is enough | 16:37 | |
I'm very tempted to suggest a non-.tar.gz suffix | |||
ingy | autrijus: I have a better short term solution | ||
Juerd | For something that still is .tar.gz, though | ||
autrijus | ingy: pray tell | ||
.par.gz ;) | |||
Juerd | As an example: Debian packages (.deb) are really just ar archives (.ar) | ||
ingy | don't upload to cpan. just have people use your pugs repos for perl6 modules for now. | 16:38 | |
that will buy time to get it right | |||
autrijus | not thinking that scales, though | ||
ingy | try it | ||
lumi | Which makes sure we won't see it in 20 years? | ||
autrijus | so hmm. so instead of applying a PAUSE account | 16:39 | |
apply an openfoundry account | |||
ingy | yes | ||
for now | |||
autrijus | instead of being a pause uploader, become a pugs committer | ||
instead of managing your own release | |||
let pugs release for you | |||
ingy | and we turn that into freepan for mirorring | ||
all of Kwiki is under SVN as well as CPAN, and I don't use CPAN anymore | 16:40 | ||
it is the new way | |||
anyway it buys us a month or two | |||
cls_bsd | ha | ||
clkao | by that time we'll have svkup for mass distribution | 16:41 | |
ingy | really have to run. ttul!! | ||
autrijus | I can see that. | ||
CDybedahl | t/magicals/env.t tests for $TEMP, which is not set on any OS I have running (FreeBSD, Solaris, OSX), so that test fails. Since the test just wants a pre-existing env var, I think $PATH would be a much better choice. | 16:43 | |
autrijus | I think we should just zap that test. | ||
CDybedahl | That works too :-) | 16:44 | |
cls_bsd | let pugs release you # autrijus> let pugs release for you | ||
XD | |||
autrijus | so you folks are ok with the delay tactic ingy proposed? | 16:46 | |
i.e. if you want to write pugs/perl6 modules, just apply pugs committership for now | |||
and put your modules in ext/ | 16:47 | ||
rooneg | as long as it's just a short term solution that seems fine... once pugs starts getting objects and rules we'll need something better though, as module writers will start coming out of the woodwork... | 16:48 | |
autrijus | yup. | 16:49 | |
pjcj | yeah - I think it works short term | ||
cls_bsd | ex/t | ||
ext/ | |||
oops | |||
rooneg | i mean for now it seems like there are a rather limited number of modules people are likely to write anyway | ||
autrijus | well except we're telling people to write imaginary modules | 16:50 | |
but yeah, I think I'll update PA01 to say that. | 16:52 | ||
rooneg | hey, if someone with commit access has a sec, svn:ignore in src/ and ext/Kwid/ could stand to be updated... it'd make my 'svn status' output look so much nicer ;-) | 16:53 | |
autrijus | can you do it yourself? | 16:54 | |
rooneg at electricjellyfish.net ? :) | |||
rooneg | yep, if you want to give me access ;-) | ||
autrijus | invitation sent | 16:55 | |
rooneg | thanks | ||
autrijus | np :) | ||
welcome aboard | |||
cls_bsd | Failed 11/62 test scripts, 82.26% okay. 46/1071 subtests failed, 95.70% okay. | 17:11 | |
not bad, though | |||
autrijus | huh? | 17:12 | |
it's all pass for me. | |||
what did you do? :) | |||
cls_bsd | make test | 17:13 | |
:p | |||
autrijus | weird... latest openfoundry? | ||
what failed? | |||
cls_bsd | sure, just svk up | ||
hmm | |||
such as line 78,79,81 in 03operator | 17:14 | ||
ok, I should svk up again@@" | |||
rooneg doesn't get any failures either | |||
metaperl | those look like my junction tests (without checking operator.t) | ||
maybe your pugs binary is old... make install did not overwrite my last one and I had a similar problem | 17:15 | ||
do pugs -v | |||
cls_bsd | no, I thought I update t/*, but in fact I didn't :~ | ||
autrijus | pebcak :p | 17:16 | |
cls_bsd | re-make again | 17:17 | |
Not in MANIFEST: t/op/assign.t | |||
Not in MANIFEST: t/op/pipe.t | |||
Not in MANIFEST: t/op/zip.t | |||
so I missed something?_? | |||
rooneg | nah, i think manifest just hasn't been updated in a little while | 17:18 | |
lucs | I think 'nothingmuch' added the pipe and zip tests just a few hours ago. | ||
autrijus | yeah. commits welcome, etc. | ||
cls_bsd | oh, I just afraid it's my own problem :p | 17:19 | |
hcchien | all tests successful for me. :) | ||
john | At revision 467. all OK | ||
cls_bsd | great, now I saw lots of "....ok" | 17:21 | |
Files=1, Tests=1, 1 wallclock secs ( 0.84 cusr + 0.02 csys = 0.86 CPU) | 17:23 | ||
autrijus | t/op/int all passed. | 17:36 | |
lucs | ! | ||
autrijus | committing | ||
lucs | Fantastic! | ||
I love you all! | |||
autrijus | lucs++ # welcome aboard, our 20th committer | ||
r471. | |||
theorbtwo | Going back a little, re package formats... | 17:38 | |
autrijus | yes? | ||
theorbtwo | .tar.gz has the bad side-effect of needing to penetrate more levels before you can get any useful metadata. | ||
offby1 | where should I send a tiny unit test for pugs, which demonstrates a failure? | ||
theorbtwo | How tiny? Just paste it? | 17:39 | |
offby1 | yup, that tiny. | ||
theorbtwo | Paste away, then. | ||
offby1 | excluding the prelude, which you can probably guess: | 17:40 | |
sub modify_readwrite (Int $x is rw) {$x = $x + 1;} | |||
ok (8 == modify_readwrite (7), "read-write parameter can be modified"); | |||
I'm guessing I'm making a mistake somewhere, or failing to understand something, since this is so simple. | |||
When I run it like ``pugs /usr/local/src/pugs-6/t/is_rw.t'', it says | 17:41 | ||
unexpected "s" | |||
expecting ";" or end of input | |||
NonTerm "/usr/local/src/pugs-6/t/is_rw.t" (line 8, column 1) | |||
rooneg | .tar.gz has the benefit of not getting into a huge debate over the virtues of various archive formats ;-) | ||
theorbtwo | Is there a missing ';' at the end of the previous line? | ||
True enough. | |||
But it doesn't leave much for 'file' to recognize. | |||
offby1 | theorbtwo: I don't think so. If I omit the "is rw", it compiles, and then (correctly) fails at runtime. | 17:42 | |
theorbtwo | I'd start by stealing the .deb format, then modifying from there. | ||
(Quite possibly by making the metadata use yaml for starters.) | 17:43 | ||
lucs | I'm pretty much of a Perl6 newbie, but does it make any sense to be able to make '7' writable? | ||
theorbtwo | No, it doesn't, but that's certianly the wrong error message. | ||
lucs | Oh. | ||
autrijus | "is rw" is not parsed. | 17:44 | |
to test it, put it in eval. :) | |||
theorbtwo | Shouldn't the parser just accept is \w+ ? | ||
autrijus | I'm also think that eval_ok and eval_is works | ||
right, that's the idea. it's just not implemented. | |||
so, oil for food, I mean, test for code, as usual :) | 17:45 | ||
offby1 | But I want it to succeed, not fail. Don't I? | ||
theorbtwo | Yeah, it should be a todo test with an eval. | ||
offby1 | oh wait, I think I see the problem. I'm modifying a constant. | ||
ahem | |||
autrijus | I'd be happy if someone can hack Test.pm to add todo_eval_is and todo_eval_ok :) | ||
rooneg proposes tying autrijus to a chair and making him implement is rw. or perhaps given. one of the two ;-) | |||
autrijus | I'll do that tomorrow now I have respectable bandwidth :) | ||
theorbtwo | Back in .tw/~autrijus ? | 17:46 | |
autrijus | yup. | ||
I need to sleep soon. | |||
offby1 | autrijus: I take back my last comment -- the problem is in compilation, not runtime. pugs says | 17:47 | |
unexpected "s" | |||
expecting ";" or end of input | |||
NonTerm "/usr/local/src/pugs-6/t/is_rw.t" (line 8, column 1) | |||
autrijus | hopefully when I wake up there will be proper "is rw" tests :) | ||
offby1: right, because parser doesn't grok traits. | |||
it's to be expected. | |||
offby1 | ok | ||
autrijus | so it sees a "NonTerm". | ||
offby1 | is there a workaround? | ||
rooneg starts looking at adding todo_eval_is and todo_eval_ok | |||
autrijus | which is a facy word to say it's not terminating | ||
offby1: sure, use 'eval' | |||
to test parse bugs, always use eval. | |||
offby1 | I don't want to test parse bugs; I want to test read-writeableness. How can I use "eval" to mean "this paramater is writable"? | 17:48 | |
theorbtwo | The workaround is what you just did: tell the chan that it's not working, get a test case in, and somebody will make the test case pass eventally. | ||
autrijus | offby1: you do this, eg: | ||
eval 'my $sub = sub ($foo is rw) { $foo = 3 }; $sub($x)'; | |||
and then test if $x is 3. | |||
theorbtwo | todo_eval_is(eval 'sub plusplus($foo is rw) {$foo++;} my $x=3; plusplus($x); $x', 4); | 17:49 | |
offby1 | you're expecting that to fail at the moment, right? | ||
theorbtwo | Yep. | ||
autrijus | yup. eval'' makes it fail in a harnessable fashion | ||
journal up. take care, folks. :) | |||
theorbtwo | todo_... tests are for things that you presently expect to fail. | ||
autrijus | zzz & | ||
theorbtwo | Sleep well. | ||
offby1 | gotcha | 17:51 | |
sorje is increasingly fascinated by pugs.. must resist.. exams next week. | |||
offby1 | what's remarkable is how short pugs' source code is. | 17:52 | |
sorje | And the speed of the project is astonishing | ||
offby1 | What's the p6 equivalent of perl5's $@ -- the variable that holds the text from the last exception? | 17:53 | |
statico | sorje: join the club | 17:56 | |
sorje | The burden of a real life. ;-) | ||
Odin-LAP | Fuck real life. | 17:57 | |
Viva la revolucion! | 17:58 | ||
autrijus | offby1: afaik that's unspecced. which may mean it's the same as perl5, or it's all united under $!. ask p6l? (I'm pretty sure it's p6l this time.) | ||
offby1 | autrijus: I see some of the existing tests use `$!', but that's wrapped in an "eval" ,which implies it doesn't yet work. | ||
autrijus | right. | 17:59 | |
theorbtwo | p6l | ||
Odin-LAP | autrijus: Ehrm ... exceptions are pretty well defined, I think. | ||
theorbtwo | (p6l is when you aren't sure what the language is; p6c is when you you have questions about the compilers.) | ||
Odin-LAP | I think Apocalypse 4 tackles them rather verbosely... | ||
offby1 | For playing with pugs, I thought I should confine myself to Synopses and Exegeses. | 18:00 | |
autrijus | A04 covers eval? | 18:01 | |
not seeing it covering eval"". | |||
only eval{} | |||
but my head is dizzy so maybe I'm missing something | 18:02 | ||
offby1: Apoc is actually okay for things not specced in Syn | |||
Exegesis is actually the least normative of the 3. | |||
offby1 | all dem Greek words! | 18:03 | |
theorbtwo | When the Synopses and Apocolapses disagree, it's probably because the Syn has been updated more recently... but Apocs will sometimes cover things that Syns do not, because the Syns are meant to be... well, synopsies. | ||
Odin-LAP | autrijus: No, but it specifies exceptions... :p | ||
And I thought there was no eval {} anymore..? | 18:04 | ||
autrijus | yup there's try{} now | ||
Odin-LAP | Erm. | 18:05 | |
rooneg | does eval have a return value? I'd love to be able to get data out of eval '$x eq $y', for example, without having to construct code and stick it in the string i'm evaluating... | ||
Odin-LAP | YOWCH! | ||
There's lots and lots of talk about exceptions, and how exception handling and stuff should work in Apoc 4 ... almost none of it is in the synopsis... | |||
autrijus | eval does has a retval | ||
rooneg | in that case i need to figure out why my code isn't working ;-) | 18:07 | |
offby1 finds his answer in A04 | 18:08 | ||
rooneg sees the problem... need a way to eval in caller's namespace... | 18:09 | ||
autrijus | ok, $! after eval is implemented. | 18:11 | |
rooneg: hmm. is there a specced way in p6 to do that? | 18:12 | ||
rooneg | i have no idea | ||
autrijus | in pugs we can use caller continuation to do that | ||
but it's not considered proper p6 now | |||
ask around? | |||
rooneg goes to look at the specs | |||
autrijus | r472. now really zzz & | 18:15 | |
btw, darcs and svn.perl.org should now both be synced per minute. | 18:16 | ||
john | r472: src/Prim.hs:284: Variable not in scope: `glob' | 18:19 | |
rooneg | here's an interesting one. $CALLER::foo doesn't play nicely with := | 18:27 | |
sub foo { my $x = "foo"; my $y := $x; bar(); } sub bar { return $CALLER::x eq $CALLER::y; } | |||
in bar when it evaluates $CALLER::y it looks for $x in the local scope, not the caller's scope | 18:28 | ||
nothingmuch | evening! | 19:08 | |
ah, we have a pasteling, how fun | 19:15 | ||
hola stevan | 19:20 | ||
stevan | hola nothingmuch | ||
did you get drunk and dance the other night? | |||
nothingmuch | no | 19:22 | |
we drove an hour | |||
got drunk | |||
saw the line, went back to the car | |||
(driver did not get drunk) | |||
drove to another place | |||
didn't find it | |||
drove back to the first | |||
waited some more in line | |||
helped an idiot who got his jeep stuck in the mud wiggle it a bit | 19:23 | ||
and then went home | |||
disgruntled and looking to make something of the night i started with YAHT | |||
stevan | sounds like lots of fun :) | ||
nothingmuch | since i was drunk i went a little slow, but i got somewhere eventually | ||
stevan | Drunken Haskell :P | ||
nothingmuch | beh | ||
autrijus ows me big time now... | 19:24 | ||
he promised try/catch | |||
and by now i've done a bajillion more tests | |||
i wonder if i can make him sign a contract to implement features i test for | |||
stevan | did you read his journal? he is apparently not in good shape | 19:25 | |
nothingmuch: you did contribute didnt you? | |||
nothingmuch | i did read it | ||
many of luke's commits from today were tests i submitted | |||
zip.t, pipe.t, fixed int.t | |||
then the file server came back up | |||
stevan | excellent | 19:26 | |
nothingmuch | so i could resume real work | ||
stevan | hmm | ||
Prim.hs seems to be broken,.. I cant make the latest | |||
nothingmuch | now i'm back from work and orchestra | ||
so i can get back to fun | |||
but first! coffee beckons | |||
nothingmuch wonders if autrijus could set up a subscription payment link | 19:28 | ||
if forgot how to whip up the URL | |||
lucs | nothingmuch: "work and orchestra" Are you a professional musician? | 19:35 | |
nothingmuch | no | ||
orchestra is my hobby | |||
lucs | Ah. | ||
nothingmuch | just started playing the bass this year | ||
lucs | Cool. | ||
nothingmuch | so i get to play in a little kids thing | ||
my teacher's old teacher organizes it | 19:36 | ||
lucs | What are you guys working on? | ||
nothingmuch | 3 pieces right now | ||
19:36
edgewalk1r is now known as edgewalker
|
|||
nothingmuch | bach's brandenburg symphony, | 19:36 | |
mahler's 3rd symphony | |||
and something i don't know yet | |||
lucs | NIce stuff. | ||
nothingmuch | and i'm too lazy to get up and grab the sheet music to find out what it's called | ||
it's very silly | |||
we have 30 violinists | 19:37 | ||
3 of them boys | |||
3-4 are advanced, and can really get it right most of the time | |||
the rest are at my level, sort of | |||
there's me | |||
lucs | Oh well. I'm sure it's fun anyway :) | ||
nothingmuch | and 3 cellists on rotations | ||
and a recent addition was someone playing a recorder | |||
he is surprisingly good | 19:38 | ||
for his age he seems to understand | |||
more than most | |||
anywho, it's good fun, even though we sound horrible | |||
and i try to take it a bit seriously | |||
at work i'm an integrator and whore-geek | |||
lucs | Were you playing another instrument before the bass? | ||
nothingmuch | when there's something no one else can afford to learn how to do i'm tasked with it | 19:39 | |
guitars | |||
which i still occasionally dabble with | |||
and friends' drums | |||
but not enough to say i play | |||
lucs | The fretless aspect of the bass must be interesting :) | ||
nothingmuch | and piano | ||
i have a fretless fender jazz bass | |||
i consider it a guitar | |||
lucs | Ah, cool. | ||
nothingmuch | it's very different techincally from the double bass | ||
regardless of the arco which is altogether different | 19:40 | ||
lucs | We don't hear of Fender bows, for example :) | ||
nothingmuch | and this time i'm getting tought right too | ||
taught? | |||
yes, speller likes that | |||
well, not only the bowing | |||
the left hand works very differently | |||
i know the notes and where they are, and knew them when i started | 19:41 | ||
but the control is gained quite differently | |||
hmm | 19:42 | ||
do we have anything i can use to truncate a string in pugs? | |||
substr doesn't seem to be there | |||
rules aren't either | |||
stevan | chop and chomp I think are implemented | 19:43 | |
nothingmuch | reverse? | 19:44 | |
stevan | dont know | ||
nothingmuch | ugg | ||
i can probably fake a substr with chop, and array ops | |||
if it returns correctly | |||
chop is not tested | 19:45 | ||
nothingmuch writes | |||
wow, many bugs in chop | 19:51 | ||
my @array = ("Foo", "bar"); | |||
chop(@array) | 19:52 | ||
@array is now eq ("foo ba") | |||
doesn't even work as chop($str, $str2) | |||
ugh! %hash = ( "key", "value", \n ... ) doesn't parse | 19:58 | ||
Khisanth | perl6 still has chop? | 20:08 | |
nothingmuch | why not? | ||
Limbic_Region | but doesn't it have a pohc? (remove first character of a string) | 20:09 | |
integral | character, byte or grapheme? ;-) | 20:10 | |
20:10
buu_sleeping is now known as buu
|
|||
Limbic_Region | code point of course | 20:10 | |
nothingmuch | does anybody have the capacity to fix r472? | ||
Khisanth | nothingmuch: do people really have to remove one character that often that there needs to be an operator for it? | ||
nothingmuch | $! being set after eval fail is broke compilation of Prim.hs | ||
i don't know | 20:11 | ||
shapr | ah, is thatwhat happened? | ||
nothingmuch | i think removing a feature that is not problematic is not a wise choice for backwards compatibility | ||
i use it occasionally | |||
although i use chomp more often | |||
especially on arrays | |||
especially with -F | |||
Khisanth | backwards compatibility and perl6 don't exactly go together considering how many things it breaks | ||
nothingmuch | or rather equivelently oriented programming | 20:12 | |
well, it breaks things around sytnax | |||
or features which really shouldn't be there (formats) | |||
but a basic, unintrusive operator... | |||
beh | |||
i wouldn't really mind it being put in perl6's Scalar::Util | |||
how do i specify which tests to 'make test'? | 20:14 | ||
shapr | How do I run the tests? | 20:18 | |
nothingmuch | 'perl Makefile.pl' | ||
.PL, sorry | |||
shapr | ohh, make test from the line above maybe? | ||
nothingmuch | 'make' to compile | ||
'make test' | |||
or './pugs t/op/test.t' | |||
or 'export HARNESS_PERL=$PWD/pugs' | |||
and then 'prove t/op/test.t' | |||
shapr | ok, I think fixed the the Prim.hs not compiling. | 20:19 | |
nothingmuch | *kiss* | ||
for testing 'my $var is constant' | |||
t/op/is_constant.t? | |||
t/op/is.t? | |||
t/op/container_traits.t? | |||
xerox | Why you haskell people are into perl6 ? | 20:20 | |
shapr | Which Haskell people? | 20:21 | |
nothingmuch | shapr - did you commit? | ||
shapr | No, because I'm using darcs and my local mail agent is broken. But the diff is one line :-) | 20:22 | |
nothingmuch | i gave up on darcs | ||
i'll have to make svk darcs native to be happy | |||
xerox | shapr, you and other I saw, I think. | ||
nothingmuch | using svn now, because i was getting tired of resolving conflicts from my own patches | ||
what is the fix? | |||
shapr | put " glob <- askGlobal" on line 284 | 20:23 | |
of Prim.hs | |||
nothingmuch | beh! | 20:24 | |
the last stament in a do construct must be an expression | |||
shapr | I like darcs, it's easy to start with, and easy to use. And I like hacking on Haskell apps, so that's nice too. | ||
nothingmuch | line 285 | ||
darcs is wonderful | |||
i wish i could use it everywhere | |||
shapr | I'm using the darcs repo, maybe svn has something different? | ||
nothingmuch | but for that svk needs to be multi backend and two way | ||
maybe i'm stupid and i mucked something up | 20:25 | ||
ah | |||
spaces vs. tabs | |||
lets see if that fixes compilation | |||
shapr | I never use tabs. | ||
buu | tabs! | ||
Tabs are <3 | |||
nothingmuch | nonono | ||
don't start please | |||
i won't be able to ask questions! | 20:26 | ||
buu | shapr: If you would just use tabs, all your problems would go away! | ||
nothingmuch | huh? | ||
src/Prim.hs:288: Warning: Defined but not used: glob | |||
buu | Recently I was poor and living on the streets, so I started to use tabs. Now I make 250 grand a month! | ||
nothingmuch | oh | ||
that's from 2 lines down | |||
shapr | Yah, I dunno what's up with that, but the tests pass. | ||
nothingmuch will remove the line and see what happens | 20:27 | ||
tests still pas | 20:28 | ||
i'll ci your fix with that line commented out, how does that sound? | |||
shapr | sure | ||
Are there failing tests that I can attempt to implement? | 20:30 | ||
nothingmuch | grep -r 'todo_' t | ||
stevan | Is Prim.hs is still broken? | ||
shapr | ah | ||
nothingmuch | stevan: shapr fixed it | ||
i'm committing | |||
as soon as make test finishes | |||
i would be very very happy if you do t/base/given.t | 20:31 | ||
but i think that requires smartmatch | |||
stevan | nothingmuch: ok | ||
nothingmuch | hola orb | ||
stevan | nothingmuch: if I do t/base/given.t? the haskell for it? | ||
nothingmuch | shapr: maybe more urgent: t/op/int.t | ||
stevan: sorry, i didn't understand what you meant | 20:32 | ||
theorb | Hm, has the fix for the src/Prim.hs:284 not landed yet, or is there a problem with my SVN? | ||
stevan | nothingmuch: me either :) | ||
nothingmuch | i'm committing as i type | ||
stevan | theorb: nothingmuch is still testing it | ||
shapr tries to figure out how to enable one test at a time. | 20:33 | ||
nothingmuch | shapr - 'export HARNESS_PERL=$PWD/pugs' | ||
then use 'prove' | |||
rooneg | shapr: just run ./pugs t/path/to/foo.t | ||
nothingmuch | or just ./pugs t/test.t | ||
shapr | ah | ||
nothingmuch | committed. | ||
shapr++ | |||
shapr | But, I want to run all the tests, and add one new failing test. | 20:34 | |
stevan | prove t/* | ||
nothingmuch | make test will test everything | ||
prove t/ will work with HARNESS_PERL set correctly | |||
(make test just sets HARNESS_PERL before running Test::Harness, which prove is based on, btw) | |||
stevan: that won't run nested tests, and will run editor backups, etc | |||
shapr | This is my first time using anything Perl since '98 or so. | 20:35 | |
nothingmuch | prove -r t/ will run stuff recursively | ||
theorb | Welcome back, shapr. | ||
shapr grins | |||
buu | shapr: I'm so sorry! | ||
nothingmuch | hmm | 20:36 | |
$! is not really set to the value of die "" | |||
is that a problem? | |||
it contains it | |||
die "foo" | |||
$! eq 'Verror "foo" (......) | |||
anybody want to rule for "my $var is constant" test? | 20:37 | ||
otherwise i'm committing as t/op/is_constant.t | |||
as that makes the most sense for me | |||
theorb | Hm, well, makes more sense then any existing directory, but t/var/is_constant.t might make more sense. | 20:38 | |
rooneg | might as well. it can always be renamed later if someone doesn't like that name. | ||
nothingmuch | i've heard of 'is' being an operator | 20:39 | |
shapr | I really enjoy test-driven-development. This is the best way to have specifications. | ||
nothingmuch | what's more, since this is testing perl6 in perl6, to test we need perl6 | ||
theorb | Is can certianly be an operator; however the interesting part is the behavior on the variable, not the operator. | ||
nothingmuch | so tests tend to create themselves very very rapidly | 20:40 | |
ok, good point | |||
theorb | s/on/of/ | ||
nothingmuch | var/constant is an oxymoron though ;-) | ||
theorb | And? Never stopped us before... | 20:41 | |
shapr | nothingmuch: both t/op/int.t and t/base/given.t appear to pass. | ||
nothingmuch | shapr - run them with './pugs t/op/int.t' | 20:42 | |
this will show you 'not ok blah blah # TODO | |||
this means we know it will fail | |||
so this is ok | |||
once the feature is implemented you get 'ok ... # TODO' | |||
which is an error | |||
(unexpected success) | |||
so you correct the test | |||
shapr | Hm, they all say ok. | 20:43 | |
nothingmuch | so maybe it was fixed | ||
did you update? luke committed this about 12 hours ago | 20:44 | ||
shapr | Ah, given has TODOs | ||
lucs | I think int() was fixed a bit earlier. | ||
autrijus++ | 20:45 | ||
nothingmuch | oh my | ||
even based on his log messagve | |||
he deserves another donation | |||
journal entry | |||
does substr remain generally unchanged? | 20:47 | ||
theorb | Hmm? | 20:52 | |
nothingmuch | should substr in generally work the same way? | ||
theorb | I don't recall anybody saying it was changing (but that doesn't mean much). | 20:53 | |
nothingmuch | googling didn't help | ||
theorb | It's used in S09 without mentioning changes, so I'd assume it works the same. | 20:54 | |
nothingmuch | that's the only thing i found | 20:56 | |
it does look the same | |||
beh | |||
someone can change the test later | |||
theorb | Ja. | ||
shapr | das machst spaĆ | 20:57 | |
theorb shouldn't use random bits of German, because it makes people asusme that he actually speaks it. | 20:58 | ||
nothingmuch | =) | ||
shapr | ich habe keine ahnung! | ||
nothingmuch | how are you gettting along with it? | ||
shapr | I'm from a little town in Alabama. | 20:59 | |
My german isn't that great. | 21:02 | ||
nothingmuch | mine is non existent | 21:03 | |
lumi | What's an ahnung? | ||
nothingmuch | my grandmother still doesn't forgive me | ||
she's austrian | |||
orb moved to germany recently, so he should know some by now | |||
lumi | I speak twenty seven or so random words of German | ||
shapr | lumi: idea or suspicion, "aning" in Swedish. | ||
theorb | I know a very little. | ||
nothingmuch | my german was very embarracing for my parents | ||
shapr | "Jag har ingen aning." is the same thing in Swedish. | 21:04 | |
nothingmuch | i spoke only hebrew all the time | ||
except for once | |||
at my aunts wedding | |||
lumi | Not "inte"? | ||
nothingmuch | when i pointed to the cross (a very modern, metallic kind of cross) | ||
and said 'ima, tiri' (look mom), 'et ha flukzoig haze' (at that airplane) | 21:05 | ||
airplane was, ofcourse, in german | |||
theorb | Ooops. | ||
nothingmuch | the only word i ever did speak spontaneously, | ||
shapr | Nah, "ingen aning" is "no clue" whereas "Jag har inte aning" would be "I have not clue" | ||
lumi | Fluegzeug? | ||
nothingmuch | i guess | ||
i don't know how to spell in german either | |||
(and you know it, lumi) | |||
lumi | I'm just guessing though | ||
I can spell, I just can't speak :P | |||
theorb asks Jess how to spell it. | 21:06 | ||
theorb can't even spell in English. | |||
nothingmuch goes wild with ref to lvalue in substr | |||
shapr | I wasn't exactly born on the bayou, but I was born in Selma, Alabama. I spent 27 or so years living in the USA. | 21:07 | |
theorb | Flugzeug, apparently. | ||
lumi | You should've said Kreutze (I think it's spelt) | ||
A friend of mine is always listening to Bach's passions, so he knows all those sorts of words | 21:08 | ||
theorb | Ah, Selma, famous for being the birthplace of much of the civil rights movement. | ||
...kicking and screaming. | |||
ingy | which svn repos are people using now? | ||
nothingmuch | svn.openfoundry.org | ||
theorb | Kreuz, sayth the Jess. | ||
nothingmuch | i do, anyway | 21:09 | |
shapr | My mother was working at the Public Library in Birmingham when the 'Race Riots' happened. She heard about it on the radio and looked out the front window. She said she saw about fifty people yelling, but that wasn't quite as many as the radio claimed. | ||
nothingmuch | anybody up to date with recent bleadperl fixes to substr lvalue? | 21:10 | |
theorb | Odd... | 21:24 | |
sub foo { my $a = 2; } say foo(); | |||
...gives me bool::true | |||
...and for some reason I seem to be stuck in ? mode. | 21:25 | ||
nothingmuch | t/op/substr.t committed | 21:26 | |
someone please look at it | |||
i converted it to to perl5 | |||
then made sure it passed, and converted back | |||
hola larsen | |||
larsen | nothingmuch: Hello. | ||
theorb | Allo, larsen. | 21:27 | |
Why all the evals? Is substr() not even parsed as an as-yet-unknown sub? | 21:28 | ||
nothingmuch | it's an unknown sub | 21:29 | |
it barks looking for the proto | |||
ugg | |||
what's $/ in p6? | |||
s/proto/signature/ | |||
theorb | Hmm, we have eval '', but not try {} ? | 21:30 | |
nothingmuch | no | ||
that was the first test i gave | |||
autrijus promised to add it | |||
but it requires given | |||
which we don't have either | |||
so i submitted a test for that to | |||
o | |||
that needs smart match | |||
it needs $! | 21:31 | ||
etc etc etc | |||
theorb | Being made into an attribute of the FH, I think. | ||
nothingmuch | hmm | ||
theorb | Hmm, try doesn't need any of that; catch does. | ||
nothingmuch | so when you chomp a string | ||
theorb | Objects would be a great goodness. | ||
nothingmuch | right, but the task is still daunting | ||
i'm bugging autrijus on it daily | 21:32 | ||
theorb | You don't have to chomp strings generally... just read them, and they should come chomped for you. | ||
Or at least, that was the theory... | |||
At some point. | |||
nothingmuch | there's a chomp operator | ||
so i'd like to test it ;-) | |||
theorb | I really need to start re-reading the synopses. | ||
justatheory | hrm? | ||
theorb | I read them all when they came out... but it's been quite a while, and there's been updates. | 21:33 | |
I no longer remember what was set in silly-putty, and what is just something Larry was throwing around in an email or two, but decided against. | 21:34 | ||
nothingmuch | perlbot, nopaste? | ||
perlbot | Paste your code here and #perl will be able to view it: sial.org/pbot/perl | ||
pasteling | "nothingmuch" at 192.168.2.16 pasted "chomp test" (3 lines, 136B) at sial.org/pbot/7932 | 21:35 | |
nothingmuch | is this worth anything? | ||
theorb | Do they pass? | 21:36 | |
nothingmuch | yes | ||
theorb | Donno. I thought the API of chomp was getting changed, but that may have been completely idle fantasy. | ||
nothingmuch | i think it's valuable as just a flag that gets raised if something changes | 21:37 | |
forcing the person changing chomp around to fix the test too | |||
although i don't know how meaningful that test is | |||
theorb | Hmm, the non-symetery of -- vs ++ is annoying to me. | ||
nothingmuch | -- vs ++? | 21:38 | |
autoinc and autodec? | |||
theorb | Comment and list concat. In haskell. | ||
nothingmuch | ah | ||
heh | |||
i didn't notice that | |||
any one care to vote whether to add chomp.t or not? | 21:39 | ||
theorb | If nothing else, it serves as a bit of a reminder that it's underspecified. | 21:40 | |
...when somebody does a diff in the morning. | |||
nothingmuch | hmm | ||
theorb | Though if it's really unspeced, put it in the proper dir. | 21:42 | |
Hmm? One of your substr tests unexpectedly succeeded for me. | 21:43 | ||
nothingmuch | www.perl.com/pub/a/2004/03/p6pdiges...40314.html | ||
see Mutating methods | |||
huh? | |||
crap, i forgot a plan for it | 21:44 | ||
theorb | t/unspecced is where tests for behavior that isn't part of any Syn, etc, are supposed to go... I think. | ||
nothingmuch | oh, crap | ||
i see | |||
nothingmuch was too trigger happy | 21:45 | ||
wait, that shouldn't happen | |||
lines 44, 45 | |||
the eval should just die | |||
and $r remain undef | |||
i'll move chop.t to unspecced too | 21:49 | ||
i'll also add t/op/readline_chomped.t | |||
based on exegesis 02 | 21:50 | ||
theorb | Cool. | ||
nothingmuch | blammo | 21:52 | |
nothingmuch continues trying to unit test exegesis 02 example | 21:54 | ||
FOAD | Hi. | 21:58 | |
nothingmuch | hi, FOAD! | 21:59 | |
theorb | Hello, man with name not expandable in mixed company. | ||
nothingmuch | shift+f | ||
<tab>? | |||
oh | |||
FOAD | Hi nothing, orb. | 22:00 | |
shapr | eff the ineffable | ||
FOAD | Meh, it's something else completely. | ||
nothingmuch | google define: foad says nothing | ||
nothingmuch has no wtf program | |||
theorb | Fuck Off And Die. | ||
nothingmuch | ah | ||
FOAD | I'm shocked. | ||
theorb | I did that earlier. 240V hurts! | 22:01 | |
nothingmuch | 240 is much worse than 110 | ||
when we lived in the US i got zapped once | |||
it wasn't /that/ bad | |||
but here i got a burn | |||
beh | 22:04 | ||
nothingmuch needs help with exegesis 2 example | |||
anybody care for subetha fun? | |||
i've always wanted to try it | |||
theorb | subetha? | ||
nothingmuch | google for sub-etha-edit | 22:05 | |
it's a collaborative editor thingy | |||
lumi | Okie | ||
I'm not sure what that was | |||
theorb | Ahh. | ||
lumi | But I'd love to try it | ||
theorb | It does sound kind of nifty. Should try it with Jess some time. | 22:06 | |
nothingmuch | you use macs, orb? | ||
theorb | Nope. | ||
It's mac-specific? | |||
nothingmuch | so...? | ||
lumi | For now it seems so | ||
theorb | Sad. | 22:07 | |
nothingmuch | maybe you can get them to port it to gnustep | ||
lumi - when netstat is slow, do 'netstat -lan' | |||
easy mnemonit | |||
c | |||
i should have PMed that, sorry | 22:08 | ||
crysflame | .g subethaedit | ||
there's a kwiki plugin for interacting with subethaedit, iirc | 22:09 | ||
nothingmuch | uhuh | ||
theorb | Hmm? The other way around makes sense...? | ||
nothingmuch | anybody interested is welcome to try and edit woobling.org | 22:12 | |
theorb | Hm, I think I need a dead-tree version of YAHT. | 22:14 | |
I want to hack pugs, but I'm not sure where to start. | |||
nothingmuch | just start with YAHT | 22:15 | |
it's really simple | |||
i was drunk and i got pretty far | |||
theorb | I did, and it is. | ||
nothingmuch | bugging the eyes? | ||
taking up screen space? | |||
theorb | But I get partway and get distracted; that ha[[ens to me a lot less with dead-tree. | ||
nothingmuch | ah | 22:16 | |
nothingmuch asks to duplex print | |||
or print a chapter, then when done, print the next one on reverse side | |||
theorb wishes he still had access to a university printer of some sort. | |||
lumi | What/where YAHT? | ||
theorb | (Paying for ink-jet ink)-- | ||
perlbot, YAHT? | 22:17 | ||
lumi | . . Haskell Tutorial? | ||
nothingmuch | laser printers++ | ||
is anyone less of a perl-6 grasshopper and more of a perl-6 chicken going to help lumi and I out? | |||
s/I/me/ | |||
theorb | perlbot, define YAHT Yet Another Haskell Tutorial www.isi.edu/~hdaume/htut/ | 22:18 | |
Hmm? What are you looking for? | |||
nothingmuch | hola luqui | ||
Khisanth | YAHT is ... | ||
nothingmuch | to actually get the exegesis 2 example sort of working | ||
theorb | YAHT is Yet Another Haskell Tutorial -- www.isi.edu/~hdaume/htut/ | ||
Khisanth | perlbot YAHT is Yet Another Haskell Tutorial -- www.isi.edu/~hdaume/htut/ | 22:19 | |
perlbot | added YAHT to the database | ||
Khisanth | perlbot: YAHT? | ||
perlbot | Yet Another Haskell Tutorial -- www.isi.edu/~hdaume/htut/ | ||
theorb | Thanks, Khisanth | ||
luqui | hola nothingmuch | ||
Khisanth | I think it also has "is also" | ||
too bad there isn't an universal irc bot interface :) | 22:20 | ||
crysflame | depends on what you consider universal :) | ||
working on getting purl in here.. if i set up locking on her factoid databases, it might just happen. | 22:21 | ||
Khisanth | well they are all very similiar but different enough that commands that work with one will not work with another | ||
lumi | Which is intentional | 22:22 | |
theorb | Hmm, we still need some literals: inf, nan, and '...'. | 22:24 | |
nothingmuch | isn't ... pretty much a synonym for 'die "this is not yet implemented"'? | ||
theorb | Yes. | ||
(At runtime; at compile time in the presence of a pragmata.) | 22:25 | ||
Is there any document on what tests belong where? | 22:26 | ||
luqui | theorb: what at compile time? | 22:27 | |
theorb | IIRC, there's supposed to be a pragmata that makes any use of the ... thingy die at compile time. | ||
luqui | uh no | 22:28 | |
you prototype with ... | |||
so the pragma would be 'no prototypes' | |||
which is just silly | |||
theorb | Um, 'no prototyping' makes more sense to me. Or 'use production'. | ||
luqui | I mean prototypes like Perl5's 'sub foo($$);' | 22:29 | |
is 'sub foo($x, $y) {...}' in perl 6 | |||
theorb | I know; prototype is a somewhat overloaded term. | ||
luqui | it just doesn't make any sense to disallow ... at compile time. you wouldn't be able to predeclare anything. | 22:30 | |
theorb | That's a special use of the yaddayaddayadda operator. | ||
Er, special term. | 22:31 | ||
luqui | oh, so you mean anywhere but in a {...} it would be disallowed | ||
that makes a bit more sense | |||
theorb | Bah, groups.google.com is broken (at least for me)... but the only hit it comes up with for "yadda yadda yadda" pragmata is mine, so it's probably just a combination of bad memory and wishful thinking. | 22:33 | |
luqui | yeah, I didn't remember anything about it... | ||
theorb | Oh, wait, now I'm seeing one by you, but google won't show it to me. | 22:34 | |
luqui | there is no group perl-perl6-language | ||
stupid ggroups | |||
lumi | That needs tr/-/./ then | 22:35 | |
luqui | ah, doing that in the address bar makes it work | 22:36 | |
afbach | pardon - may I ask a question about t/03operator.t tests | 22:38 | |
theorb | Yes, you may. In fact, you have permission to ask any question you like about pugs. | 22:39 | |
afbach | if I change the '>' to '<' on one test (all(@) > any(@) pugs | 22:40 | |
fails to parse it 'unexepcted 'o' | |||
Sorry, I'm really new to IRC but I hoped it was the best way to get a quick answer. | |||
luqui | afbach: I'm working on that problem right now | 22:41 | |
the problem is that it's parsing < as the beginning of a subscript | |||
afbach | Hmm, and "<=" choked it too, but the 'all infix op' test worked w/ a '<' | 22:42 | |
Thanks, glad its a 'known' bug - I have to go start the grill for dinner | 22:43 | ||
nothingmuch | luqui: is that tested? | 22:45 | |
luqui | it's a recent introduction | ||
so no | |||
nothingmuch | i'm creating t/syntax | 22:46 | |
theorb | (Also known as eval STRING R Us. | 22:47 | |
nothingmuch | hah | 22:48 | |
theorb wonders if that's the right place to stick todo_is(eval 'my Int $i; $i=42;', 42, 'my indirect object types'); | 22:49 | ||
nothingmuch | my int is more than syntax, methinks | ||
theorb | It is more then syntax, yeah, but the syntax is the first bit of it. | 22:50 | |
nothingmuch | hmm | ||
so you argue anything that is not yet parsed correctly should be put in t/syntax first | |||
and then moved to t/(op|base|...) when ready? | |||
theorb | Hmm... yeah, on second thought, that doesn't make all that much sense. | ||
nothingmuch | (and possibly not yet implemented correctly?) | ||
svn mv t/op/assign.t t/syntax/decl_vs_assign_prec.t ? | 22:59 | ||
should 'make test' use 'prove -r' instead of hard coded test list generated by Makefile.PL? | 23:02 | ||
theorb calls it a night. | 23:04 | ||
shapr calls it a waste of brain cells and looks for the alcohol. | 23:05 | ||
nothingmuch | anybody want to review a test of control blocks? | 23:27 | |
buu | nothingmuch: Sounds like satan. | 23:28 | |
nothingmuch | uhuh | ||
most is commented out | 23:29 | ||
because it's not parsed yet | |||
hola stevan | 23:31 | ||
given array @foo | 23:33 | ||
whose elements are array refs | 23:34 | ||
[ $var, [ @array ] ] | |||
+@foo[1][1] will yield the number of elems originally in @array | |||
right? | |||
luqui: could you please see a nasty test i wrote, tell me if it's ok? | 23:36 | ||
uh | 23:39 | ||
my (@array, @other); | |||
todo_is(+@array, 0, "array has nothing in it") | |||
if my (@array, @other) = (), it is 0 | |||
svn mv t/op/assign.t t/syntax/decl_vs_assign_prec.t | 23:56 | ||
oops | |||
nothingmuch.woobling.org/pugs/t/bas...l_blocks.t | |||
someone please post feedback |