Pugs 6.2.6 uploaded by cpan-upload.p6! | pugscode.org/ <Overview Journal Logs> | pugs.kwiki.org | paste at sial.org/pbot/perl6 Set by integral on 2 June 2005. |
|||
Limbic_Region | in any account - she isn't finished mowing the lawn yet - so it looks like I get to keep "playing" | 00:00 | |
and yes - she is the one that does the yard work, takes out the trash, etc (100% maintenance of the house) | 00:01 | ||
00:01
batdog is now known as batdog|gone
|
|||
theorbtwo | Yeah, I'm horrible. | 00:02 | |
Jess works /and/ maintains the place. | 00:03 | ||
(Mostly.) | |||
Limbic_Region | I suspect that we will have hords of lamdaheads after hw2005 | 00:06 | |
I don't understand any of the haskell code, but I can fully comprehend the impressiveness in the text that follows | 00:07 | ||
geoffb | It's mildly amazing that he has said so much, and yet has so much left to write | 00:09 | |
Limbic_Region | well - he is in a bit of a catch-22 | ||
the speed of pugs development necessitates rewriting while writing | 00:10 | ||
geoffb | Any xchat users here? | 00:11 | |
kelan | irssi for life! | ||
crysflame has defeated irssi for the first time | 00:12 | ||
kelan | beat it into submission? | ||
crysflame | persuaded it to do as i request | ||
it's /save didn't put chatnet = ""; on the servers | |||
theorbtwo | chatnet? | 00:13 | |
crysflame | code word for "the object that has my network-specific nickname" | ||
theorbtwo | Any lambdaheads around? | 00:16 | |
instance Value [Word8] where fromval = ... is kicking my ass. | |||
Limbic_Region | geoffb - in reading it, it looks like the places that need to still be written are there as stubs | ||
theorbtwo | I've got all the others converted to fromVal from doCast, but I can't figure out [Word8], mostly because I can't figure out how to get the individual bits out. | ||
geoffb | Limbic_Region, nodnod . . . that's how I knew how much was left to write (approx.) | 00:17 | |
ninereasons | geoffb, I'm using xchat, but I don't really know what I'm doing :-) | ||
geoffb | ninereasons, heh | 00:18 | |
theorbtwo is using irssi, but doesn't really know what he's doing either. | 00:19 | ||
kelan | yeah, i use irssi but i mostly just type in stuff and it sends them | 00:21 | |
geoffb | kelan, I used irssi once or twice, and that's about the level I was at. discoverable-- | ||
kelan | i don't have anything complicated i want it to do, so it works out | 00:22 | |
gaim can do irc. i actually liked the interface quite a bit, but i *hated* not being able to just hit the up arrow to get the last line i'd typed | 00:23 | ||
geoffb really hates undiscoverable interfaces with poor docs (or at least they were at the time) | |||
theorbtwo | kelan: control-up. | ||
kelan | oh | ||
theorbtwo | discoverable++ discoverable++ | ||
kelan | but! | ||
theorbtwo | Yeah, undocumented interfaces suck. | 00:24 | |
kelan | when you tab-complete a nick, it doesn't put a colon at the end | ||
theorbtwo | I discovered that by accident. | ||
I prefer it not putting anything after it, because sometimes I want a comma, sometimes a colon, sometimes a space, sometimes a period... | |||
kelan | i mostly just want a colon if the nick is the first word or a space if not, which is what irssi does | 00:25 | |
theorbtwo | Hm, so it does. | ||
I mostly want a comma. | |||
If I'm going to use the direct address, I'm going to use it correctly. ;) | |||
kelan | i think you can change it. but don't ask me how:) | ||
awwaiid | use the source, luke | ||
er | 00:26 | ||
kelan | or ask in #debian! | ||
awwaiid | hah | ||
kelan | thats what i usually do for linux questions | ||
i do actually use debian, so i feel justified | |||
geoffb | kelan, asking in #debian is a true roll of the dice. | 00:27 | |
theorbtwo | awwaiid! | ||
#debian has been pretty crazy the last few days, for rather obvious reasons. | 00:28 | ||
geoffb | I rarely get a good answer from there, but it may be just the type of questions I ask. The most useful responses I get are often "um, try this other channel" | ||
kelan | apparently the answer is /set completion_char | ||
geoffb | theorbtwo, I believe it! | ||
kelan | theorbtwo, test | ||
it works! | |||
theorbtwo | Hmmpf, setting it to "" just results in... odd, it changes it per-network... anyway, in theorbtwo"", which was not the effect I was going for. | 00:31 | |
geoffb | Why does pugs in interactive shell mode fail on things that work when it is run on a file instead? | ||
kelan | geoffb: its more fun that way | 00:32 | |
geoffb | I know that interactive mode not only runs the code, but also displays the return value -- that's not what I'm talking about. I'm talking about erroring on code that runs correctly in non-interactive mode | 00:33 | |
geoffb rolls his eyes at kelan | |||
theorbtwo | geoffb"", can I get an example. | ||
geoffb | Something deep must be different between them. | 00:34 | |
kelan | theorbtwo: you can set it like this: `/set completion_char ` (note two spaces after) and it will set it to space | ||
but then you get this `nick ` on completion | |||
geoffb | theorbtwo, give me a sec to minimize the test case | ||
theorbtwo | kelan, I don't want a space, generally... ah, well, /set completion_char , is closer to what I want, at least. | ||
Limbic_Region | ok - lawn has been mowed | 00:35 | |
guess it is time for me to go | |||
TTFN all | |||
geoffb | theorbtwo: | ||
#!/usr/bin/pugs | |||
use File::Basename--perl5; | |||
our &basename := File::Basename.can('basename'); | |||
say basename('/this/is/a.test'); | |||
theorbtwo | geoffb, I can't run that example at all, as perl5 embedding is broken for me. | 00:36 | |
geoffb | It prints a.test when run as a file; pasted into pugs interactive mode, it errors, twice | ||
theorbtwo | Blasted include files. | ||
geoffb | theorbtwo, BLEAH | ||
theorbtwo | :r | 00:37 | |
Whoops. | |||
geoffb | Anyone else have p5 embedding working? | ||
theorbtwo | I should get a feather account. | 00:38 | |
geoffb | theorbtwo, definitely | ||
Juerd, is feather's pugs built with embedding? | |||
right, middle of the night in Europe, forgot | 00:40 | ||
theorbtwo | 2:50 AM. | 00:47 | |
I should probably get to bed soon. | |||
My work is so close to the point where I can convivebly check it in without breaking the entire world, though. | |||
geoffb | Grrrr, Alt-4 != Alt-F4 | 00:48 | |
theorbtwo | .oO(Windows users.) |
00:49 | |
geoffb | theorbtwo, what are you working on? | ||
theorbtwo, nope. Gnome defaults. | |||
theorbtwo | Getting rid of doCast in favor of fromVal. | ||
geoffb | theorbtwo, . . . which would gain us locality for cast failures? | 00:50 | |
theorbtwo | Yep. | 00:53 | |
geoffb | THANK YOU | ||
00:59
fibonaci is now known as luqui
|
|||
meppl | gute nacht - good night | 00:59 | |
theorbtwo | G'night, meppl. | ||
You're up quite late. | 01:00 | ||
meppl | ;) | ||
theorbtwo | (Assuming you are in germany.) | ||
Allo, Luke. | |||
luqui | hello | ||
meppl | i am | ||
*zZzZ | |||
macGuy | what is the proper way to end a subroutine in a foreach loop | 01:16 | |
luqui | what do you mean? | 01:17 | |
vcv- | return; ? | ||
macGuy | ok | ||
im in a foreach loop and i dont want it to continue if ive already done all that i need to do | |||
so i want it to just break out | |||
luqui | yeah, you can return out of the sub | ||
or you can 'last' out of the loop | 01:18 | ||
macGuy | thanks | ||
im going to use last | |||
theorbtw1 | last exits the for loop, return exits the subroutine. | 01:24 | |
If the for loop is the last thing in the sub, then they are equiv, but in the general case, they mean quite different things. | |||
geoffb | macGuy, 'next if condition;' and 'last if condition;' are very valuable idioms . . . worth using often, because they are so strongly self-documenting | 01:33 | |
hmmm, I wonder if pugs has working labels . . . ? | |||
?eval my @foo = <1 2 3>; my @bar = <a b c>; my $foo = '4c'; OUTER: for @foo -> $outer { for @bar -> $inner { $foo = $outer ~ $inner; last OUTER if $outer eq '2' } } $foo; | 01:36 | ||
evalbot6 | Error: unexpected "O" expecting ";", statements or end of input reserved word or Only one invocant allowed | ||
Chewie[] | !seen Aankhen`` | ||
geoffb | seen Aankhen`` | ||
jabbot | geoffb: Aankhen`` was seen 5 hours 2 minutes 30 seconds ago | 01:37 | |
geoffb | Hmmm, judging by the evalbot6 output, I'd guess not . . . | ||
01:38
theorbtw1 is now known as theorbtwo
|
|||
theorbtwo | I think it has labels, but only for goto. | 01:42 | |
?eval my $x; goto FOO; $x='a'; FOO: $x~='b'; $x; | 01:43 | ||
evalbot6 | Error: unexpected "F" expecting ";", statements or end of input Only one invocant allowed | ||
theorbtwo | ?eval my $x; goto 'FOO'; $x='a'; FOO: $x~='b'; $x; | ||
evalbot6 | Error: unexpected "F" expecting ";", statements or end of input Only one invocant allowed | ||
theorbtwo | Or not. | ||
QtPlatypus | I know that goto isn't implemented. And I expect it to be very low on piroties. | 01:45 | |
kelan | ?eval chars( "Ā»" ); | 01:46 | |
evalbot6 | *** unexpected ( or "(" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input at -e line 4, column 4 | ||
theorbtwo | ?eval "Ā»".chars | 01:48 | |
evalbot6 | *** unexpected ( or "(" expecting term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or end of input at -e line 4, column 4 | ||
theorbtwo | I suspect somewhere in the p6->p5->p6 cycle, there are encoding issues. | 01:49 | |
kelan | why is it going through p5? | 01:50 | |
theorbtwo | I'm not quite clear on that myself. | 01:51 | |
Something about getting the safe mode, and maintaining persistance at the same time. | |||
02:43
batdog|gone is now known as batdog
|
|||
pasteling | "qtplatypus" at 202.7.69.25 pasted "This makes makes my copy of pugs die with a bus error. What about you?" (11 lines, 223B) at sial.org/pbot/10867 | 03:20 | |
QtPlatypus | Can someone look at that code and see if it causes your copy of pugs to die. | 03:23 | |
Hi tall_man | |||
03:33
batdog is now known as batdog|gone
03:45
batdog|gone is now known as batdog
|
|||
QtPlatypus | batdog: Can you test my code and see if it segfaults your pugs? | 03:58 | |
Khisanth | QtPlatypus: do you have the latest pugs? | 04:32 | |
QtPlatypus: hmm that would require parrot wouldn't it? | |||
svnbot6 | r4466, putter++ | Created docs/other/rules_bootstrap | 04:38 | |
QtPlatypus | Khisanth: Yes I have. | 04:46 | |
svnbot6 | r4467, putter++ | hw2005.txt: 6 spelling corrections. (not UK-isms - doublechecked with google site:uk word :). | 05:12 | |
masak | question: in Apocalypse_Now.spork, the word "DWIMer" is used. Isn't "DWIMmier" more correct? Or is "DWIMer" accepted usage? | 05:28 | |
both are kinda awkward :/ | |||
I guess the problem I have with "DWIMer" is that it sounds more like a noun to me | 05:32 | ||
mugwump | DWIMier is what I'd use | ||
masak | no double "m"? | ||
mugwump | nah | ||
it's an acronym | |||
masak | true | ||
should I change it, or should I leave it alone? I don't want to ruin someone's talk :) | |||
mugwump | you could hyphenate it | 05:33 | |
masak | "DWIM-ier"? | ||
mugwump | sure | ||
masak | yuck :) | ||
luqui | follow english inflection rules. DWIMmier is the most correct | 05:34 | |
if you want to emphasize its double role as a verb and an acronym | |||
masak | I have vague memories of people using it that way | ||
luqui | I think I do | ||
masak | including @Larry | ||
mugwump | groups.google.co.uk/group/perl.perl...this+group | ||
sure, "dwimmier" is fine | 05:35 | ||
masak | so, should I change it or leave it alone? | ||
I always become a bit nervous with all these svn powers granted to me :) | |||
luqui | svn doesn't allow users to destroy data | 05:36 | |
masak | I know | 05:37 | |
SamB | perhaps this is the intent of the generous svn access? | ||
so that people will be more carefull in their hacking? | |||
masak | but will someone become happier if I change it, or will I piss someone off? | ||
SamB | you may annoy someone, but probably not "piss off". | ||
mugwump | I'm sure no-one will care, as long as the changelog entry is amusing enough | ||
luqui | there's always svn update -r 1337 if you piss someone off | ||
because the one who gets pissed off has svn powers too :-) | 05:38 | ||
masak | SamB: svn is like hacking where everyone can see you | ||
ok, I'll change it :) | |||
SamB | I was accused pretty nicely of breaking a recent release (though it turned out it was broken before I touched it) | ||
luqui | and our project leader seems to be appreciative of the fact that we're doing work at all | 05:39 | |
even if half of it is wrong | |||
masak | luqui: yes, it's the thought that counts | 05:41 | |
luqui | well, and the fact that it takes a fraction of the time to correct as to write in the first place | 05:43 | |
masak | unrelated question: if i have a cvs repo, can I use either of svn or svk on it? | ||
svnbot6 | r4468, masak++ | After some deliberation, I have dared to change DWIMer into DWIMmier. | ||
r4468, masak++ | I do believe this is the more correct form. I also believe I am a bit | |||
r4468, masak++ | too hung up on grammar sometimes. ;) | |||
masak | one changed line, three lines of comment :) | ||
luqui | masak, you can use svk | 05:44 | |
masak | neat | ||
how? | |||
luqui | and you can use cvs2svn to convert it to a svn repo | ||
masak | hmm... it's not my repo | 05:45 | |
luqui | svk mirror cvs::pserver:.... | ||
masak | luqui: oki, thx | ||
luqui | I just hashed through some problems with that, so you can talk to me if you encounter them | ||
masak | my first problem will be to install svk :) | 05:46 | |
luqui | ahhh | ||
masak | after using svn for some time w/ pugs, i really don't like cvs | ||
luqui | yep. after finding out about svn and reading the user manual, it took me about 10 seconds to decide to convert everything I had to svn | 05:47 | |
masak | lol | ||
luqui | svn is the one of the most beautifully designed piece of software I have ever seen, internally and externally | ||
masak | if one didn't know about the order of things, one would wonder why cvs was ever created | 05:48 | |
what are the main differences between svn and svk? | |||
luqui | afaict, svk is a nice mirroring frontend to svn | ||
(and various other rcs's) | |||
masak | a nice mirroring frontend? whazzat? | 05:49 | |
luqui | it allows you to work on svn repositories while you are offline, and sync up when you come back online | ||
plus, it fancifies working with branches even more | |||
for branches, svk:svn::svn:cvs | 05:50 | ||
but I think svk uses svn on its backside | |||
you can ask more at #svk | |||
I'm just getting started with it | |||
masak | sounds pleasant, in any case | ||
luqui | the only trouble is installation | ||
masak | oh :) | 05:51 | |
luqui | I couldn't install it until I got gentoo, which had a nice ebuild for it | ||
masak | right now I | ||
am svk.elixus.org/?InstallingSVK | |||
I have FC3 | |||
luqui | maybe with the release of 1.0 installation has been made easier | ||
masak | yum is happily working right now with subversion-perl | ||
luqui | yum actually had that | 05:52 | |
? | |||
wow | |||
masak | apparently | ||
luqui | that was the main difference between FC2 and gentoo to me. FC2 had about 1/3 of the packages I wanted, gentoo had 98% | ||
is there an "FC3 unstable" or something like that | 05:53 | ||
that has more packages, but which haven't been tested as much? | |||
masak | dunno, I may have added a few repos to my list | 05:54 | |
make is chugging away happily now | 05:55 | ||
this is so exciting! | |||
luqui is currently building kdelibs | |||
and has been for the past 30 minutes | |||
masak | ah | 05:56 | |
luqui | but I suppose it's not as bad as ghc | ||
masak | perlbot nopaste | ||
perlbot | Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel> | ||
luqui | ?eval say "moo"; | ||
evalbot6 | Error: No compatible subroutine found: "&say" | ||
luqui | ?eval "moo"; | ||
evalbot6 | 'moo' | ||
luqui | ?eval "moo".chars; | ||
evalbot6 | 3 | ||
masak | I just got a test failure and a question "is this reasonable? [Yn]" | 05:57 | |
hold on | |||
luqui | ?eval "foo" ~~ /foo/ | 05:58 | |
evalbot6 | Parrot VM: PANIC: Out of mem! C file src/memory.c, line 45 Parrot file (not available), line (not available) We highly suggest you notify the Parrot team if you have not been working on Parrot. Use parrotbug (located in parrot's root directory) or send an e-mail to [email@hidden.address] Include the entire text of this error message and the text of the script that generated the error. If you've made any modifications to Parrot, please describe them | ||
pasteling | "masak" at 130.238.83.176 pasted "I got a test failure when trying to install svk" (10 lines, 338B) at sial.org/pbot/10870 | ||
luqui | ack | ||
masak | luqui: you crasched evalbot! you bastard ;) | ||
geoffb | </lurk>masak, luqui: as I recall, svk uses *most* of SVN as its backend, but not the working copy library, which the SVK developers (clkao) don't like, and which is apparently a large part of the reason SVN is actually slower than SVK, despite the latter being written largely in Perl instead of C<lurk> | 05:59 | |
SamB | how do you include the text of a script like that? | ||
masak | geoffb: ah, thx | ||
SamB | I mean, you would have to include EVERYTHING that got fed to evalbot6 up to that point, wouldn't you? | ||
QtPlatypus | luqui: regexes his briking in evalbot | ||
SamB: I suspect it was I who killed evalbot :( | 06:00 | ||
masak | QtPlatypus: why do you suspect that? | ||
luqui | masak, the test failure looks reasonable, but go ask #svk | 06:01 | |
luqui & movie | |||
masak | luqui: I'll go with "yes" | ||
Darren_Duncan | fyi, r4465 gave these results with all the default settings and no parrot or perl 5: Failed 24/322 test scripts, 92.55% okay. 280/6143 subtests failed, 95.44% okay. | ||
luqui | yeah, it's not like it's going to go: whoops, a bug, system "rm -rf /" | ||
QtPlatypus | masak: I was testing if eval bot handled subs included in regexps. It was working normally before then. | 06:02 | |
masak | w00t! I now have svk! :D | 06:03 | |
QtPlatypus: so what went wrong? | 06:04 | ||
QtPlatypus | It spat that error. | ||
masak | yes :) but why? | ||
QtPlatypus | I suspect that my code tickeled a bug in the parrot based regex parser. | 06:05 | |
Darren_Duncan | question: I'm already running svn and it seems to work fine ... is there any reason for me to switch to svk? | 06:08 | |
obra | do you ever work on multiple branches or work without a net connection? | 06:09 | |
do you work with Large source trees? | |||
Of the answer to any of these questions is "yes", then svk may be an amazing win for you. | |||
Also "do you hate .svn directories?" | |||
luqui | "do you like ketchup on fries?" | 06:10 | |
Darren_Duncan | currently my answer to all 4 of those questions is 'no' | 06:11 | |
all 5 that is | |||
that said, I may want to work on multiple branches in the future | |||
obra | Oh. do you ever want to keep local commits to repositories you don't have write access to? | ||
Darren_Duncan | I haven't needed to yet | 06:12 | |
obra | ok | ||
Darren_Duncan | to be honest, Pugs is the only project I've used svn with | ||
obra | What do you use for other projects? | ||
Darren_Duncan | my own projects I don't use any formal version control with | ||
I treat each CPAN release like a check-in in a way | 06:13 | ||
and otherwise just make tarred copies of intermediate steps as something to revert to | |||
but I'm also the sole author | |||
I intend to use something like svn when I work on projects with multiple authors | |||
this is just a historical thing, not necessarily a good reason; the main good reason is simplicity | 06:14 | ||
my more immediate reason for the question was whether I should use svk with Pugs | 06:15 | ||
but I don't yet consider that to be 'Large' | |||
when my SQL-Routine/Rosetta project becomes good enough that multiple people *want* to author it, I'll probably move it into version control | 06:16 | ||
speaking of SQL-Routine etc, I have an ambitious goal for it to be "done" by the end of June ... as in end-to-end useful in daily work | 06:17 | ||
masak | w00t! svk works! :) | 06:18 | |
Darren_Duncan | this includes a new SQL-Routine-SQLParser and Rosetta-Emulator-DBI modules, with which any other Perl programs written to use DBI or one of its wrappers can "just work" with Rosetta etc, which means more seamless portability across databases | 06:19 | |
I'll return tomorrow, good night! | |||
nothingmuch | morning | 06:20 | |
masak | morning | 06:23 | |
svnbot6 | r4469, putter++ | hw2005.txt: minor grammar tweaks. mostly tenseand plurality agreement, missing commas, preposition selection, breaking ;-ed sentences. Nifty paper. | 06:26 | |
ingy | hola | 06:45 | |
svnbot6 | r4470, putter++ | rules_bootstrap: added "compiling rules into Parsec combinators" plan mentioned in hw2005.txt. | ||
ingy | nothingmuch: are you going to the hackathon? | 06:46 | |
nothingmuch | ingy: yes | ||
why do you ask? | |||
ingy | nothingmuch: do you know if there is broadband there? | ||
nothingmuch | got something interesting for me to try? | ||
iirc there isn't | |||
ingy | hmmm | 06:47 | |
well that will certainly suck | |||
nothingmuch | it will | ||
ingy | grrr | ||
nothingmuch | but it will also make us seem super secret too | ||
ingy | but I already seem sooper sekrit :P | 06:48 | |
Aankhen`` curses the fact that reinstalling Windows means reconfiguring his entire development environment, which in turn means figuring out what he had done to his development environment in the first place. | 06:50 | ||
ingy | Aankhen``: sadness | ||
nothingmuch_ | sorry | ||
ingy: you said "grr", then I got nothing | 06:51 | ||
Aankhen`` | Indeed. | ||
But on the bright side, my system's now blazingly fast. :-D | |||
ingy | 23:48 < ingy> but I already seem sooper sekrit :P | ||
Aankhen`` | (for someone who played Doom 3 at 20 FPS at 640x480, Low Quality, 55 FPS at 1024x768, High Quality, 4xAA and 8xAF is quite fast enough =) | 06:52 | |
ingy | fyi I said "grrr" | ||
I feel grrr8 | |||
like Tony | |||
nothingmuch_ | maybe we can get a temp solution if we all chip in some $$$? | 06:53 | |
ingy | well we'd better bring it up soon | 06:54 | |
Aankhen`` wonders whether HTTP::Message would be better as a role rather than a class. | 07:05 | ||
Heh. I'm looking at the latest messages in the "reduce metaoperator on an empty list" thread, and Google popped up "4.1 Naming and binding" from www.python.org in the ads. | 07:19 | ||
ingy | sweeet | ||
Aankhen`` | Most of the time, though, messages on p6l and p6c bring with them ads for mod_perl... usually this: "Introduction to mod_perl (part 5): More Perl Basics". Freaky. | 07:20 | |
pdcawley | Oh ghod. Not the reduce metaoperator thread. | 07:23 | |
I'm really hoping it'll've died out by the time I write the next summary. | |||
lathos | pdcawley: Incidentally, Buscador is up and feeding on p6* | ||
buscador.simon-cozens.org/ | |||
pdcawley | Buscador? | 07:24 | |
crysflame | heh | 07:25 | |
er, ww | |||
hi | |||
lathos++ # buscador | |||
nothingmuch_ | lathos: what does buscador do differently? | 07:27 | |
autrijus_ | greetings from APW! | 07:31 | |
QtPlatypus | Greetings. | 07:32 | |
lathos | Quite a lot. It keeps track of messages over multiple lists, it can arrange threads in several different ways, it keeps track of people from different email addresses, it gives you syndication feeds for everything... | ||
It separates off attachments in a friendly way. | |||
QtPlatypus prefs the nntp interface. | |||
lathos | buscador.simon-cozens.org/name/view/529 is an example. | 07:33 | |
ingy | hi autrijus-san | 07:35 | |
autrijus_ | greetings ingy-san. | 07:36 | |
ingy | :) | ||
svnbot6 | r4471, autrijus++ | * ApocNow: Content's mostly there. | ||
autrijus_ | I learned about latex presentation (beamer) today. | ||
it makes beautiful presentations. | |||
ingy | I'm totally rethinking Perldoc | ||
autrijus_ | however \latex{} is much more verbose than `Kwid` | ||
so I'm going back to Kwid/Spork for my talk. :) | 07:37 | ||
ingy | ;) | ||
pdcawley | Is it easy to get at Opentype goodness in LaTeX yet? | ||
autrijus_ | no idea :) | ||
ingy | autrijus_: how do you feel about a hackathon without internet? | 07:38 | |
lathos | Also buscador.simon-cozens.org/mail/lurk...looper.com | ||
knewt_ | autrijus_: committing again already eh :) | ||
autrijus_ | knewt_: :) | 07:40 | |
ingy: completely without? that'd be bad | |||
hm. anyone have tuits to chase test failures about the undef->undefine change? | |||
and maybe grep the t/ and examples/ a bit to change undef($x) to undefine($x) | 07:41 | ||
hm. come to think about it, maybe delay this after the release | 07:48 | ||
svnbot6 | r4472, autrijus++ | * make http-server.p6 more readable | ||
autrijus_ does a local branch for s/undef/undefined/ | |||
undefine, even | |||
knewt_ | ah, not too bad. only 16 commits since i synced up before flying yesterday. but then, autrijus_ /has/ been busy flying over here :) | 07:50 | |
svnbot6 | r4473, autrijus++ | * hw2005 - review from Nicholas. | 07:53 | |
pdcawley | Are the reviews collected anywhere? | 07:54 | |
07:56
Aankh|Clone is now known as Aankhen``
|
|||
knewt_ | autrijus_: do you have on a black t-shirt with a camel on it? | 07:57 | |
autrijus_ | knewt_: yes! | 08:01 | |
svnbot6 | r4474, autrijus++ | * further review comments from Allison. | ||
r4473, autrijus++ | * hw2005 - review from Nicholas. | |||
autrijus_ | pdcawley: they are collected in my inbox... they are not public | ||
but I mostly just applied their unidiff patches | |||
08:01
integral_ is now known as integral
|
|||
autrijus_ | pdcawley: care to review the paper for me? :) | 08:01 | |
pdcawley wonders why feather's zsh will only use C-h to delete stuff. | 08:02 | ||
autrijus_ | the deadline for submission is tomorrow :-/ | ||
pdcawley | autrijus: I've just skimmed it, I'll give it another read later. | ||
autrijus_ | pdcawley: danke! | ||
knewt_: where are you? | |||
nothingmuch_ | morning | 08:03 | |
autrijus_ | yo nothingmuch_ | ||
nothingmuch_ | err, morning autrijus | ||
08:03
nothingmuch_ is now known as nothingmuch
|
|||
knewt_ | autrijus_: orange shirt 1 back and 4 to the left | 08:04 | |
autrijus_ | gotcha :) | 08:06 | |
nothingmuch | autrijus: how's Vienna? | 08:22 | |
autrijus_ | nothingmuch: excellent weather | 08:26 | |
despite the forecasts | |||
svnbot6 | r4475, autrijus++ | * correct getc's use of adverbial function parameters | 08:29 | |
autrijus_ | sri_: you around? | 08:44 | |
svnbot6 | r4476, scook0++ | * hw2005: 'et al.' fixes & some 80-char reflowing | ||
r4477, autrijus++ | * hw2005 - more reviews from shapr. | |||
Juerd | geoffb: Yes | 08:47 | |
nothingmuch | autrijus: did you get my parsec musings? | 08:48 | |
autrijus_ | nothingmuch: no. where/ | ||
nothingmuch | one sec | ||
autrijus_ | I'm out of battery... 0% | ||
autrijus_ runs out to get eletricity | |||
yay, just in time | 08:49 | ||
pasteling | "nothingmuch" at 212.143.92.226 pasted "using parsec to make pesto" (6 lines, 387B) at sial.org/pbot/10873 | ||
autrijus_ | <- glad that I left the room before it starts to beep real loud | ||
nothingmuch | what room? | 08:50 | |
autrijus_ | the apw conference room | ||
the APW is underway | |||
nothingmuch | oh! | ||
then don't let me bother you | |||
autrijus_ | nah, that's fine | ||
parsec can handle non-Char types | |||
that you know | |||
so of course it can match trees | 08:51 | ||
nothingmuch | the problem is how to make it convert it's matching paradgim | ||
so that it does backtrack, | |||
and that many shapes of a grammer can match | |||
but that some are better than others | |||
autrijus_ | well, you can have the matches return a weighted thing | 08:52 | |
and sort by weight | |||
nothingmuch | right | ||
autrijus_ | that won't be hard actually | 08:53 | |
just two lines or so | |||
nothingmuch | but i need to prune the match space very aggressively | ||
autrijus_ | yeah, so you need nondet | ||
you can chase haskell.org/hawiki/NonDeterminism and links | |||
it's a well known design | |||
nothingmuch | okay, i'll keep thinking about it | ||
when harrorth is done I'll try to tackle that next | |||
autrijus_ | k | 08:54 | |
nothingmuch | beh, fucking network | 08:56 | |
q[pdcawley] | Mmm... nondeterministic programming... | 09:00 | |
clkao | autrijus_: do you happen to have my svk slides? iirc you cped them for me to do a presentation somewhere | 09:01 | |
q[pdcawley] | Shame that my call_cc implementation doesn't work or I'd have the bones of NonDet programming for Perl 6 implemented by now. | ||
xerox | AMB ? | 09:02 | |
autrijus | clkao: can't find it easily | 09:05 | |
q[pdcawley]: uh? | |||
q[pdcawley]: I can give you callcc for perl6 in pugs | |||
nothingmuch | is q[] a cult? | 09:06 | |
q[acme] | nothingmuch: yes | 09:38 | |
nothingmuch | what is the cult about? | 10:14 | |
q[acme] | about non-globally-unique nicks | 10:20 | |
nothingmuch | ooh, wow | ||
i would join, but i'm not sure i want to | 10:21 | ||
lathos | I'm not sure you need to. :) | 10:24 | |
10:27
q[acme] is now known as acme
|
|||
theorbtwo is glad to say that he's never come across another 'theorbtwo' spelt as such. | 10:28 | ||
clkao | q[acme]: the other acme was slashdotted yesterday | 10:29 | |
acme | i noticed - i get a lot of spam too! | 10:30 | |
pjcj | I suspect that's a mistake and the spammers meant to send it to the other chap | 10:31 | |
you should let them know | |||
autrijus | yay, finally got contents done | 10:55 | |
svnbot6 | r4478, autrijus++ | * Content and formatting foreeze for apocnow | ||
autrijus | 30 minutes left | ||
time to google image | |||
xerox | 30 mins left to.. ? | 10:56 | |
autrijus | the Perl 6 track of Austrian Perl Workshop | ||
10:58
Aankh|Clone is now known as Aankhen``
|
|||
xerox | Any live audio/video feed? :) | 11:03 | |
q[pdcawley] | xerox: Just watch the SVN logs... | 11:08 | |
autrijus | heh :) | 11:12 | |
no, I don't think there's one | |||
but it's broadcasted to the FPW | |||
so it should be recorded somewhere | |||
autrijus_ | hey chip-san | 11:40 | |
Aankhen`` | Woo hoo! No more slow down while compiling Pugs.AST.Internals! | 11:47 | |
I wub my new processor. :-D | |||
autrijus_ | new processor++ | 11:49 | |
how good is it? | |||
Aankhen`` | Works great so far. =) | ||
Juerd | How bad was your previous? :) | ||
Aankhen`` | On my old processor, I could barely do anything else while compiling Pugs, especially Pugs.AST.Internals. | 11:50 | |
Everything would freeze up. | |||
Now, there's absolutely no slowdown -- everything is as responsive as ever. | |||
HyperThreading++ | |||
q[pdcawley] | What's your new processor? | 11:51 | |
Aankhen`` | Remind me to measure the time... | ||
Intel Pentium 4 630. | |||
(3.0 GHz., HT, 32/64-bit ready, 2 MB cache) | |||
q[pdcawley] | Shiny! | 11:52 | |
Aankhen`` | Literally -- I got a new case too. =) | ||
autrijus_ | very shiny! | ||
Aankhen`` | And the guy threw in a nice 430W CoolerMaster power supply for no extra charge. | 11:53 | |
It's fun to watch the test scripts being run... I can't even see the individual tests, it just flashes a number and says "ok", then moves on to the next one. :-D | 11:54 | ||
I can't wait to see what happens on the rules tests, though. :-P | |||
autrijus_ | :) | 11:55 | |
Aankhen`` goes to see what happens when he starts Doom 3. | |||
A nice and steady 45 FPS. =) | 11:58 | ||
The 1 GB of RAM probably helped, come to think of it. :-P | 11:59 | ||
Ah, if only I had five bucks for every smiley I typed... | |||
autrijus_ | I hope I can have access to that as a laptop :) | 12:05 | |
Juerd | 9 different users are logged in on feather, some run irssi, some use editors - the load is 0.00 :) | 12:10 | |
Limbic_Region | hey autrijus_ - how is your net access ATM? | 12:11 | |
webmind | Juerd, no one is using pugs? :) | 12:19 | |
Juerd | webmind: Not many | ||
webmind: And not much | |||
autrijus_ | Limbic_Region: passable | 12:20 | |
webmind | Juerd, well.. I guess most of the coding is typing anyway | 12:22 | |
svnbot6 | r4479, autrijus++ | * images part done for apocnow! | 12:36 | |
autrijus_ | whew. | 12:38 | |
pugscode.org/ | |||
click on "APW slides" from left | |||
Juerd | autrijus_: slide12c | 12:40 | |
autrijus_: s:0/@h/%h/ | |||
integral | hmm, what mac browser has a full screen mode? Opera? | 12:41 | |
autrijus | right. | ||
good catch | |||
Limbic_Region | autrijus - in that case, if you get some free time could you take a look at perlmonks.org/index.pl?node_id=464502 and perlmonks.org/index.pl?node_id=366280 | ||
autrijus | I'm going to speak in 3 mins | ||
Limbic_Region | tall_man (a pretty smart guy) thinks he has found a bug | ||
Limbic_Region just can't make heads or tails of it | 12:42 | ||
oh - well have fun ;-) | |||
Aankhen`` | integral >> Opera does have a full screen mode, assuming it's available for the Mac. :-) | ||
Limbic_Region | break a leg as they say | ||
integral | Aankhen``: pity it's not very macish ;-) | ||
Aankhen`` shrugs. | |||
Luckily I'm not inflicted with Mac OS-itis. =) | 12:43 | ||
Apple does return the favour though... have you seen iTunes on Windows? | |||
integral hasn't | |||
Aankhen`` | It's bloated, slow, ugly, and badly behaved. | ||
integral | heh | ||
Juerd | autrijus_: slide20b - I thought there were no parens around the ;; part of a loop loop? | ||
Aankhen`` | I'm sure you could say the same about Opera on the Mac. ;-) | 12:44 | |
lumi | Opera has fullscreen on mac | 12:46 | |
Aankhen`` wanders off. | 12:47 | ||
Juerd | autrijus_: slide30c | 12:49 | |
autrijus_: ('a'..'c') ōæ½xBBxōæ½xAB 3 | |||
autrijus_: Shouldn't that be just >>x, as there is no array on the RHS? | |||
integral | lumi++; thanks! | 12:57 | |
Limbic_Region | oh - I think I finally get the bug tall_man was trying to point out | 13:13 | |
I have seen it myself but thought it was that way by design | |||
if you have a named parameter but invoke the sub as though it were positional - it shouldn't automatically morph for you should it? | 13:14 | ||
I assumed the answer was yes - but apparently tall_man doesn't think so | |||
for instance | |||
?eval sub bar ( $foo) { $foo } bar(3); | 13:15 | ||
evalbot6 | \3 | ||
Limbic_Region | tall_man is saying that for that to do the right thing, I should have had to call bar as bar( foo => 3 ) | ||
osfameron | why \3 rather than 3 ? | ||
Limbic_Region | ?eval sub bar ( $foo) { $foo } bar(foo => 3); | ||
evalbot6 | \3 | ||
Limbic_Region | that part I don't know osfameron, but it doesn't have anything to do with the bug | 13:16 | |
osfameron | true, sorry | ||
Limbic_Region | grrr | ||
my plus symbol is broke | |||
would you mind trying those two for me again | 13:17 | ||
only in the sub signature make it plus$foo | |||
osfameron | ?eval sub bar (+$foo) { $foo } bar(foo => 3); | ||
evalbot6 | \3 | ||
Limbic_Region | and now the other way? where bar is just called with bar($foo) | 13:18 | |
osfameron | ?eval sub bar (+$foo) { $foo } bar(3); | ||
evalbot6 | \3 | ||
Limbic_Region | yeah | ||
that probably shouldn't work | |||
osfameron | why not? | ||
Limbic_Region | I thought it was by design but apparently not | ||
$foo is a named parameter | 13:19 | ||
it is magically becoming a positional | |||
osfameron | I thought that was designed | ||
it's to prevent you from having to do | |||
my ($foo, $bar, $baz) = @_; | |||
Limbic_Region | I am not sure you are understanding | 13:20 | |
in the sub signature - you can have, required, optional, named, positional, etc type variables | |||
using named variables (which are optional unless marked as required) | 13:21 | ||
you can place the variables in any order | |||
so | |||
sub bar ( plus$foo, plus$bar) { ... } | |||
could be called as bar( bar => 3, foo => 2) | |||
or bar( foo => 3, bar => 2 ); | |||
order doesn't matter | 13:22 | ||
without the plus symbol - they are positional (meaning they have to come in order specified in signature) | |||
what is happening in the bug | |||
is a named parameter is becoming positional | |||
osfameron | ah | ||
Limbic_Region | if you say it is named then you really need to name it foo => 3 | 13:23 | |
you can't just choose to leave off the name (3) | |||
but pugs isn't b1tching | |||
osfameron - do you have commit rights? | |||
osfameron | Limbic_Region: nah, I mainly lurk | 13:24 | |
Limbic_Region | perlbot nopaste | ||
perlbot | Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel> | ||
Limbic_Region | ok - well I am going to come up with a bugtest and hopefully someone can commit for me - otherwise I will tonight | ||
QtPlatypus | Has anyone tested my buggy code? | ||
pasteling | "Limbic_Region" at 129.33.119.12 pasted "Can someone with round tuits please commit this test as t/pugsbugs/named_2_positional.t after performing a sanity check" (14 lines, 384B) at sial.org/pbot/10879 | 13:30 | |
Limbic_Region is off to a meeting now | |||
mj41 | perlbot: nopaste ? | 13:47 | |
perlbot | Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel> | ||
wolverian | Limbic_Region: I'll take a shot at it. | ||
pasteling | "mj41" at 147.229.221.107 pasted "1 2 or 2 2 ?" (16 lines, 134B) at sial.org/pbot/10881 | 13:48 | |
wolverian | heh. Test.pm declares the description arguments as +$desc | 13:52 | |
so that shouldn't work either as a positional | |||
but just about _all_ the tests use it as a positional | |||
QtPlatypus | Can some people try out the code in sial.org/pbot/10867 and see if it causes there pugs to segfault. | 13:53 | |
svnbot6 | r4480, wolverian++ | Named args as positionals test from Limbic_Region++ | 14:03 | |
autark-jp | QtPlatypus: did not segfault here. | 14:05 | |
QtPlatypus | Odd. What version are you using? | 14:06 | |
autark-jp | #4470 | ||
QtPlatypus | Me has r4459, I'll see if upgrading helps. | 14:09 | |
14:20
Odin-FOO is now known as Odin-
|
|||
svnbot6 | r4481, rootmj++ | + sub reset_params returns Void is export { %PARAMS = (); $IS_PARAMS_LOADED = 0; } | 14:28 | |
mj41 | Src (pugs is 80% perl 6, so many ugly hacks, but you can change htdocs/* without server restart )wiki.kn.vutbr.cz/mj/attach/pugs/http-server/ | 14:44 | |
Slow online demo a05-0612a.kn.vutbr.cz:8080/page.p6 | |||
domm | sorry, quick question | 14:47 | |
osfameron | ?eval sub avg { [+] @_ / @_.elems } avg(3,5) | 15:25 | |
evalbot6 | 1.0 | ||
osfameron | ! | ||
?eval sub avg { ([+] @_) / @_.elems } avg(3,5) | |||
evalbot6 | 4 | ||
osfameron | phew | ||
svnbot6 | r4482, iblech++ | * docs/other/rules_bootstrap, t/pugsbugs/named_2_positional.t -- Usual svn props | 15:30 | |
r4482, iblech++ | * docs/talks/README: Added autrijus++'s "Apocalypse Now" talk. | |||
r4483, iblech++ | docs/talks/README -- Oops, fix typo. | |||
Juerd | Hmm | 15:34 | |
How about [+: @_] | |||
:) | |||
xerox | :+] | ||
Juerd | No | ||
Must be prefix. | |||
xerox | I was just smileying :( | ||
Khisanth | ?eval [+: 1..10] | 15:35 | |
evalbot6 | Error: unexpected "[" expecting program | ||
osfameron | ?eval [+: 1,2,3] | ||
evalbot6 | Error: unexpected "[" expecting program | ||
Khisanth | that doesn't work! | ||
Juerd | Duh | ||
I just suggested it. Things don't get implemented within seconds from that. | |||
Khisanth | but what advantage does it have? | ||
osfameron | it's pretty | ||
and you don't need more disambiguating parens | 15:36 | ||
Juerd | It makes it a non-listop | ||
Khisanth | thought you meant that was an alternative :) | ||
Juerd | (precedence wise) | ||
Khisanth | [+| @_]? :P | ||
Juerd | And I think it's clearer | ||
No |. | |||
| is used in infix operators that you'd reduce. | |||
: is not, afaik. | |||
Khisanth | larry was right, everyone wants the colon | ||
Juerd | Can we keep this all a technical discussion? | 15:37 | |
It's not about wanting the colon. | |||
It's about lack of alternatives, where a colon would work and even look nice. | |||
Khisanth | actually I do agree with all the stuff you have said | ||
integral | what if I, as a haskell user, like to name my custom infix operators things like :+: ? | ||
Juerd | integral: You'd get very pissed. | 15:38 | |
Khisanth | integral: back into the hell you were in with source filters? | ||
integral | bah! :-) | ||
Juerd | =:= is a problem too. | ||
Khisanth | integral: but if that is the case you would run into that problem ... oops you can redefine the [:] as well can't you? :P | 15:39 | |
integral | Juerd: is a delimiter other than whitespace needed? | ||
Khisanth | of course you would end up with your own custom languages nobody can read | ||
Juerd | integral: Yes, because [] creates arrays too. | ||
integral | err, and doesn't this have problems with [] creating arrays? | ||
Juerd | It has to be currently invalid syntax. | ||
integral | I thought the only reason [] could be used for reduce was that *only* an operator could be in it, so it's very unambiguous? | 15:40 | |
Juerd | integral: There's absolutely no difference between [op] and [op:, parse wise. | ||
Longest match wins. | |||
That's why ~ doesn't clash with ~~. | |||
integral | hmm | 15:41 | |
osfameron | but it's then visually ambiguous because it looks like it contains an array | ||
Khisanth | osfameron: doesn't seem like a problem if you are used to reading from left to right | ||
osfameron | maybe not, but if you see something ending ...1,2,3], it could be confusing. Anyway, no longer a convenient "pill" | 15:43 | |
Juerd | All true. | ||
svnbot6 | r4484, iblech++ | undef(...) is now undefine(...) (see | 15:51 | |
r4484, iblech++ | groups.google.com/groups?threadm=20...wall.org). | |||
r4485, iblech++ | ext/Test-Builder/t -- unTODO four succeeding tests. | |||
QtPlatypus | I beleave there is a metaoperator or metatinfix thing like postfix and infix. | 16:00 | |
svnbot6 | r4486, iblech++ | t/rules/from_perl6_rules/charset.t -- Make it compile again. | ||
r4487, iblech++ | Make while.t parse again, too. | |||
r4488, iblech++ | ext/CGI/t/util.t -- Make it parse again, too. Now all tests should at least | 16:07 | ||
r4488, iblech++ | parse again. :) | |||
xerox | One gets multiple `++'s writing long comments, yay ;) | 16:08 | |
PerlJam | xerox: and that's why bot karma is relatively useless. | 16:09 | |
corneli | hi! im new around here - is there a doc somewhere to check what features of perl6 are available in pugs? i want to help! | 16:12 | |
PerlJam | corneli: Start at www.pugscode.org/ and go from there. | 16:16 | |
corneli: checkout a copy of pugs and start playing. | |||
corneli | PerlJam: i have a copy of pugs... just don't know what I can play with :) | 16:17 | |
PerlJam | corneli: Well, what do you want to play with? | ||
do you know haskell? | |||
do you know perl5? | |||
corneli | nowhere enough haskell to help with the projects (never got to monads) - i do know perl5 | 16:18 | |
PerlJam | have you read the AES? | ||
corneli | not too closely - only picked a few features from here and there. | 16:19 | |
Limbic_Region | wolverian plusplus - thanks for adding the test for me | 16:21 | |
PerlJam | corneli: you might want to start by looking at the tests and try adding some of your own. | ||
corneli: or maybe translate some perl5 to perl6 | |||
corneli: or reading the AES and to find things that are specced but not yet in pugs and not yet tested for and write a test for them. | 16:22 | ||
corneli | Great - Are the AES the formal sources for what should be working (even if it's not implemented now)? i had the feeling that pugs introduced at least some differences? | 16:24 | |
macGuy | hello | 16:25 | |
if i have a foreach statement like foreach $_ (@_) and sometimes in the iteration i want to know which index i am looking at in @_ how can i tell | 16:26 | ||
QtPlatypus | macGuy: Are you asking about perl6 or perl5? | 16:27 | |
macGuy | would there be any difference? | ||
im working on a project that would be executed on perl 5 | 16:28 | ||
QtPlatypus | Then you realy should ask in a perl channel. perl6 is very diffrent to perl5 | ||
macGuy | k | ||
wolverian | Limbic_Region: you're welcome | 16:52 | |
Limbic_Region: did you notice that most of the .t files depend on the wrong behaviour :) | |||
PerlJam | corneli: The information path is like this (from least definitive to most definitive) Apocalypse, Exegesis, Synopsis, perl6-language. | ||
corneli | Great. THanks | 16:54 | |
PerlJam | And while that last one has the most up-to-date information, you often have to wade through the random ideas of other non-@Larry people to get it. | 16:55 | |
corneli | Looks like it's a very practical development effort | 16:57 | |
PerlJam | corneli: Areas that are currently in-the-works are better OO support and p6rules. | 17:00 | |
rjbs | Stupid question. Can one hyper a bare block? | ||
Limbic_Region | wolverian - yes | 17:01 | |
PerlJam | rjbs: and what would that mean exactly? | ||
rjbs | @a >>{ $^a ~ " is with " ~ $^b }<< @b | ||
Limbic_Region | wolverian - I think that was tall_man's point | ||
wolverian | Limbic_Region: who? | ||
PerlJam | rjbs: that looks like zip | ||
Limbic_Region | perlmonks.org/index.pl?node=tall_man | ||
rjbs | I thought zip would just produce the zipped list? | 17:02 | |
I understand I could map {...} zip | |||
wolverian | Limbic_Region: yeah. | ||
I guess one could s/// the files mostly to fix it | 17:03 | ||
Limbic_Region | I am going to search for the portion in AES6 that says it is bad | ||
perhaps add it to a comment | |||
wolverian | well, it can't really be fixed until the test cases are fixed | ||
or the whole test system goes kaboom | 17:04 | ||
Limbic_Region | are there really that many tests using named parameters as positional - or am I missing something? | 17:08 | |
wolverian | maybe not - I only looked in pugsbugs | ||
hmm. builtins/arrays/ is full of it too. | 17:09 | ||
Juerd | Who are at the APW? How are things there? | ||
wolverian | Limbic_Region: $desc in ok() is named | ||
and about all the tests I see use it as positional | |||
Limbic_Region | Juerd - see use.perl.org/~cog/journal/25113 | 17:10 | |
apparently there is an IRC channel to see what's going on | |||
wolverian | a simple fix is to simply convert +$desc to $desc, as just about no-one uses the named interface | ||
Juerd | I see | 17:11 | |
Thanks | |||
Limbic_Region | walang anuman | ||
wolverian - not sure that's such a good idea either | |||
wolverian | Limbic_Region: probably not, but the other option is the mass s///. do you have tuits for it? :) | ||
Limbic_Region | probably should confirm that it needs to be fixed, fix it, and see what break | ||
wolverian | of course it needs to be fixed. it's wrong behaviour. | ||
(as said by Larry) | 17:12 | ||
Limbic_Region | wolverian - ok - found supporting doc | 17:13 | |
Larry didn't say that it needed to be fixed | |||
he said that tall_man's original test was flawed | |||
in fact there was a real problem, just not the one tall_man thought | 17:14 | ||
he (tall_man) later /msg'd me with what he thought the real problem was | |||
and he is right | |||
from S06 "They can only be passed by name" | |||
so if you feel like updating the test with a comment from S06 - be my guest | |||
"Arguments that correspond to named parameters are evaluated in scalar context. They can only be passed by name, ..." | 17:15 | ||
it is a bummer that many people incorrectly used named parameters then | 17:17 | ||
Juerd | That makes sense, doesn't it? | 17:19 | |
All non-slurpy arguments are evaluated in scalar context. | |||
And all slurpy arguments are evaluated in list context. | |||
Named arguments are never slurpy. | |||
It also makes sense in that the value of a pair is always scalar | 17:20 | ||
Limbic_Region | Juerd - it makes perfect sense - Pugs is broke though | 17:21 | |
what's worse - is people have written numerous tests (according to wolverian) using the incorrect behavior | |||
so fixing the bug will result in many tests breaking | |||
Juerd | Interesting | 17:22 | |
What were people thinking, I wonder in such cases. | |||
I can understand that there is a bug | |||
Limbic_Region | probably copy/paste someone else's test | ||
Juerd | But why were these tests written | ||
Limbic_Region | that test had it wrong and people just changed variable names leaving in the plus symbol not knowing what it was for | ||
Juerd | Or were they testing existing behaviour? That's always dangerous - to test after the fact. | ||
Limbic_Region | that's just a guess btw - no idea if it represents reality | ||
Juerd | Or is perhaps context not clear enough? | 17:23 | |
Limbic_Region | the scalar context isn't the part that I am hung up on | ||
basically if you create a signature with a named parameter - you can call it without naming it | |||
Juerd | Oh | ||
Limbic_Region | Pugs magically turns it into a positional parameter | 17:24 | |
Juerd | Aha | ||
That is a bug then yes | |||
Limbic_Region | I would demonstrate but my client eats plus symbols | ||
Juerd | aww | ||
Have you tried '+', "+" and \+? | |||
Or can you not even enter them? | |||
Limbic_Region | ' ', " ", \ | ||
it eats them | |||
Juerd | I think it's a proxy that does this | 17:25 | |
Limbic_Region | cgi irc in case you were wondering | ||
Juerd | Not CGI:IRC | ||
SamB | really? | ||
Juerd | For fun, try %25 and see if you get %25 or % out of it | ||
Limbic_Region | SamB - really to what? | ||
%25 | |||
Juerd | Weird. | ||
SamB | maybe the CGI is a broken? | ||
Limbic_Region | Juerd - I don't think it has anything to do with a proxy since it works fine everywhere else | ||
Juerd | I doubt that the CGI is broken. CGI:IRC is very popular and the bug would have been noticed and fixed long | 17:26 | |
It could be an old CGI:IRC. | |||
Limbic_Region | possible | ||
I am reading the FAQ now | 17:27 | ||
Juerd | Can you visit arbitrary URLs? | 17:28 | |
I've installed cgiirc on feather, to see what it'd do | |||
Limbic_Region | yes | ||
Juerd | Let's see how this thing is configured first | ||
juerd_cgi | hello! | 17:31 | |
plus: | |||
Juerd | Hm | ||
Stupid thing! | |||
BUT - I can debug this one :) | |||
Limbic_Region | I should debug too but I only need it at work (where I can't ssh to the machine it is residing on) | 17:32 | |
at home, I don't think to do that since I can use a real client | |||
17:34
Aankh|Clone is now known as Aankhen``
|
|||
Limbic_Region | Juerd - once you get it fixed I will just use feather if you don't mind | 17:34 | |
Juerd | ## The clever regexp bit is from cgi-lib.pl | ||
Oh god. | |||
They took something "clever" from cgi-lib.pl | |||
No wonder it's horribly broken. | |||
Not tomention the indenting. | 17:35 | ||
Juerd removes the s/\+/ /g line. | |||
How the HELL does this *work*, anyway? | |||
map { s/\+/ /g; ... } split(...); | |||
Tell me - how does that s/// mutate a read only $_? | 17:36 | ||
Sure, this worked in perl 4 and early 5s | |||
But how can this work with current perl? | |||
Obviously it works. | |||
juerd_cgi | Hi again | 17:37 | |
plus: + | |||
hurrah. | |||
Limbic_Region | yeah | ||
what's the url? | |||
oh - please please please tell me it is running on port 80? | 17:38 | ||
juerd_cgi | It is | ||
But I want a way to avoid that this is used by anyone | 17:39 | ||
While providing all users with access | |||
So I'm going to ssl-ify this first | |||
Which I've done only one time before | |||
Can take a while. | |||
Limbic_Region doesn't have a feather account | |||
you doing a self-signed certificate? | |||
juerd_cgi | No, CA-cert | 17:40 | |
svnbot6 | r4489, iblech++ | t/ -- s/undef/undefine/ as appropriate | ||
juerd_cgi | And that feather account will be arranged if you send me an email requesting it | ||
Limbic_Region | right - but your CA-cert, is that going to be self-signed? | 17:41 | |
juerd_cgi | It's going to be signed by cacert, I hope :) | ||
Limbic_Region | ok - but I won't actually need to log in right? Since I couldn't do that from work anyway | ||
juerd_cgi | Otherwise I don't see the point. | ||
You would need to log in via ssl, http-auth | |||
You can visit gmail, so you can visit https | |||
Limbic_Region | oh - didn't realize cacert was an organization - since ca = certificate authority | ||
I normally self-sign my ca and then sign what is needed since I don't do business with anyone that doesn't trust me | 17:42 | ||
let me know when/if you get it set up and if you need anything from me (besides a acct request which I will send momentarily) | |||
svnbot6 | r4490, iblech++ | t/ -- More s/undef/undefine/ (this time I used a grep to find undef(...)s | 17:46 | |
r4490, iblech++ | instead of relying on all-skipped tests as shown by the smokes). | |||
r4491, iblech++ | ext/ -- s/undef/undefine/, too | |||
r4491, iblech++ | util/perl6.vim -- Highlight undefine. | |||
geoffb | morning all | 17:47 | |
geoffb mutters venomously about video drivers crashing his X session on a regular basis | 17:48 | ||
Limbic_Region | geoffb - you don't use named parameters as positional in tests you write do you? | 17:49 | |
geoffb blinks | |||
Ummm, I don't think I'm the one to talk to. | 17:50 | ||
I've seen discussions about that, but I stayed out of them | |||
Limbic_Region | svn.openfoundry.org/pugs/t/pugsbugs...sitional.t | ||
well - when I first started writing tests I copy/pasted from an existing one | |||
so I may have done it (initially) without even knowing | 17:51 | ||
apparently there are going to be a number of tests that break once this bug is fixed | |||
Limbic_Region is just trying to make people aware | |||
geoffb | ah | 17:52 | |
Well, I don't think so. | |||
My big hurting place is the fragility of use ...--perl5 | |||
And unfortunately in trying to test for it, I just recurse into issues with Test.pm, and issues with use of normal P6 modules, and so on. | 17:53 | ||
And the fact that for some annoying reason, code is not parsed the same interactively as from a file. | 17:54 | ||
vel | hi all | ||
geoffb | evalbot6, sure, I can understand that there's some sops to safety there, but pugs in interactive mode should be damn near identical to pugs working on a file. | ||
</rant> | 17:55 | ||
vel | can someone help me with chomp in perl 6? | ||
Limbic_Region | vel - I believe it is still mostly unspecced | ||
what specifically do you need to know? | |||
ninereasons | autrijus, in perlcabal.org/~autrijus/apoc/slide62b.html#end | 17:56 | |
autrijus, do you mean "those are the only two things that work now" ? | |||
autrijus, or do you mean "those are only two things that work now" ? | |||
vel | just simple and shortest way to get rid of \n and parse csv file | ||
Limbic_Region | vel - see svn.openfoundry.org/pugs/examples/g...hangman.p6 | 17:57 | |
search for chomp | |||
apply it to your situation | |||
holler if it doesn't work as expected | |||
vel | Limbic: oh, I did trust me. thanks for link... | 17:59 | |
geoffb | I love finding cool new hotkeys by accident | ||
Limbic_Region | vel - when in doubt, checking examples/ t/ and ext/ will usually leading to finding what you are looking for (if Pugs has it yet that is) | 18:00 | |
vel | Lumbic: is that yoda speaking? ;) | 18:02 | |
svnbot6 | r4492, ninereasons++ | Apocalypse_Now: fix a few typos | ||
Limbic_Region | vel - it is me thinking and typing at the same time | 18:03 | |
I am currently reading autrijus's slides | |||
ninereasons | autrijus, I think it might be clearer to say, "those are the only two programs in our examples/ that work now" (compile to Parrot) | 18:06 | |
autrijus, if that's true to your meaning. | |||
Limbic_Region | I think that will come out in the presentation itself | 18:07 | |
basically it is "don't think this stuff just magically works" | |||
"we have a very limited focused amount of functionality" | |||
ninereasons | Limbic_Region, yes, but "that's the only two things that works" doesn't work. | 18:08 | |
Limbic_Region | "we are going to spend the next 10 days locked in a room with plenty of vices to knock the rest out" | ||
ninereasons - keep reading though | |||
ninereasons | Limbic_Region, purely a syntax issue here. | ||
Limbic_Region | I agree - the word "only" conveys an absoluteness that isn't accurate | 18:09 | |
ninereasons | Limbic_Region, the number of "that's" and "two things" and "works" does not agree | 18:11 | |
I think he means "those are the only two things that work, right now" . doesn't he? | 18:12 | ||
Limbic_Region | "those are the only two programs in our examples/ that work now" # is what I believe is meant | 18:13 | |
I honestly don't think anyone at the presentation will get it wrong though | |||
gaal | howdy | ||
Limbic_Region | salutations gaal | ||
geoffb | hi gaal | 18:14 | |
gaal | L~R, remember our brief discussion of want nad caller? | ||
Limbic_Region | I saw your thread on the list | ||
I read $larry's response | |||
I was left wondering - WTF does that mean | |||
gaal | :) | ||
well, here's my interpretation | 18:15 | ||
caller(?$kind, +$skip, +$level) | |||
if you say :kind<Method>, you only look at methods | 18:16 | ||
then you go to the skipth Method | |||
there are other details to work out, but so much for selection. | 18:17 | ||
Limbic_Region | gaal - I doubt you are going to make me understand | ||
all that is important to me is that you (or someone else on the team) understands | |||
gaal | as for want, it's much simpler than the A said. | ||
Limbic_Region | which is tooooo bad | ||
gaal | just look at the S verison | 18:18 | |
Limbic_Region | on list of things to do | 18:19 | |
gaal | (btw, even without any elaborations, we need some reworking to fix pugs' want, because Ctx doesn't have, for example, the number of wanted return values.) | ||
(nor whether they are rw) | |||
Limbic_Region | right gaal | 18:20 | |
which is the very specific thing I was trying to get fixed | |||
so you could determine if you were in a void context or not | |||
Limbic_Region wanders off for a bit | |||
gaal | now, s06 doesn't specify the signature for want, so i suppose we can give it the same selection interface as caller, adn have want just delegate. that's the easy bit :) | 18:21 | |
oh, L~R, that much you *can* do today. | |||
or should be able to, at least. | |||
data Cxt = CxtVoid | CxtItem !Type | CxtSlurpy !Type | |||
oh wait, you do get if we're in LValue context | 18:23 | ||
that much can be useful | |||
brb | |||
Limbic_Region waits for gaal to return | 18:26 | ||
gaal | back | ||
wolverian | Limbic_Region: yes, that's the problem - people use Test::ok and others incorrectly. we can either fix Test::ok and friends which is the easy route (change named to positional) or mass change the .t files | 18:27 | |
which will take some time probably | |||
Limbic_Region | pugscode.org/talks/apw/slide30c.html#end | ||
shouldn't that be >>xx<< there? | |||
iblech | Limbic_Region: Is >>{...}<< in any of the AES? Wasn't able to find it... | 18:28 | |
wolverian | shouldn't that be Ā»x, actually? | ||
Limbic_Region | I am not even going to attempt unicode with this client | 18:29 | |
gaal | >>{...}<< ? the vampire bat operator? | ||
Limbic_Region | iblech - if it isn't in one of the AESs - it has definately been discussed on the list | ||
iblech | Limbic_Region: Thanks, I'll google then | ||
geoffb | wolverian, personally I'm thinking the positional usage of Test subs is a good thing. When you've got a lot of very similar tests in a test file, positional calling cuts the clutter. | ||
wolverian | geoffb: I agree. | 18:30 | |
gaal | L~R, so, does want not work at all for you? | ||
Limbic_Region | gaal - want as a number and/or want.count | ||
gaal | oh, well that you'll have to wait a bit for ;-) | 18:31 | |
Limbic_Region | so how else would you currently check for void context? | ||
gaal | it returns show Ctx | ||
which should say "void". | |||
sorry, not show Ctx | 18:32 | ||
just the string "Void" | |||
see Pugs/AST/Internals.hs:1010 ish | |||
Limbic_Region | you mean want returns show Ctx | ||
let me try something then | |||
gaal | more or less | 18:33 | |
Limbic_Region | ok - then your understanding and my example are in disagreement | ||
gaal | hmmm, except that it doesn't work :) | ||
Limbic_Region | perlbot nopaste | 18:34 | |
perlbot | Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel> | ||
gaal | ./pugs -e sub x { say want } x(); | ||
Limbic_Region | right | ||
gaal | says "List (Any)" | ||
that's a bug then. | |||
:) | |||
Limbic_Region | right - perlmonks.org/index.pl?node_id=464377 is where I first found out | ||
that's the second bug tall_man has uncovered | |||
or rather - that was the first | 18:35 | ||
the named parameters being morphed to position was the second | |||
gaal | it oughta return an object that stringifies to "Void" in that case. | ||
Limbic_Region | gaal - there are tests for want already though | ||
so I didn't see where writing a new one was helping? | |||
gaal | okay; i've however been working on caller, which despite what A06 says, isn't really much like want. | 18:36 | |
only the selection stuff might be | |||
and anyway caller is used as a primitive for want | |||
sooooo... we need tests for caller ;-) | 18:37 | ||
likely, you could from pure perl code call caller, use the .sub result and query that to get all the info you could have gotten from want. | |||
though that bit isn't 100% certain yet. | 18:38 | ||
Aankh|Clone | Hrm. | 18:39 | |
One-line C<class { ... }> declarations parse, but multi-line ones don't? | |||
18:39
Aankh|Clone is now known as Aankhen``
|
|||
Limbic_Region | gaal - actually, looking at t/builtins/want.t all the want tests that are using want() are todo | 18:41 | |
Aankhen`` | Apparently multi-line class declarations do parse. Ignore my previous statement. | 18:42 | |
pdcawley | ?eval class Array { method bibble { 42 } }; my @foo = (); @foo.bibble | 18:43 | |
evalbot6 | 42 | 18:44 | |
pdcawley | Hurrah! | ||
?eval [].bibble | |||
evalbot6 | Error: No compatible subroutine found: "&bibble" | ||
pdcawley | ?eval class Array { method bibble { 42 } }; [].bibble | 18:45 | |
evalbot6 | Error: No compatible subroutine found: "&bibble" | ||
wolverian | ?eval ref [] | ||
evalbot6 | ::Array | ||
Aankhen`` | ?eval method *Array::bibble () { 42 } | 18:46 | |
evalbot6 | undef | ||
wolverian | hmm. do references not dispatch automatically yet? | ||
Aankhen`` | ?eval method *Array::bibble () { 42 }; [].bibble | ||
evalbot6 | Error: No compatible subroutine found: "&bibble" | ||
Aankhen`` | ?eval method *Array::bibble () { 42 }; <a b c d e>.bibble | ||
evalbot6 | Error: No compatible subroutine found: "&bibble" | ||
Aankhen`` | Bah. | ||
pdcawley | ?eval my @foo = (); ref @foo | ||
evalbot6 | ::Array | ||
pdcawley | Hmm... time to write a test. | ||
Aankhen`` | ?eval method *Array::bibble () { 42 }; my @foo = (1, 2, 3, 4, 5); @foo.bibble(); | ||
Limbic_Region | ?eval method ::Array { method bibble { 42 } }; [].bibble; | ||
evalbot6 | 42 | ||
wolverian | pdcawley++ | ||
evalbot6 | Error: No compatible subroutine found: "&method" | ||
Aankhen`` | ?eval method *Array::bibble () { 42 }; my @foo = (1, 2, 3, 4, 5); @foo.bibble(); | 18:47 | |
evalbot6 | 42 | ||
Aankhen`` | That works. | ||
wolverian | Limbic_Region: heh, method ::Array? | ||
pdcawley | Unless someone else wants to -- I'm slightly tied up. | ||
Limbic_Region | wolverian - why not | ||
Aankhen`` | ?eval method *Array::bibble () { 42 }; my $foo = (1, 2, 3, 4, 5); $foo.bibble(); | ||
evalbot6 | 42 | ||
Limbic_Region WAS being silly | |||
Aankhen`` | Kewl. | ||
pdcawley | Is ::Foo a symbol constructor then? | ||
wolverian | pdcawley: it's a type. | ||
pdcawley | ?eval ref ::Array | ||
evalbot6 | ::Class | ||
pdcawley | ?eval ref ::Bibblyplop | 18:48 | |
evalbot6 | ::Type | ||
wolverian | see. :) | ||
pdcawley | Heh. | ||
integral | hmm, doesn't that mean I can get silent breakage? | ||
pdcawley | Is there a 'symbol' type? I've got quite attached to them from playing with Smalltalk/Ruby | ||
wolverian | what sort of? | ||
integral | If I use ::Foo as a type variable, but then some module I load, loads a ::Foo | ||
Aankhen`` | ?eval class Foo { submethod BUILD ($self: ) { $self.baz = "quux"; say $self.baz; } method bar () { say ::?CLASS.new(); } } my $foo = Foo.new(); Foo.bar(); | ||
evalbot6 | Error: unexpected "{" expecting trait, ";" or end of input | ||
gaal | you can get anything you want in alice's restaurant, integral. | 18:49 | |
pdcawley | Allison's restaurant surely? | ||
gaal | :) | ||
Aankhen`` | ?eval class Foo { submethod BUILD ($self: ) { $self.baz = "quux"; say $self.baz; }; method bar () { say ::?CLASS.new(); } }; my $foo = Foo.new(); Foo.bar(); | ||
evalbot6 | Error: unexpected "{" expecting trait, ";" or end of input | ||
integral | hmm! | ||
Aankhen`` | Bleh. | ||
pdcawley | Do you need a ; between } and }? | 18:50 | |
wolverian | no. | ||
Aankhen`` | I dunno. | ||
I would have thought not. | |||
Aankhen`` reduces the size. | |||
pdcawley | And you can't 'say' anything with evalbot. | ||
Aankhen`` | Ah, right. | ||
?eval class Foo { method bar () { ::?CLASS.new() } }; Foo.bar(); | 18:51 | ||
corneli | Was the zip(@a => 2, @b => 1) changed? is it only zip(@a;@b;...) now? | ||
evalbot6 | Error: unexpected "{" expecting trait, ";" or end of input | ||
Aankhen`` | ?eval class Foo { method bar () { Foo.new() } }; Foo.bar(); | ||
evalbot6 | {obj:Foo} | ||
Aankhen`` | Darn. | ||
::?CLASS doesn't work. | |||
Aankhen`` goes to check that his syntax is correct. | |||
pdcawley | It's $?CLASS isn't it? | ||
Limbic_Region | pugscode.org/talks/apw/slide40b.html#end | 18:52 | |
s/ot/of/ | |||
pdcawley | ?eval class Foo { method wibble { $?CLASS } }; Foo.new.wibble | ||
evalbot6 | \::Foo | ||
pdcawley | Seems so. | ||
wolverian | hmm, why is it $?CLASS and not ::?CLASS? | ||
pdcawley | Because it's variable like. | ||
Aankhen`` | I guess S12 is outdated then: (The current class may always be named as ::?CLASS even in anonymous classes or roles.) | 18:53 | |
pdcawley | ?eval class Foo is Array { }; class Array { method bibble { $?CLASS }}; Foo.new.bibble | ||
iblech | wolverian: IIRC both ways are correct: $?CLASS is a Class object as a scalar variable, while ::?CLASS is a Class object as package name | ||
evalbot6 | \::Array | ||
wolverian | iblech: right. | ||
gaal | ?eval ref Array | 18:54 | |
evalbot6 | ::Class | ||
pdcawley | ?eval class Foo is Array { }; class Array { method bibble { $?CLASS }}; Foo.new.class | ||
evalbot6 | Error: No compatible subroutine found: "&class" | ||
pdcawley | ?eval class Foo is Array { }; class Array { method bibble { $?CLASS }}; Foo.new | ||
evalbot6 | {obj:Foo} | ||
pdcawley | ?eval class Foo is Array { }; class Array { method bibble { $?CLASS }}; ref Foo.new | ||
evalbot6 | ::Foo | ||
Aankhen`` | iblech >> So ::?CLASS hasn't been implemented? | ||
iblech | Yep. | ||
Aankhen`` | OK. | ||
gaal | wait, if i write a func that accepts a class as an arg -- which serendipitously I AM JUST DOING, does hte signature have "::Class $kind" rather than "Class $kind"? | 18:55 | |
pdcawley | Class $kind | ||
wolverian | gaal: Class is pretty certainly predeclared in Perl 6 | 18:56 | |
pdcawley | But you'd call thing(::Whatever) | ||
gaal | so why | ||
?eval Array | |||
evalbot6 | \{obj:Class} | ||
gaal | oops | ||
?eval ref Array | |||
evalbot6 | ::Class | ||
gaal | with the :: ? | ||
pdcawley | Easier to read. | ||
gaal | heh | 18:57 | |
ok | |||
pdcawley | You *know* it's atype. | ||
Same as why there's still Sigils. | |||
svnbot6 | r4493, rootmj++ | docs/talks/Apocalypse_Now.spork | 19:00 | |
r4493, rootmj++ | @h{'!'} @h.method -> %h{'!'} %h.method | |||
pdcawley | ?eval sub foo { $?CALLER_CONTINUATION } ; foo | ||
evalbot6 | Error: Undeclared variable: "$?CALLER_CONTINUATION" | ||
pdcawley | Not implemented yet then. Bah. | ||
iblech | It's &?CALLER_CONTINUATION | ||
But it seems to have some bugs | |||
pdcawley | ?eval sub foo { &?CALLER_CONTINUATION } ; foo | 19:01 | |
evalbot6 | \sub {...} | ||
pdcawley | Full continuation? | ||
iblech | Dunno | 19:03 | |
pdcawley | Right, I'll have a play. | 19:04 | |
wolverian | are there other kinds of continuatinos? | 19:05 | |
s,no,on, | |||
pdcawley | wolverian: There's it's poor relation, the 'escape continuation' which isn't really a continuation because you can only use it once. | ||
Personally, I prefer to think of them as chocolate teapots, but I'm picky like that. | 19:06 | ||
wolverian | chocolate teapots. heh. | 19:08 | |
nothingmuch | evening | 19:10 | |
geoffb | g'day | 19:14 | |
pdcawley | Arg, can't remember the rules for slurpiness in signatures. *@foo slurps the rest of the args right? | ||
Aankh|Clone | Yes, pdcawley. | ||
SamB wonders why in the world you would want to use the same continuation twice | 19:18 | ||
svnbot6 | r4494, iblech++ | t/operators/repeat.t -- unTODO a now suceeding :todo<bug> test. | 19:19 | |
r4495, Aankhen++ | * fixed a few parsing problems in HTTP::Message. | |||
pdcawley | SamB: All sorts of reasons. | ||
I'm writing some example code now. | |||
SamB | all sorts of MUTABLE STATE THAT MAKES YOUR HEAD EXPLODE reasons? | 19:20 | |
integral thinks using the same subcontinuation twice is more useful more often | |||
svnbot6 | r4496, iblech++ | Implemented ::?CLASS, ::?ROLE (currently same as ::?CLASS), and ::?PACKAGE. | ||
r4496, iblech++ | Aankhen``++ | |||
pdcawley | Writing it, and understanding how it works, can make your head explode. | ||
However, the kind of things you can do with full continuations can be a delight to *use*. | |||
gaal | anyone remember which yapc movie it was that had the Meta joke? | 19:22 | |
rjbs | not one I've seen, I think. | 19:23 | |
gaal | oh | 19:24 | |
oscon movie :) | |||
www.perl.org/oscon/2003/movies/truth/ | |||
awwaiid | yeah, reuseable continuatiosn rock :) | 19:26 | |
pdcawley | ?eval my $try = -> *@choices { if 1 { 10 } } | 19:28 | |
evalbot6 | \sub {...} | ||
pdcawley | ?eval my $try = -> *@choices { if 1 { 10 } }; $try() | ||
evalbot6 | 10 | ||
pdcawley boggles. How do I paste an extended lump of code in here? | 19:30 | ||
wolverian | see /topic | ||
gaal | perlbot nopaste | 19:31 | |
perlbot | Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel> | ||
pdcawley | Ta. | 19:32 | |
pasteling | "pdcawley" at 217.146.110.1 pasted "Weird syntax error" (35 lines, 724B) at sial.org/pbot/10895 | 19:33 | |
pdcawley | HTF can it not be expecting an 'i' after the opening brace of a code block? | 19:34 | |
gaal | that's just the parser not being suffiiently friendly. | ||
the error is deeper in. | |||
could it be you want &give_up := ? | 19:35 | ||
Limbic_Region | oh yeah - parser errors are a PITA to debug | 19:36 | |
pdcawley | Wow. Now it's *really* breaking. | ||
I could be wrong, but I *think* it's compiling now. But oh *my* is it throwing a spectacular error. | 19:37 | ||
pasteling | "pdcawley" at 217.146.110.1 pasted "Huge syntax error" (4 lines, 7K) at sial.org/pbot/10897 | 19:38 | |
gaal | that's a run time error | 19:39 | |
pdcawley | Indeedly. | ||
gaal | not a syntax error :) | ||
iblech | It seems you can't re-bind &subs. | 19:40 | |
pdcawley | And I still need 'sub' before sub blocks. | 19:41 | |
Limbic_Region | but not all sub blocks | ||
pdcawley | And when in doubt, stick a ; on the end. | 19:42 | |
Limbic_Region | it is weird but sometimes omitting it works and sometimes it doesn't | ||
pdcawley | Ah. Now I'm just getting a simple 'program failed' at... um... everywhere. | ||
Ah. No, I understand that. | 19:43 | ||
Seems &?CALLER_CONTINUATION doesn't work... | |||
But we probably knew that. | |||
pdcawley notes that the power of non-deterministic programming *still* blows his mind. | 19:45 | ||
Hmm... thinking about this, I might be able to write 'choose' *without* needing a 'proper' continuation -- might be able to get away with 'return' in a pointy block. | 19:47 | ||
iblech | That doesn't work yet -- t/pugsbugs/return_in_anonymous_subs.t still fails | 19:49 | |
pdcawley | Shame... | 19:50 | |
Wouldn't hurt to have an (in)sanity check to see if what I'm thinking of should actually work... | |||
Aankhen`` | Hmm. | 19:53 | |
Aankhen`` ponders HTTP::Message as a class versus HTTP::Message as a role. | 19:54 | ||
pasteling | "pdcawley" at 217.146.110.1 pasted "Continuationless ND programming" (16 lines, 377B) at sial.org/pbot/10898 | ||
svnbot6 | r4497, iblech++ | Make ::("?CLASS") etc. work (symbolic dereferentiation for type vars). | 20:05 | |
Aankhen`` | Does a plain ::?CLASS work? | 20:06 | |
iblech | Yep, I implemented some minutes ago :) | 20:07 | |
pdcawley: Does this example work? Should it be checked in to example/? | |||
pdcawley | I think it *should* work. | ||
But I'm not sure Larry does. might have to implement it with a continuation -- when they work. | 20:08 | ||
Aankhen`` | iblech++ # ::?CLASS =) | ||
iblech | Aankhen``++ # asking for it :) | 20:09 | |
pdcawley | From things Larry's said on p6l it sounds like 'pointy block return' should uses an escape continuation. So that code probably shouldn't work. | ||
The continuation version *should* work though. | 20:10 | ||
pasteling | "pdcawley" at 217.146.110.1 pasted "Continuationful ND programming" (19 lines, 412B) at sial.org/pbot/10900 | ||
pdcawley | That should work, if 'sub callcc (Code &block) { &block(&?CALLER_CONTINUATION) }' works. | 20:11 | |
Oh. Fuck. Just worked out why it's failing. | 20:13 | ||
Breaking differently now... | |||
gaal | um, how do i "return;" in p6? | 20:16 | |
svnbot6 | r4498, iblech++ | t/var/symbolic_deref.t -- Tests for ::("..."). | ||
gaal | and not from haskell? :) | ||
will return () work? | |||
iblech | ?eval my $counter; sub { $counter++; return; $counter++ }; $counter | 20:17 | |
evalbot6 | \undef | ||
iblech | Hrm | 20:18 | |
Err | |||
?eval my $counter; sub { $counter++; return; $counter++ }(); $counter | |||
evalbot6 | \1 | ||
iblech | Seems to work :) | ||
gaal | huh? i thought "return;" wasa syntax error now? | ||
Limbic_Region | gaal - when? | ||
gaal | well, it must have been just unimplemented when i had asked :) | ||
oh, but crap, i'm in prelude and i *can't* return | 20:19 | ||
shucks. | |||
Limbic_Region | ?eval my $counter; sub { $count = 3; return; $counter = 42; }.(); $counter; | ||
evalbot6 | Error: Undeclared variable: "$count" | ||
Limbic_Region | heh | ||
?eval my $count; sub { $count = 3; return; $counter = 42; }.(); $counter; | |||
evalbot6 | Error: Undeclared variable: "$counter" | ||
Limbic_Region | grrr | ||
pdcawley | s/counter/count | ||
Limbic_Region | ?eval my $count; sub { $count = 3; return; $count = 42; }.(); $count; | ||
evalbot6 | \3 | ||
iblech | gaal: Use if(return_condition) {} else {...rest of code...}? | ||
pdcawley | Hang on, '\3'? | 20:20 | |
Limbic_Region | gaal - AFAIK, the return problem was fixed way early on in Pugs development | ||
pdcawley - I don't know why the \ | |||
gaal | must have asked a long time ago then :) | ||
pdcawley | ?eval 3 | ||
evalbot6 | 3 | ||
gaal | iblech - no, because it want to retrun false | ||
undef in scalar context | |||
() in list context | |||
pdcawley blinks. | |||
gaal | *and i can't use want* :) | 20:21 | |
Limbic_Region | pdcawley - because it is tied to a variable? | ||
?eval "foo" | |||
evalbot6 | 'foo' | ||
gaal | meh, i'll just write this in haskell. it's easier there.(!) | ||
iblech | :) | ||
Limbic_Region | ?eval my $foo = 'foo'; $foo; | ||
evalbot6 | \'foo' | ||
Limbic_Region | yep | ||
pdcawley | ?eval my $foo = 3 | ||
evalbot6 | \3 | ||
Limbic_Region | tied to a lexical even | 20:22 | |
must be how evalbot works under the covers | |||
pdcawley | ?eval our $foo = 3 | ||
evalbot6 | \3 | ||
Limbic_Region | ok - so maybe it is how it gets passed up from p6 to Haskell out to the screen | ||
Limbic_Region notices there are no more straws to grasp and calls it a night | |||
SamB | what is ()? it looks like nil! | 20:23 | |
iblech | evalhelper.p5 uses eval($code).perl to display the results | ||
Limbic_Region heads homewards | |||
Aankhen`` | ?eval 3.perl | 20:26 | |
evalbot6 | '3' | ||
svnbot6 | r4499, iblech++ | t/oo/magical_vars.t -- Added tests for ::?CLASS and ::?ROLE. | ||
Aankhen`` | ?eval 3.perl.perl | ||
evalbot6 | '\'3\'' | ||
Aankhen`` | ?eval [].perl | ||
evalbot6 | '[]' | ||
Aankhen`` | ?eval [].perl.per | 20:27 | |
evalbot6 | Error: No compatible subroutine found: "&per" | ||
Aankhen`` | ?eval [].perl.perl | ||
evalbot6 | '\'[]\'' | ||
Aankhen`` | Heh, neat. | ||
gaal | what's the haskell V type for Class? VType? | 20:28 | |
the *pugs* type that is | 20:29 | ||
or is it a VObject that happens to be a class? | 20:31 | ||
svnbot6 | r4500, iblech++ | * Pugs.Parser -- Parse $::! etc., too. | 20:39 | |
r4500, iblech++ | * t/var/symbolic_deref.t -- Tests for this and $::("!"). | |||
Aankhen`` | iblech, I was wondering -- how old are you? | 20:40 | |
iblech | 16 | ||
Aankhen`` | Ah. | ||
Where you from? | |||
iblech | Germany, Bavaria, Augsburg | ||
Aankhen`` | Ohh. | ||
iblech | Ok, gonna sleep, school tomorrow | 20:42 | |
Night :) | |||
Aankhen`` | G'night. | ||
I think my computer is trying to tell me to get off. | 20:44 | ||
G'night. | 20:45 | ||
shaine | if ~ is concat now, whats ones complement? | 20:46 | |
20:47
sbkhh is now known as Odin-
|
|||
arcady | I think +~ | 20:48 | |
shaine | thank you | ||
arcady | actually, no | 20:49 | |
gaal | ?eval +~0 | ||
evalbot6 | 0.0 | ||
gaal | nope :) | ||
coaster | ~^ | ||
gaal | ?eval ~^0 | ||
evalbot6 | Error: unexpected "^" expecting term | ||
gaal | beh, quoting borkage. | ||
arcady | ?eval +^ 0 | ||
evalbot6 | Error: unexpected "^" expecting term | ||
arcady | oh right | ||
gaal | ~^ can't be right, ~-ops are stringy. | 20:50 | |
coaster | i got that from a03 | ||
This is now the bitwise XOR operator. Recall that unary ~ (1's complement) is simply an XOR with a value containing all 1 bits. | |||
[Update: ~ is now string concatenation. Bitwise XOR is +^ or ~^ depending on whether your doing numeric xor or stringwise.] | |||
gaal | well you aren't doing stringwise xor here! :) | 20:51 | |
shaine | ah crap, i gotta go | ||
Khisanth | hmm got parrot | 20:54 | |
gaal | i need a haskell function that's prolly in the prelude, but i don't know its name: | 20:56 | |
mkInf :: a -> [a] | |||
integral | that is in the prelude, can't remember the name though :-/ | 20:57 | |
gaal | mkInf x = x : mkInf x | ||
ah, there's 'iterate' | |||
which i can use with 'id' | 20:58 | ||
integral | hmm, I thought there was something specific | ||
gaal | repeat!! | ||
zvon.org++ | |||
integral | ah, repeat :-) | ||
gaal | thanks :) | ||
integral | www.cs.uu.nl/~afie/haskell/tourofprelude.html # Tour of the Haskell Prelude, is rather useful | ||
gaal | www.zvon.org/other/haskell/Outputpr...index.html has a great "related" field :) | 20:59 | |
caller becomes so beautiful | 21:00 | ||
formatFrame $ last $ take skip $ repeat fetchCaller | |||
where fetchCaller = monadic black magic :) | |||
sorry, forgot: | |||
integral | oh, you want replicate (replicate n x = take n $ repeat x) | ||
Juerd | So, suppose E is the euro sign, does Efoo = $foo automatically convert? ;) | 21:01 | |
integral | or maybe !! ? | ||
gaal | formatFrame $ last $ take skip $ filter wanted $ repeat fetchCaller | ||
actually this may not work, come to thing of it | |||
integral | formatFrame $ (filter wanted $ repeat fetchCaller) !! skip -- probably with a off-by-one error | 21:02 | |
gaal | because this is inside a weird monad thingie | ||
integral | ah, you need a M variant of these things | ||
gaal | i take care of the off by one | ||
before that | |||
anyway, the problem is that i wanted fetchCaller to do local (const $ envCaller env) stuff | 21:03 | ||
integral | hmm, well there's things like mapM, maybe there's a repeatM | 21:04 | |
xerox | integral, there indeed is. | ||
gaal | and: i don't want to replicate, because i need to actually generate more than i take, because i filter. | ||
xerox | integral, I ran a bot on #haskell while lambdabot is on vacation, if you need it :) | ||
gaal | (what i forgot the first time i gave the function) | 21:05 | |
integral | oh, neato xerox++ :-) | ||
gaal | xerox: clues on whether that would work as i want it to with Reader? | ||
xerox | gaal, sorry I was not reading all the discussion :) | 21:06 | |
pasteling | "gaal" at 192.115.25.249 pasted "current op1Caller impl" (21 lines, 878B) at sial.org/pbot/10902 | ||
gaal | i'm adding smarts to this function, to take some filtering responsibility upon itself | 21:07 | |
so i wanted to refactor the bits that do the recursion and upstacking out of the main code | |||
basically i want a fetchCaller local function that gives me the next stack frame every time it's called. | 21:08 | ||
oh, now i realized there's the additional complication of maybe running ouf of call stack :) | 21:09 | ||
i can't just take as much as i like, the generator isn't really infinite. | |||
boo, it was elegant for a moment there. :) | |||
xerox | :) | ||
gaal | no doubt i can have fetchCaller fail when it does run out of stack though? | 21:10 | |
thatwould be nice. | 21:11 | ||
GHC / typical haskell optimization question: | 21:17 | ||
say i define a local function to be if (x) then id else ...complex func.... | 21:18 | ||
where x is a variable of the main function | |||
will the local function be efficient when x is True? | |||
_metaperl | what does ++before the @ sign do here: | 21:19 | |
gaal | will its applications be nicely optimized away that is? | ||
_metaperl | sub NestedLoop (++@loop, +$OnlyWhen, +$code) returns Ref { | ||
what does "++@loop" mean? | |||
gaal | i think it means mandatory named arg | ||
_metaperl | in fact, that does +$OnlyWhen mean also | ||
the "+" in front of $OnlyWhen | |||
gaal | i'm sure that means optional named arg :) | ||
so you can call NestedLoop :loop<a b c> :OnlyWhen<x> | 21:20 | ||
but not NestedLoop() | |||
_metaperl | that's a serious hijacking on the autoincrement operator | 21:21 | |
gaal | i think it's not finally blessed, but larry's considering it. | 21:22 | |
it's mentioned in s06 i think. | |||
as an option. | |||
_metaperl | when do you think p6 is going live? | ||
gaal | it already does if you use iblech++ 's cd :) | 21:23 | |
pjcj | what does that mean? | ||
_metaperl | pjcj: you mean "going live" ? | 21:24 | |
pjcj | yes | ||
_metaperl | I mean when will it "ship" | ||
when will it be the main line stable perl | |||
q[pdcawley] | Some time. | 21:25 | |
_metaperl | when features are now added to p6 and p5 is just for maintenance | ||
gaal | so, is Class an object inside pugs? | ||
if i have sub foo(Class $x) | |||
what's the haskell type of $x? | |||
wolverian | _metaperl: ++ is an unofficial '+$foo is required' prefix | ||
gaal | sorry to repeat my Q from before, i'm needing this. | ||
wolverian | right, gaal told you that already. sorry to repeat. :) | 21:26 | |
gaal | aha! looking up op1 "ref" proved useful :-) | 21:27 | |
xerox | Goodnight folks :) | 21:28 | |
pjcj | _metaperl: I suspect those are three different times: 1. depends what you mean by "ship" 2. 3 to 8 years? 3. when 5.10 is releaseed? | 21:30 | |
clkao | pjcj! | 21:38 | |
pjcj | clkao! | 21:40 | |
clkao | so what about the uncoverable mark we discussed yesterday | 21:41 | |
pjcj | yes - what exactly is it that you need? | 21:43 | |
clkao | i want magic comments | 21:44 | |
pjcj | ah - is that preferable to an external file for you too? | 21:45 | |
clkao | yes. because if you change the relevant statement you will have to update the file in a painful way i presume | ||
i mean, it should be supported that way as it's obvious, people who don't like can of course establish their own policy to use external file | 21:46 | ||
pjcj | if you change the statement itself, yes | ||
ok - seems that most people want comments, so I had better support that | 21:47 | ||
clkao | )) | ||
:)) | |||
now, plan for release! | |||
limbicLR wonders if he can now type a + and not have it be eaten | |||
cool | |||
Limbic_Region | Juerd++ | 21:48 | |
gaal | pugscode.org/talks/apw/slide12d.html | 21:51 | |
didn't autrijus mean "%h" ? | |||
wilx` | Heh, is it only mine Firefox that merges all the bullets from 1. to 4. into one line? | 21:53 | |
On that page? | |||
gaal | yes. :-p | ||
kelan | would anyone mind helping me understand a section of chapter 6 of the harrorth saga? | 22:03 | |
sapp3r | msg /nickserv register sapp3r fritjof | 22:04 | |
gaal hasn't read it yet | |||
sapp3r: now sounds like a good time to change your password :) | 22:05 | ||
sapp3r | already have :) | ||
dumb typo, sorry for interuption. | |||
kelan | when does the NA hackathon happen? | ||
i think some good things will come out of that | |||
gaal | dunno, but it's sure to be on the site | 22:06 | |
google? | |||
kelan | i could probably look it up on perlmonks faster. heh | ||
it was in the announcement section | |||
wilx` | Hmm. | ||
Does Perl6 support multiple parents inheritance? | 22:07 | ||
kelan | i'd be surprised if it didn't | ||
but i don't know for sure | |||
wilx` | I'm just wondering because I just came over #39 of the presentation... | 22:08 | |
kelan | from S12: Perl 6 supports multiple inheritance, anonymous classes, and autoboxing. | 22:09 | |
gaal | durn, there is no repeatM. i'm sure this is trivial.. any lambdaheads still about? | 22:10 | |
repeatM :: Monad m => a -> m [a] | 22:11 | ||
kelan | hmm | ||
wilx` | Huh. | ||
gaal | repearM x = do return x : repeatM x | ||
? | |||
wilx` | repeatM = return $ repeat | ||
Maybe... | 22:12 | ||
kelan | how about: map (\x -> return x) repeat x | ||
er | |||
how about: map (\x -> return x) repeat y | |||
to be clearer | |||
gaal | dunno, can you do that? :) | ||
kelan | probably, but i think the type from mine would be `[m a]` instead of `m [a]` | 22:13 | |
gaal | return $ repeat is really cute | ||
22:13
wilx` is now known as wilx
|
|||
gaal | if it works | 22:13 | |
point-free and all. | |||
kelan | actually mine could just be `map return`, but again, wrong type | 22:14 | |
hugs says `return . repeat` is type `Monad a => b -> a [b]` | 22:15 | ||
so that looks like what you want | |||
gaal | uhhhh another lame question, to do this ad-hackishly, | ||
oh wait, i can just inline that. | |||
heh heh heh. | |||
wilx | Wheeee!! | 22:19 | |
That presentation is long even for me as reader. | |||
And I have been doing like a click every two seconds :) | 22:20 | ||
gaal | me too, the build was finished when i got to 20b and then the compiler errors started getting my attention. :) | ||
but up till then my though about this talk was this: | 22:21 | ||
wow, to be there without being involved in pugs must be mind blowing | |||
i wish i were there like that! | |||
but then i thought | |||
to be involved in pugs is way more mind blowing :) | |||
though i still wish i were there! | 22:22 | ||
wilx | :) | ||
gaal | hey, this is weird. the primDecl for op1 "ref" says it returns Str | 22:27 | |
but its definition looks like it returns a list of VType ? | |||
alternatively: what's "Type"? somewhere it said data Int | Str, but what does that mean? how can a type be an int? | |||
...and where are all the user defined classes etc.? | |||
kelan | wow poe is getting ported already? | 22:28 | |
gaal | iblech++ # the mad porter | ||
kelan | i would have thought poe would be held off until event semantics have been spec'ed | 22:29 | |
poe might not even really be needed since p6 will have an event loop | |||
integral | POE isn't just an event loop really. It's provides it's own object system for example | 22:30 | |
mugwump | and continuations etc | ||
mugwump declares an apostrophe jihad on integral | |||
integral | POE::Session::YieldCC does continuations for perl5 POE leakily | ||
err, they do that all by themselve's hone'st! | 22:31 | ||
gaal | so, i'm getting the tireds. should i march on past 'em and hack, or sleep and go see the antonioni+wenders film tomorrow morning? | 22:35 | |
problem is that in cases like these i invariably look to a role model and ask, what would my cat do? | 22:36 | ||
and that's sortof a sold trial when *sleep* is the case. | |||
also, i just got my second spam for today from a certain local spammer. ordinarily this would piss me off, but a week ago a new law was passed here that awards people about $200 damages per unsolicited message. maybe i should sue, if just to make them hurt? | 22:38 | ||
gaal sleeps & | 22:42 | ||
clkao | seen autrijus | 22:58 | |
jabbot | clkao: autrijus was seen 10 hours 16 minutes 59 seconds ago | ||
23:35
_meppl_ is now known as meppl
|