6.2.2 is airborne! | pugscode.org <Overview Journal Logs> | pugs.kwiki.org Set by autrijus on 1 May 2005. |
|||
mugwump | stevan, whereabouts do you live, out of interest? | 00:14 | |
autrijus | class Point { | 00:16 | |
has $.x; | |||
has $.y; | |||
method show () { say "Coordinate: ($.x, $.y)" } | |||
method set ($x, $y) { $.x = $x; $.y = $y } | 00:17 | ||
} | |||
my $pt = Point.new(:x(10), :y(20)); | |||
$pt.show; | |||
$pt.set(30, 40); | |||
$pt.show; | |||
This now works. | |||
committing. | |||
mugwump | autrijus++ # you da man | ||
nothing else, though, I suppose? Roles, isa, does, etc? | 00:18 | ||
autrijus | nothing else. | ||
gotta get started somewhere :) | |||
mugwump | yes, indeed. Well, I guess I can do away with Hack::Instances soon, then | 00:19 | |
Can I put defined Classes in method signatures? | |||
autrijus | yes. | ||
and they will just work. | |||
(envClasses gets modified) | |||
mugwump | FCKN@! (this is a positive exclamation in case you were wondering) | 00:20 | |
Gah, I wish I didn't have a major release due this week... suppose I'd better start on it :) | 00:22 | ||
hmm, I can't get to my freepan repos, nor ssh in | 00:29 | ||
oh, duh. it's not svn.freepan.org | |||
meppl | gute nacht | 00:30 | |
mugwump | tschuss | 00:31 | |
puetzk wonders if the "method set($.x, $.y)" works to make setters, or if that's only for constructors | 00:32 | ||
sproingie | pugs now has real class i see :) | 00:35 | |
autrijus | yes. have fun. :) | ||
zzz & | |||
autrijus is quite happy that both rules and oo has landed on the 100th day :) | 00:36 | ||
sproingie | i've never seen anything so complex developed so fast | ||
autrijus | that's anarchism for you :) | ||
sproingie | i always thought perl6 would be beyond mere mortals | ||
then again ... | |||
sproingie peers at ajitrus ... not sure about that mere mortal thing | |||
atrijus even | |||
autrijus | nah. I'm a mere mortal, this I'm quite sure :) | 00:37 | |
Odin- scribbles an encircled A somewhere very visible. | 00:41 | ||
stevan | autrijus++ | 01:07 | |
real classes,.. | |||
sproingie sets up his 32 bit jail so he can compile ghc so he can do pugs | |||
stevan | :) | ||
sproingie | *grumblegrumble* | 01:08 | |
stevan | mugwump: hey | ||
sproingie | grrrargh. i still have the music from phantom brave stuck in my head | 01:09 | |
mugwump | hi | ||
stevan | so is Hack::Instances obsolete now? | ||
mugwump | quite possibly | ||
sproingie | i must say, debian makes chroots drop-dead simple | ||
mugwump | sproingie: got linux-vserver.org? | 01:10 | |
sproingie | mugwump: nope | 01:11 | |
the chroot is working, don't want to mess with a vserver just yet | |||
mugwump | jail your chroots! | ||
sproingie | not planning on running anything hostile in them | ||
i just need a 32 bit chroot, not a jail | 01:12 | ||
besides, i want the chroot to talk to the same localhost as the 64 bit system | |||
so i can run x apps | |||
tho i suppose there's some kind of bridged interface support | 01:13 | ||
mugwump | I'm not trying to convince you, just thought you might be interested ;) | ||
sproingie | yah i'll probably run a vserver if i decide to start perl6nomic | 01:14 | |
i was holding out for classes, and now they've landed | |||
unfortunately the regular perlnomic is meeting the same fate as all other nomics. stagnancy leading to a dead game | |||
sproingie has a de facto static ip like all the other cable modem folks, could probably take the traffic | 01:16 | ||
stevan | mugwump: I got can() to work | 01:42 | |
eval 'defined(&' ~ $method ~ ')' ?? eval '&' ~ $method :: 0; | 01:43 | ||
its an ugly ugly hack,... but then again, all of Hack::Instances is one :) | |||
mugwump | hoice | 01:46 | |
choice even | |||
so, where in the world are you, stevan ? | |||
stevan | Northeast US | ||
your in NZ right? | |||
mugwump | I am | ||
must be small hours there now then | 01:47 | ||
no, what am I on about | |||
evening? | |||
stevan | 9:46 om | ||
pm | |||
mugwump | ok, so you're 16 hours behind me at the moment, or 8 - 24 hours ahead | 01:48 | |
stevan | it is tuesday here | ||
I think you are ahead of me | 01:49 | ||
mugwump | wednesday afternoon here | ||
stevan | yeah | ||
so have you played with the class support yet? | |||
mugwump | sadly I'm being distracted from my real work by my professional tasks | 01:50 | |
stevan | ah | ||
where do you $work | |||
sproingie | ARGH. ghc won't build from cvs | ||
what version of ghc does pugs need? | |||
stevan | sproingie: 6.4 | 01:51 | |
sproingie | oh hey that's actually out now | ||
mugwump | stevan: I'm the webmonkey for www.bnz.marketview.co.nz/ | ||
sproingie | i can just download a binary | ||
would be NICE if ghc actually built out of the box tho | |||
mugwump | or apt-get -t experimental install ghc | 01:55 | |
sproingie | mugwump: got a sources.list line i can use for experimntal? | 02:22 | |
i'll put it in sources.list this time, honest :) | |||
mugwump | I just change "sarge" to "experimental" from my normal sources | 02:23 | |
sproingie | i use ubuntu | ||
mugwump | ah | ||
deb ftp.nz.debian.org/debian experimental main contrib non-free | |||
you'll need to s/nz/$your_country/ | |||
sproingie | apt-get -t experimental install ghc doesn't give me anything newer than the other repos | 02:25 | |
funny thing, apt-get update gives me a GPG error, and tells me to run apt-get update to fix it | 02:26 | ||
how do i install the gpg key for the experimental repo? | 02:27 | ||
mugwump shrugs | |||
it worked for me :) | 02:28 | ||
stevan | autrijus: how can I get $self with classes? | 02:29 | |
mugwump | actually, seems 6.4-3 is now in unstable, too. | ||
sproingie | blean | ||
stevan | (I know you are not on, but I figure you will see in the backlog) | ||
sproingie | that means ubuntu is slower than sid | ||
mugwump | you could add unstable uris to your sources.list too, but pin them to a really low priority so the ubuntu packages take priority... | ||
stevan | mugwump: class support has some missing spots, but I am going to start converting Perl::MetaModel anyway | ||
sproingie | mugwump: i'm at a complete loss as to how I'd do that ... | 02:30 | |
mugwump | stevan: great... hopefully I'll be finished with this week's work tomorrow | ||
stevan | nice | ||
mugwump | sproingie: jaqque.sbih.org/kplug/apt-pinning.html | ||
sproingie | cool. guess the worst that can happen is that i hose my system ... which is just a chroot | 02:32 | |
mugwump | sure. and the best thing that could happen is that it works and you post a nice info page about how ubuntu users can easily pick up extra packages from debian when they're not in multiverse or whatever | ||
no pressure | 02:33 | ||
sproingie | dammit. same gpg error from unstable. i'll have to ask #ubuntu | 02:36 | |
jesus. everyone there just bleats about how evil and wrong it is | 02:38 | ||
and if i ask #debian, they'll just scold me for using ubuntu | |||
ah, found one helpful soul | 02:45 | ||
yay, got darcs | 03:06 | ||
now for pugs | |||
argh, the darcs repository on pugscode.org doesnt want to work | 03:07 | ||
has it moved primarily to subversion/svk now? | |||
obra | it has, but it's regularly syncced to darcs | 03:08 | |
sproingie | yahbut the darcs url is all broked | ||
guess i can get svn | 03:09 | ||
ok, im an idiot with svn... how do i check out/update pugs with it? | 03:13 | ||
stevan | sproingie: svn co svn.openfoundry.org/pugs | 03:14 | |
sproingie | kinda like cvs except with http. nice | ||
svn update to update? | |||
stevan | yes | ||
svn help is actually very informative too | 03:15 | ||
basically you can do svn help <command> | 03:16 | ||
and this comes in handy too svnbook.red-bean.com/en/1.0/index.html | |||
sproingie | cool | 03:18 | |
mugwump | sproingie: there's an appendix in the svnbook that explains the differences going from CVS -> Subversion. Highly recommended. | ||
sproingie | i know some cvs, but mostly i like pointy-clicky stuff like tortoisecvs | ||
mugwump | so get tortoisesvn! :) | 03:19 | |
sproingie | have it on the windows side | ||
wish like crazy there was some equivalent for konqueror | |||
mugwump | yeah, cervisia isn't great | ||
sproingie | whups. guess i need to install parrot too | 03:21 | |
what's this about hs-plugins? | |||
mugwump | set pugs compiling while you get those installed; you don't *need* them for all features of pugs | 03:22 | |
just PGE/yaml/etc | |||
Khisanth | PGE seems rather significant though :) | ||
sproingie | yah, i want it to produce parrot | 03:23 | |
svk really excites me, because we used to use cvs, but the Big Borg Parent uses perforce | 03:24 | ||
i hate cvs, and my opinion of perforce is "meh", but a unified interface for them, very nice | 03:25 | ||
oif. parrot configure fails | 03:26 | ||
does parrot not work with gcc-4? | |||
dvtoo_ | gcc4 almost doesn't work with itself ;) | 03:27 | |
sproingie | sadly, I get the exact same error with gcc-3.3 | ||
dvtoo_ | what os/arch? | 03:28 | |
sproingie | ubuntu breezy, x86 | ||
actually a 32 bit chroot on x86_64, but it's compiled everything else ok | |||
does Configure.pl leave a log? | 03:29 | ||
dvtoo_ | unsure, it's been a while since I looked | ||
sproingie | aha | ||
it's looking for a "cc" command | |||
which doesnt exist | |||
dvtoo_ | odd. there isn't one on solaris either, but it works fine there | 03:30 | |
well, relatively | |||
it builds ;) | |||
sproingie | guess i'll add the cc alias and try again | 03:36 | |
already uninstalled gcc-4, but it's too bleeding edge anyway | |||
hope ghc doesnt require it | |||
dvtoo_ | I doubt it even works with 4.0.0 ;) | 03:38 | |
you may not have noticed, but I'm not super impressed with the gcc4 or ghc build process, but that's probably due to how much I've been fighting with both of them lately ;) | 03:40 | ||
sproingie | ghc failed to build for me, so i gave up and installed it from unstable | ||
which takes a little work since i run ubuntu | |||
dvtoo_ | yeah, this is on solaris ;) | ||
sproingie | oy | ||
made a bunch of symlinks, seems to work ok now | 03:42 | ||
03:44
Lopo_ is now known as Lopo
|
|||
f0rth | is pugscc with backend Pugs broken? | 03:47 | |
sproingie | yay, pugs works | 03:55 | |
argh. i can't compile hs-plugins. no inline haskell for me | 04:02 | ||
hm. looks like it might have built enough | 04:03 | ||
nope. no evalhaskell | 04:04 | ||
Khisanth | has there ever been anything on the ML regarding unloading modules? | 04:17 | |
sproingie | hs-plugins seems totally broken | 04:20 | |
ahh, older snapshot seems to work all right | 04:23 | ||
batkins_ | will/does parrot support haskell? | 05:05 | |
mugwump | parrot supports anything that will compile to it! :) | 05:12 | |
Khisanth | wasn't there someone working on a gcc frontend that would target parrot? | 05:15 | |
mugwump smokes some crack | 05:16 | ||
yeah, I can see it | |||
damn it's gone, and now all I feel like is more crack | 05:18 | ||
batkins_ | haha | ||
07:29
chady_ is now known as chady
|
|||
pernod | MSN'e* | 07:43 | |
knewt | anyone got any ideas what this error when building hs-plugins is due to? [[ Rebuilding dependencies ... Could not find module `Data.List': ]] | 08:20 | |
hmm. snapshot from 20050424 works. that'll do. | 08:32 | ||
aarrrggghhhh. hs-plugins is /not/ sane. not bloody DESTDIR support | 08:35 | ||
s/not bloody/no bloody/ | |||
Juerd | 1= | 09:05 | |
s/1=// | |||
Forgot my svn password :( | 09:14 | ||
webmind | smart :) | 09:15 | |
gaal|work | Juerd, there's a send-password link on openfoundry. | 09:32 | |
Juerd | Oh, right. I forgot that it was linked to a site | ||
Thanks | |||
JaffaCake | anyone tell me where the darcs repo of pugs is? | 10:10 | |
nothingmuch | JaffaCake: sure, one second | 10:13 | |
but the darcs repo is not worth it... svk revisions are applied to the working dir, and then 'darcs record' is done, once a minute or so | |||
so any patch you submit will be a conflict | |||
wolverian | whoa, OO. pugs++ | ||
JaffaCake | just want a quick way to download it, I don't have SVN installed | 10:14 | |
nothingmuch | ah | ||
hmm, it seems to have disappeared | 10:15 | ||
wagner.elixus.org/~autrijus/darcs/pugs/ | |||
want me to rsync a copy of the repo to my website? | |||
JaffaCake | that's what I thought, I wondered if it had moved | ||
b6s | elixus' hosting is moving. | ||
JaffaCake | not a big deal, I'm trying with 6.2.2 now (trying to reproduce a bug someone reported in GHC) | 10:16 | |
ajs | Well, I figured out where that Parrot error was coming from yesterday... now to see if I can figure out enough Haskell to formulate a patch ;-) | 10:53 | |
pdcawley | Heh. | ||
Is anyone working on P6::DBI? | |||
kungfuftr | pdcawley: don't believe so | 10:54 | |
ajs | Well, we don't have OO yet, so it's probably a bit early, unless you just want to do design. | ||
pdcawley | Didn't OO just get announced? | ||
kungfuftr | thought about DBI::PurePerl, but it uses a scary amount of perl5 foo | ||
ajs: OO is here | |||
pdcawley | On the blog. | ||
ajs | Heh, sorry I'm whole hours behind ;-) | ||
pdcawley might half inch one of the Pure Ruby interfaces to MySQL. Not standard, but enough to get up and running. | 10:55 | ||
I find myself thinking 'Perl6OnRails' | |||
Juerd | pdcawley: Can't you use a trojan ponie to get that running? | 10:57 | |
pdcawley | Is ponie running? | ||
Plus, where's the fun in that. | |||
Perl 6 babie. | |||
Juerd | Ponie exists and pugs can eval_parrot | ||
I'm no expert, but this ought to be enough to use ponie, right? | 10:58 | ||
pdcawley doesn't know. | |||
Juerd | pdcawley: Perl 6 programming is currently a hell of a job, with list context being broken | ||
There's no way without eval to simply add an array or hash reference to an array | |||
As references currently flatten :( | |||
ajs | As for DBI... I think you want roles before formalizing P6 DBI. I imagine that one of the best things that could happen to DBI would be to slice off a bunch of "many, but not all databases consider this standard" stuff into roles that can be applied at run-time by using special constructors. That would reduce the footprint of DBI considerably | ||
Juerd | Instead of push @foo, [], you have to do my $i = @foo.elems; eval "\@foo[$i] = []" | 10:59 | |
Because a non-literal-integer expression in [] provides list context to the rhs, you can't just do @foo[@foo.elemes] = [] even | |||
broquaint | Couldn't someone "just" write a Parrot DBI then call that from Pugs? | 11:00 | |
pdcawley | Juerd: Yikes! | ||
Juerd | pdcawley: That's what I thought when I discovered this yesterday. | ||
ajs | broquaint: yes, though that would still want P6 window-dressing. | ||
Juerd | pdcawley: I really hoped/thought/assumed pugs would have had this fixed by now | ||
It can be that the current behaviour is intentional | 11:01 | ||
In that case, it's time to discuss list context again | |||
pdcawley | Can you write 'sub pushref {...}' to handle that? | ||
kungfuftr | pdcawley: Rosetta ? | ||
pdcawley | Or does [] get flattened by the function call? | ||
Juerd | pdcawley: It'd be a pushscalar, but yes. | ||
ajs | what's the magic cookie that prevents agressive haskell optimizatioin and speeds up builds of pugs? I'm dying with these frequent updates :) | ||
Juerd | pdcawley: No, a scalar parameter provides scalar context | 11:02 | |
pdcawley | unoptimized | ||
ajs | is that a flag to Makefile.PL? | ||
pdcawley | Are multimethods in? | ||
broquaint | But isn't the hard part writing the DB interface, ajs? | ||
ajs | NM, found it. Thanks for the poiunter! | ||
broquaint: hrm... depends. Writing a P6 DBI (even given a Parrot under-layer) is challenging. P6's relationship with its OO system is not yet clear in terms of practical coding | 11:03 | ||
broquaint | Surely by the time it's written perl6 will be finished anyhow ;) | 11:04 | |
ajs | Writing Parrot DBD modules should be trivial enough, since you can adapt much of the P5 DBDs | ||
knewt | hmm # [[ Failed 27/249 test scripts, 89.16% okay. 80/4861 subtests failed, 98.35% okay. ]] | 11:05 | |
pdcawley | ISTM that attempting to write real apps in 6 is one of the things that'll supply Autrijus with loads of tests. | ||
Juerd | I remember that hashrefs serialized as [] | ||
eh | |||
arrayrefs as [] | |||
hashrefs as {} | |||
They're both \() now. That's horrible to work with. | |||
pdcawley | Juerd: When did that happen? | ||
ajs | pdcawley: certainly, and taking a stab at something that might change with evolving usage isn't all bad | ||
er, isn't *at* all bad, is what I meant | 11:06 | ||
knewt | so, am i supposed to be seeing that many failing tests? | ||
ajs | knewt: dunno. Haven't run a make test today | ||
Juerd | pdcawley: I have no idea -- I haven't used pugs for weeks | 11:07 | |
pdcawley | Ah... it's a pugs thing, not a Larry thing? | ||
kungfuftr | broquaint: there are DB's that don't require C... for example csv based databases... etc | ||
Juerd | pdcawley: If it's not a bug, then we need a hundred extra operators to compensate for the loss in functionality. | ||
references in list context must absolutely never flatten, because you can then no longer pass references in a list. | 11:08 | ||
broquaint | I would've thought a sqlite DBD would be fairly starightforward too, kungfuftr. | ||
kungfuftr | broquaint: yup... dbd::sqlite is self-contained | ||
ajs | Larry has changed his stance a few times on what refs do in list context, as I recall | ||
Juerd | Auto-dereferencing must only occur in SPECIFIC contexts, never in list context, never in "Any" context | 11:09 | |
pdcawley notes that push's context should probably be 'multi scalar' | |||
Juerd | pdcawley: Signatures have no way to provide an arbitrary number of scalar context items | ||
pdcawley | ie: @foo = (); @bar = ('bar'); push @foo, @bar; # @foo = (['bar']) | 11:10 | |
broquaint | I wonder if anyone has written a Parrot interface to sqlite ... | ||
luqui | Juerd: that's not true | ||
Juerd | pdcawley: And simple literals must be possible. I was unable to create a matrix of a b c d e / f g h i j / k l m n o / p q r s t / u v w x y with nested [], because of the broken list context. I had to hard code indices :( | ||
luqui | Larry has said it's something like *@foo is context(Scalar) | ||
kungfuftr has noted that it's entirely possible to map perl6 objects and relationships directly into oracle and pgsql | |||
Juerd | luqui: Oh. When was that? | ||
luqui | it's in some of the blessed documents somewhere... | ||
kungfuftr | if strictly typed that is | ||
pdcawley | Need to do push @foo, *@bar to get @foo == ('bar') | ||
knewt | kungfuftr: native class::dbi ? | 11:11 | |
Juerd | luqui: Then I think scalar context slurpy lists need to be the default, and well, list context can go away entirely. | ||
kungfuftr | knewt: no, not class::dbi, more like tangram | ||
luqui | pdcawley: you really think that push should have multiple scalar context? | ||
knewt | kungfuftr: never really looked at tangram. maybe i should ;) | ||
luqui | Juerd: why? | ||
Juerd | luqui: List context that you don't encounter everywhere, especially if it flattens aggressively, is useless anyway, because you can do the same with **, explicitly. | 11:12 | |
pdcawley | luqui: Only if you can't otherwise distinguish between @foo and [] | ||
Juerd | I cannot imagine ANY occurrence of wanting aggressive flattening of literals | ||
pdcawley | Though, thinking about it, even if you can. | ||
luqui | Juerd: by agressive flattening, you're referring to the infinite dereferencing semantics? | ||
Juerd | luqui: But I'd rather just have a list context that flattens only arrays and hashes, not references. | ||
luqui: No, flattening references. | 11:13 | ||
luqui: currently, ([],[],[],[]) is a 0 element list. | |||
luqui | there's no context that does that... | ||
pdcawley | @foo and %foo *are* references. | ||
Juerd | pdcawley: No, they are not. | ||
pdcawley: @foo in list context is its elements, in scalar context it's referenced | |||
luqui | Juerd: they are references that flatten themselves in flattening context | ||
Juerd | pdcawley: If you want a reference in list context, use \@foo. | ||
pdcawley: This hasn't changed since Perl 5. @foo in scalar context just returns a ref instead of th enumber of elems | 11:14 | ||
luqui: Whatever description suits you :) | |||
luqui | yeah, both descriptions work | ||
Juerd | I prefer to think of @foo and %bar as "real" arrays and hashes | ||
pdcawley | luqui: I rather think that 'flattening context' is a much better description of Perl 6 semantics as I understand them. | ||
Juerd | while \@foo, [] are references | ||
That makes discussing things lots and lots easier | |||
Of course, everything internally is a reference if it has a name :) | |||
pdcawley: I've suggested changing the names of contexts (singular and plural), but it hasn't happened | 11:15 | ||
pdcawley: Other suggestions are: item versus slurpy (as implemented in pugs) | |||
pdcawley: And scalar versus flattening | |||
I like item versus slurpy | 11:16 | ||
kungfuftr | Juerd: "steamroller context"! | ||
luqui | I like the other two :-) | ||
Juerd | kungfuftr: No, ** is the steamroller | ||
pdcawley | scalar, flattening and steamroller contexts... | ||
Juerd | kungfuftr: This is separate from list context | ||
luqui | yeah, like this: sub foo (**@_) | ||
Juerd | luqui: Which other two? | ||
luqui | the other two pairs of names | ||
Juerd | luqui: Which names? | ||
kungfuftr | *blink* there's actually a steamroller context!? | 11:17 | |
Juerd | luqui: Oh, nevermind. I understand now. | ||
ajs | yes | ||
Juerd | kungfuftr: Yes. | ||
kungfuftr | fuck me# | ||
Juerd | kungfuftr: And ** is the steamroller. | ||
pdcawley | **$thing --> take this abitrary data structure and present it as a simple list. | ||
luqui | kungfuftr: isn't it great learning about perl 6. All your jokes are actually features | ||
Juerd | pdcawley: aggressively, unlazying. | ||
ajs | ** is like $$ but upside down | ||
kungfuftr | luqui: yeah | 11:18 | |
pdcawley | Presumably composite classes will be able to declare how they decompose under a steamroller? | ||
Juerd | luqui: Yesterday someone asked me in private: "Is yada yada yada really an operator?!" | ||
luqui | yeah. | ||
but I still say no to ??? and !!! | |||
Juerd | I dunno | ||
I kind of like them | 11:19 | ||
kungfuftr | no to proposition S29! | ||
pdcawley | ??? and !!!? | ||
Juerd | !!! if <assertion>; | ||
luqui | they're like ..., but more agressive or something | ||
pdcawley really should be writing the summary. | |||
luqui is quite opposed to them | |||
ajs | ooh, I like that | ||
broquaint | Just c&p #perl6 logs, pdcawley ;) | ||
pdcawley | !!! if ??? | ||
Juerd | pdcawley: ..., ??? and !!! are the same thing, but ??? warns, and !!! dies, while ... merely fails | ||
pdcawley | broquaint: I think not. | ||
Juerd | pdcawley: The behaviour of "fail" is configurable | ||
luqui | Juerd: I thought ??? was the one that failed | 11:20 | |
kungfuftr | ah, nice | ||
pdcawley | That much I knew. And in my modules it will throw an exception. | ||
11:20
chady is now known as chady_
|
|||
Juerd | luqui: I think not. Let's see. | 11:20 | |
The box on which I read mail is overloaded | |||
This can take a while. | |||
Reading /home/juerd/Mail/perl6-language... 2500 (59%) | 11:21 | ||
pdcawley would far rather catch exceptions then spend his life checking return values. | |||
At least truth is out of band now... | |||
ajs | pdcawley: I hope you mean, "in my modules it will (by default) throw an excpetion," since clearly the user of your module might want consistency across their entire universe | ||
Juerd | pdcawley: Me too. That's why I *love* the new "fail" | ||
luqui | Juerd: you're right | ||
Juerd | pdcawley: You can simply "use fatal" and all fails are dies | ||
pdcawley | Juerd: I know. | ||
Juerd | luqui: Just when I found the message! :) | ||
pdcawley: I still like the undef default | |||
luqui | that's why it's configurable :-) | 11:22 | |
pdcawley | ajs: That's why I'll use fail not die. But all my modules will begin 'use fatal;' | ||
Juerd | pdcawley: Because for throwaway scripts, which I write much more often, it saves you lots of evals | ||
trys. | |||
pdcawley: Hm | |||
pdcawley | Juerd? Why try, just let the exception kill the script. | ||
Juerd | pdcawley: "use fatal" turns fail into die, I thought | ||
luqui has that message *'d, so that he can chew out Larry tomorrow | |||
pdcawley | It does... | ||
Juerd | pdcawley: Then if something else fails, you die, and if you fail, you merely fail. | 11:23 | |
pdcawley | But you just have to do CATCH ... {...} in an appropriate block, no need to try. | ||
Juerd | pdcawley: I think we then need something that turns fail into double-fail. | ||
ajs | pdcawley: hrm... doesn't that mean that your module will thrown exceptions regardless of the caller's wishes? Better to put that use fatal into your calling code.... | ||
luqui | double-fail? | ||
pdcawley | ajs: No. | ||
Juerd | luqui: like double-return | ||
pdcawley | use is lexically scoped. | ||
luqui | Juerd: which is? | ||
ajs | yes, correct. It's scoped | ||
pdcawley | Users of any module will get whatever fail behaviour they want. | ||
Juerd | pdcawley: Yes, but die is globally killing the script. | ||
luqui: return not only from the current sub, but also from the calling sub | 11:24 | ||
luqui | oh | ||
Juerd | pdcawley: Not if the *module* uses fatal. | ||
luqui | never had that need... | ||
Juerd | pdcawley: If the module uses fatal, and uses another module or function that fails, the module dies, regardless of fatal.pm setting in the caller. | ||
ajs | "use fatal" will set up exception behavior in your module, regardless of what any outer lexical scope desires | ||
luqui | Juerd: nope | ||
Juerd | pdcawley: That's why you'd need a double-fail instead. | ||
luqui | It's caller based | ||
oh | 11:25 | ||
Juerd phone | |||
luqui | I think I see what you're saying | ||
pdcawley | use fatal; says "In this module, anything I call should die to fail" | ||
If I then fail to catch that exception, it'll propagate out to my callers. | |||
luqui | yep | ||
pdcawley | But any 'fails' I throw will behave according to the pragmatic state of my caller. | ||
luqui | Juerd wasn't saying what I thought he was | 11:26 | |
ajs | Example: no fatal; { use fatal; fail; } | ||
luqui | ajs: that isn't a call | ||
ajs | correct | ||
wolverian | no fatal; class Foo { use fatal; sub bar { fail } } Foo.bar; # I don't want this to die | ||
pdcawley | And it won't. | ||
luqui | okay --- to get things straight: "fail" depends on the "use fatal" setting of the CALLER ONLY | ||
wolverian | ah, okay. how is that implemented, by the way? by walking caller()? | 11:27 | |
luqui | is it implemented? | ||
Juerd | luqui: So "use fatal" doesn't just turn any fail of called subs into die, it turns them into double-fails | ||
wolverian | well, I don't know. I was just wondering if it was some weird scoping rule instead. | ||
Juerd | luqui: Which caller, that's the qusetion. | ||
wolverian | (which one could use in other places) | ||
pdcawley | That's the calling function right, not the calling package (cf 'warn'/'carp') | ||
luqui | Oh, the caller of the thing that's calling fail | ||
Juerd | luqui: caller of in fatal context, or top level caller? | ||
ajs | So in that case, you pick up a lexical "use fatal" inside bar. The only way that "Foo.bar" doesn't choke is if "no fatal" implicitly wraps in a catch | ||
luqui | the "double caller" | ||
Juerd | luqui: Right. Then it's okay. | 11:28 | |
luqui | okay good | ||
wow | |||
pdcawley | Fail will always be a tail call... | ||
Juerd | luqui: That's exactly what I meant :) | ||
wolverian | ajs: right. that makes sense. | ||
knewt | so how will "use fatal" propagate into coroutines? just on the initial call, or differently for each re-entry? | 11:29 | |
Juerd | knewt: Per re-entry, I presume. | ||
ajs | knewt: It depends. If we have the implicit catching that pdcawley seems to be suggesting, then coroutines calls would be wrapped however each invocation desires. | 11:30 | |
luqui | knewt: uh... coroutines & continuations + exception handling = not thought about yet | ||
pdcawley could be wrong about the implicit catching. | |||
luqui | Yeah, I think each call into the coroutine could use a different fatal setting | 11:31 | |
ajs | Anyone mind if I formulate this as a P6L message? I find the question intriguing | ||
Juerd | (localized sites with automatic, unoverrideable selection)-- # fuck you, drop dead, and more like that. | ||
luqui | go for it | ||
pdcawley | But it makes sense to me that any block can have CATCH blocks within it. | ||
knewt considers repulling & recompiling pugs later today and seeing if he gets fewer test failures | |||
pdcawley | It's currently refusing to link on this OS X box. | 11:32 | |
(Tiger) | |||
whinging about an undefined symbol __DISCARD__ | |||
knewt | my computer spent all of last night building ghc packages for me :) | ||
as far as pugs goes i'm getting 27/249 test script fails, and 80/4861 subtest fails | 11:33 | ||
and 1 unexpectedly succeeded subtest | |||
Juerd | Shouldn't a CATCH { } block imply use fatal? | 11:34 | |
pdcawley | No. | ||
kungfuftr | Juerd: nope, lack of a CATCH block should imply fatal? | ||
pdcawley | Something could still be explicitly die/throwing. | ||
Juerd | That's clear. | ||
kungfuftr | you might also have lots of nested blocks and want to do the die/throw at a much higher level | 11:36 | |
pdcawley | (That being rather the point of using exceptions in the first place...) | 11:38 | |
Juerd | You're right. | 11:40 | |
Now I go to the office | 11:41 | ||
To see if there's work for me. | |||
ajs | message sent to list on fail / use fatal. Please send any corrections to my summary of the quandry. | 11:44 | |
heh, last night's update changed the behavior of my Parrot/factorial bug. Now it just calculates the factorial wrong ;-) | 11:45 | ||
gaal | hi there. | 11:55 | |
ajs | Got my test case down to a simple reproducer: ./pugs -BParrot -e 'sub a($x){$x} say a(1)+1' | 11:59 | |
Now to figure out where the off-by-one problem is in picking $P registers in the PIR output | 12:00 | ||
I just love writing code in a langauge I don't know in order to debug... it's like using an ice pick to pick up eggs | 12:17 | ||
pdcawley | Hhe. | 12:20 | |
Limbic_Region | There is more than 1 way to help!!! use.perl.org/comments.pl?sid=26466&...0310#40323 | 12:53 | |
scook0 | Hey, does anyone know how to add type annotations to Haskell functions? | 13:02 | |
(Using the inferred type) | |||
integral | the :: things? | ||
theorbtwo | Well, the format for adding a type annotation is funcname :: type | ||
integral just puts nonsense for the type, then copies what the compiler says it should be | |||
theorbtwo | If you just say funcname :: a, and follow the error messages, you'll get there eventually. | ||
scook0 | That's how you did it? | 13:03 | |
I'll try that... | |||
theorbtwo | If you want to cheat, and the function is exported, you can do ghc --show-iface=path/to/foo.hi | less, and find the signature there. | ||
scook0 | Aha! If you go into ghci, then :load the module, you can use :t to find the type. | 13:09 | |
mj41 | WinXP, r2962 - 780/4861 subtests failed, 83.95% okay. 16 subtests skipped. | 13:18 | |
Limbic_Region | perlmonks.org/index.pl?node_id=455979 # GET INVOLVED WITH PUGS!!!! | 13:19 | |
mj41 | Anybody clever enough for adding "for @array.values -> $val is rw { $val++ }" t/statements/for.t ? More important than OO for me :-). | 13:21 | |
Juerd | In case you have been hiding under a rock since before February, the Pugs project is giving us the ability to write Perl6 today. | ||
</quote> | |||
Even if you have not been hiding under a rock, the Pugs project is still giving us the ability to write Perl 6 today. | 13:22 | ||
Limbic_Region: Use a colon, not a comma :) | |||
integral thought VIM did that :-P | |||
Limbic_Region | mj41 - you sure that doesn't work now? | 13:23 | |
Limbic_Region is pretty sure it got added | |||
Juerd | mj41: @array.values is spelled @array | ||
Limbic_Region: I thought the 100 days were rather long | |||
Limbic_Region | heh | ||
well the days themselves were long - but given what has been accomplished it took no time at all | 13:24 | ||
mj41 | ok 27 - for @list -> $num is rw { $num++ } | 13:28 | |
not ok 28 - for @list.values -> $num is rw { $num++ } | |||
not ok 29 - for %hash.values -> $val is rw { $val++ }; | |||
not ok 30 - for %hash.kv -> $key, $val is rw { $val++ }; | |||
Limbic_Region wonders what for @list.values does that for @list doesn't mj41 | 13:30 | ||
you indicated it was more important to you than OO was | |||
AFAICT, they would do the same thing if both worked but since 1 does why squawk about the other? | 13:31 | ||
mj41 | autrijus said something about lvalue sub, %hash.kv is important too | ||
Limbic_Region | the %hash.values thing makes sense to me | 13:32 | |
not the array though | |||
but I am still interested in knowing why it is more important to you than OO? | 13:33 | ||
was the @array.values just an example and you really want something else that is similar? | |||
mj41 | because I wrote code when it was working --- wiki.kn.vutbr.cz/mj/attach/pugs/fool/tut.p6 | 13:34 | |
Limbic_Region | Juerd - A bug test is simple: write what do and what you expect first: | ||
that doesn't make a lot of sense to me? | 13:35 | ||
mj41 | yes example, I want "%hash.kv -> $key, $val is rw" | ||
Limbic_Region | hey merlyn - welcome | 13:36 | |
merlyn | In response to your PM posting. :) | ||
Juerd | Limbic_Region: Why? | ||
pmichaud | hello, merlyn | ||
Juerd | Hey merlyn! | ||
Limbic_Region | *grin* - already getting desired effect | ||
merlyn | wow. hangin' with the UberCoolCats | ||
mj41 | I used .kv is rw, but now it is broken. Sorry, my English is too bad. :-( | ||
merlyn | I'm not worthy. :) | 13:37 | |
Limbic_Region | "write what do and" - that just doesn't parse right for me Juerd - but I am under-caffeinated ATM | ||
mj41 - that makes sense - sorry I can't help with that though - I don't speak Haskell | |||
yet | |||
mj41 | :-0 | ||
Juerd | Limbic_Region: What wolud parse right for you? | 13:39 | |
ajs | mj41: There is a serious problem if you're using the parrot back-end with the use of return values right now. I'm working on tracking it down, but the symptom is that $P{n} gets the return value, but later on, $P{n-1} is read. | 13:40 | |
Limbic_Region | Juerd - I guess "write what to do and..." makes more sense to me - but you probably speak better English than me ;-) | ||
Juerd | Limbic_Region: No, it's not what to do. | ||
Limbic_Region | *shrug* - I have read the sentence several times and it doesn't sound right but I guess it's just me | 13:41 | |
Juerd | Perhaps past tense makes it more clear? | 13:42 | |
What you did, and what you expected | |||
Limbic_Region | yes | ||
perfect | |||
but you notice what word you added that made it clear | 13:43 | ||
it isn't the tense | |||
it is the word "you" | |||
write what "you" do and ... - would also have worked for me | |||
Juerd | That was already there. | 13:44 | |
Oh, no, the word is missing indeed. | 13:45 | ||
Limbic_Region even copy/pasted | |||
Juerd | Yeah, I don't know why I misread the paste as well. | ||
mj41 | "for @list.kv -> $key, $val is rw { $val++; say "$key : $val" }" is more meaningful | 13:52 | |
integral | *argh* GHC did something impossible :-( | ||
Juerd | mj41: Name it @array then | 13:53 | |
The name "list" is sort of like a promise you don't have a permanent association between indices and values | |||
mj41 | I replicated t/statements/for.t ... so "my @list = (0..5);" is wrong name? | 14:01 | |
stevan | Limbic_Region++ # champion of advocacy | 14:07 | |
Juerd | mj41: I personally think the word 'list' should never be used as an array identifier | ||
mj41: Unless it is the single slurpy list of a general purpose function (*@foo) | 14:08 | ||
mj41: Like in map's (&block, *@list) | |||
mj41: This all to avoid any confusion with lists, which are not arrays. | 14:09 | ||
mj41 | Juerd: ok, I think I remember Pugs with my @list = (0,,1); say @list.ref; prints "List" :-) | 14:11 | |
so Can I fix all tests? supervised s/list/array/ | 14:19 | ||
my @pop = (1, 2, 3, 4); | |||
- is(+@pop, 4, 'we have 4 elements in the list'); | |||
+ is(+@pop, 4, 'we have 4 elements in the array'); | |||
ok? | |||
Juerd | mj41: Yes | 14:20 | |
integral | NB: you may need to make clean after r2968 | ||
Juerd | mj41: Or simpler: The array has 4 elements | ||
mj41 | and plural form? lists -> arrays, is it? | 14:23 | |
Juerd | Yes | 14:24 | |
mj41 | "my @result = grep { ($_ % 2) }, @list; " is ok? | 14:34 | |
my $array_ref1 = ("foo", "bar", "baz"); | 14:39 | ||
- isa_ok($array_ref1, 'List'); | |||
+ isa_ok($array_ref1, 'Array'); ? | |||
stevan | Limbic_Region++ # champion of advocacy | 14:52 | |
iblechbot: you read my mind (i was going to move =:= to t/operators too) | 14:54 | ||
mj41 | say (401, 201, 1).ref; # List | 15:12 | |
my @a = (401, 201, 1); | |||
say @a.ref; # Array | |||
stevan | mj41: you really should put this code into a test | 15:13 | |
t/pugsbugs/ is a good place for them (assuming they are really bugs) | |||
mj41 | Juerd is our expert :-) | 15:14 | |
stevan | mj41: isa_ok($array_ref1, 'List'); is ok | ||
because Array is derived from List (IIRC that is) | 15:15 | ||
mj41 | I think they are good. | ||
stevan | this might be a bug | ||
say (401, 201, 1).ref; # List | |||
although I don't know for sure | |||
ajs | stevan: what would you have expected from that expression? | 15:19 | |
Corion | I would be careful about exchanging isa_ok($foo, 'List'); and isa_ok($foo, 'Array'); #in either direction. | 15:25 | |
... at least with Perl5 there are important differences and I assume there are differences in Perl6 too. | |||
mj41 | multi sub al ( List @a ) { say 'l' ~ @a; } | 15:26 | |
multi sub al ( Array @a ) { say 'a' ~ @a; } | |||
al( (1..3) ); my @a = (1..3); al( @a ); | |||
prints l1 2 3 \n a1 2 3 | |||
Corion | mj41: Which looks to me as if Perl5 semantics survive in Perl6 in this case. | 15:27 | |
stevan | ajs: I am not sure, but I suppose it would be "Array" | 15:28 | |
pdcawley could go with 'list' when it's actually describing: (a => (b => (c => undef))) | 15:32 | ||
Corion | pdcawley: That's Pairs. And it tshould be pronounthed like thith. | 15:33 | |
pdcawley | It's a lisp (as in LISt Processing) style list. | ||
So I'll go with 'list' when I'm using it as one. | |||
stevan | pdcawley: I think the => in your example was confusing | 15:40 | |
(a : (b : (c : undef))) | 15:41 | ||
Corion | Dotted pairs 4 life, dawg! | 15:42 | |
stevan | :D | ||
osfameron | I thought you could just do a=>b=>c=>undef ? | 15:43 | |
stevan | osfameron: those would end up being nested pairs | ||
osfameron | ah, is that decided? | ||
Corion | osfameron: We are reminiscencing on our time spent with Lisp :) | ||
osfameron | I posted the question to p6l and it seemed that it would do the right, um, lispy thing | 15:44 | |
Corion | r2975 - 4794 ok, 84 failed - datenzoo.de/pugs/win2k.html # where do the 4 additional fails come from? Are these the unlink()/Win32 fails? | 15:52 | |
mj41 | perlbot: nopaste | ||
perlbot | Paste your code here and #<channel> will be able to view it: sial.org/pbot/<channel> | ||
pasteling | "mj41" at 147.229.221.107 pasted "List vs. Array" (41 lines, 1.1K) at sial.org/pbot/10070 | 15:53 | |
Corion restarts the smoke | 16:00 | ||
C:/DOKUME~1/ADMINI~1/LOKALE~1/Temp/ghc1880.hc:3256: warning: implicit declaration of function `u_iswalpha' | 16:05 | ||
wilx clubs Corion for he uses Administrator account for work. | 16:10 | ||
Corion | wilx: Naah, it's for play :) | ||
PerlJam | autrijus++ still quick on the implement. | 16:11 | |
autrijus | Juerd: your bug is fixed. sorry. :) | ||
PerlJam | I just read Larry's message and I come here et voila, it's done! | ||
autrijus | :) | 16:12 | |
Juerd: however, I'm not so sure about this | |||
(1)[0] | |||
vs | |||
(1).[0] | |||
vs | |||
1.[0] | |||
should all three be "1"? all three be castfail? | 16:13 | ||
or is ()[] a special syntax? | |||
wilx | Hmm, aren't we just changing Perl5's dark corners for Perl6' dark corners? :) | ||
autrijus | I sure hope we're not :) | 16:14 | |
PerlJam | wilx: We're always doing that. hopefully perl6 has fewer though. | ||
Juerd | autrijus: Thanks for this important fix :) | ||
PerlJam | autrijus: If we keep the analogy that perl is like english, we must have dark corners *somewhere* ;) | ||
autrijus | np. I'm reverting (1)[0] to return 1, though | ||
instead of castfail | |||
Juerd | autrijus: (1)[0] adds . because two bracketing operators hit eachother, 1.[0] is different | ||
autrijus | how is (1) different from 1 again? | 16:15 | |
kungfuftr | Juerd: was it you who found Perl Medic disappointing? | ||
wilx | Hmm, (1) makes a literate list/array? | ||
autrijus | <- firmly of the "() is merely precedence fixer" camp | ||
Juerd | autrijus: it's not | ||
wilx | s/literate/literal/ | ||
Juerd | autrijus: (1,).[0] versus (1).[0] | ||
autrijus | so (1) is always parsed as (1,) ? | ||
PerlJam | wilx: I seem to recall that Larry was going the way of python on that one (i.e. you need a comma) | 16:16 | |
autrijus | right. so (1).[0] ought to be castfail | ||
Juerd | autrijus: Without anything special, () just groups, right? | ||
autrijus | and (1,).[0] is what one wants | ||
is that the idea? | |||
Juerd | autrijus: Castfail, or perhaps be smart, because it can't mean anything else | ||
autrijus | but if be smart, then 1.[0] needs to be smart as well | ||
Juerd | Hm.. | ||
autrijus | (I'm arguing the be smart is probably the right choice, btw.) | ||
kungfuftr | moo? | ||
Juerd | autrijus: I can't choose | 16:17 | |
autrijus | rand(2) | ||
Juerd | Please make that int rand 2 :) | ||
Otherwise there are still way too many possibilities ;) | |||
autrijus | ;) | 16:18 | |
wilx | Hmm.. | ||
autrijus | but anyway. flattening.t was testing that | ||
wilx | Writing 1.[0] to get 1 is odd. | ||
autrijus | my @a = (1..10); @a[0][0] | ||
is undef | |||
wilx | It should be error. | ||
autrijus | that is patent nonsense. | ||
it should either throw an exception, or return 1, imho. | 16:19 | ||
Juerd | autrijus: Isn't it so that postfix [] provides array context to its LHS, in which () becomes equivalent to []? | ||
And 1 is simply wrong? | |||
autrijus | Juerd: ah but what about @a[0][0] ? | ||
and also, note that in lhs, it's currently just (Val (VInt 1)) | 16:20 | ||
because that's what you get when you write (1) | |||
Juerd | autrijus: @a[0] goes well, @a[0][0] is a type error, because 1 is not an array | ||
autrijus | if you want the syntactic comma, (1,) is needed | ||
Juerd | BUT - beware of a possible &Num::postcircumfix:<[ ]> | ||
autrijus | sure. assuming it doesn't exist | ||
ok. so I gather you are favoring type error for both 1.[0] and @a[0][0]? | 16:21 | ||
Juerd | I'm not sure "type error" is correct | ||
But error, yes | |||
I'm more thinking it should complain about !.can(pcf:<[ ]>) | |||
autrijus | yeah sure | ||
that's what I mean. mmd failure etc. | |||
Juerd | Oh, yeah, crap | 16:22 | |
[] is multi, not method | |||
I still think that's a mistake :) | |||
autrijus | *shrug* :) | ||
i.e. I sympathize but I can't see where it makes a difference | |||
Juerd | In error reporting, and in syntax used to override. | 16:23 | |
class MyArray is Array { ... } | |||
It would be nice if you could do all the overriding in the class, with methods | |||
Rather than methods in the class, and other things with multisubs | |||
autrijus | I thought if you define methods, they get looked up first, then fallback to mmd | ||
Corion | r2981 - datenzoo.de/pugs/win2k.html - 164 failed ... that's a lot ... | ||
autrijus | i.e. invocant's method gets looked up first | ||
then multisubs | |||
Corion: yes, discussing that with juerd currently | 16:24 | ||
Juerd | autrijus: For method syntax, but I don't know if the same behaviour is defined for postcircumfix operators | ||
autrijus | Corion: lots of code depend on something equivalent to (1)[0] | ||
Corion | Aaaah | ||
autrijus | which has just been made illegal | ||
and which I'm not exactly sure is a good idea | |||
Juerd | merlyn: You invented the list slice, right? | ||
autrijus | Juerd: I think they need to be consistent on this... | ||
Juerd | merlyn: What's your opinion about this? | ||
Juerd tries to separate neodymium magnets | 16:25 | ||
autrijus | fwiw, (1)->[0] in p5 means @1[0] in p6. | ||
I'm sure we don't need to keep _that_ behaviour. | |||
or at least, I sincerely hope | |||
Juerd | I agree. | 16:26 | |
PerlJam | autrijus: I think that (1)[0] should DTRT (i.e. parse as if it were (1,)[0] | ||
Juerd | I HAD THEM SEPARATED FOR A SECOND | ||
stupid magnets | |||
autrijus | PerlJam: so () normally groups, but if followed by [] or .[], it magically constructs a list | ||
PerlJam | autrijus: yes. IMHO anyway | 16:27 | |
autrijus | what about (1){1} ? | ||
Juerd | PerlJam: The consistent way to do that is to say every scalar does Array | ||
PerlJam | that should carp | ||
autrijus | Juerd: right. and then you get 1.[0][0][0] == 1 | ||
Juerd | PerlJam: Because () are no longer special syntax when not postcircumfix | ||
autrijus: Yes. Interestingly, if $/[0] is the entire match, then $/[0][0][0] | 16:28 | ||
autrijus | Juerd: I'm trying to choose between the three evils. | ||
Juerd | autrijus: Yes. Interestingly, if $/[0] is the entire match, then $/[0][0][0] ~~ $/ much like how 1.[0][0][0] ~~ 1 :)) | ||
autrijus | 1. specialise ()[] to parse as (,)[] | ||
2. scalars are singleton lists, so ()[] naturally works | |||
Juerd | Allowing a single value to act like an array is useful | ||
autrijus | 3. make (1)[0] die horribly. | ||
Juerd | But I'm not sure wether it'd be annoying for error reporting perhaps | 16:29 | |
osfameron | 2 please! | ||
PerlJam | autrijus: without a ruling from $Larry (or @Larry even) #3 is the safest :-) | ||
Juerd | autrijus: My current preference is 2 | ||
autrijus | 42 tests depend on #2. | ||
Juerd | PerlJam: I don't think we should pick safest when safest isn't very useful | ||
PerlJam | Juerd: I agree. | 16:30 | |
osfameron | what would be the reason for breaking #2 which works in P5 and has some uses ? | ||
Juerd | PerlJam: Larry can overrule anyway, and even his own decisions, and waiting sucks. | ||
autrijus: That does kind of indicate it's the expected dwommery | |||
autrijus | ok. anyone want to try summarising this to p6l to ask for confirmation? | ||
Corion: ok... 42 more tests pass now :) | |||
Corion | autrijus: :)) | ||
PerlJam | osfameron: um ... what's the test case for #2 to work in perl5? | 16:34 | |
Juerd | grin | ||
autrijus | PerlJam: print ((1)[0]) | ||
PerlJam | autrijus: um ... that supports #1, but not necessarily #2 | 16:35 | |
PerlJam scrolls back up to make sure he was reading right | |||
autrijus | PerlJam: you was reading right indeed. | ||
try this then | 16:36 | ||
print (INC->[0]) | |||
print('INC'->[0]) too. | |||
that is a twisted form of #2 :) | |||
(which I agree should die) | |||
now the question is, if anything should take its place. | |||
so perl5 currently do #1 and a twisted weird form of #2. perl6 can either keep this, or unify them into one of #1/#2/#3. | 16:37 | ||
PerlJam | autrijus: I'll continue to vote #1 (so that when @Larry agrees, I can say "I told you so!" ;-) | 16:38 | |
autrijus | PerlJam: do you have five minutes to write this up to p6l? :) | ||
Juerd | I think #2 is the best for the language as a whole | 16:39 | |
PerlJam | autrijus: sure. | ||
autrijus | PerlJam++ | ||
Juerd | sub foo (@bar) { ... } | ||
foo($config<foo>) | |||
BEGIN { $config = { map { ...; $key => (/\s/ ?? $val :: $val.split) } ... }; } | 16:40 | ||
Limbic_Region | seen Jonathan | ||
jabbot | Limbic_Region: Jonathan was seen 2 days 14 hours 46 minutes 35 seconds ago | ||
Limbic_Region | seen Jonathan_ | ||
jabbot | Limbic_Region: Jonathan_ was seen 7 days 23 hours 32 minutes 5 seconds ago | ||
Limbic_Region | autrijus et all - is there a known list of platforms that Pugs works on? | 16:41 | |
I got a question at the Monastery and would prefer to point to a reference | |||
Corion | Win32 and Linux. | ||
(and *BSD) | |||
"Everywhere that GHC compiles to" | |||
Limbic_Region | ok | ||
Corion | (and it assumes that Perl5 is there as well, but Perl5 > GHC) | 16:42 | |
GHC 6.4 | |||
autrijus | haskell.org/ghc/docs/latest/html/bu...-info.html | ||
Juerd | Limbic_Region: Every platform that can run bochs, vmware, virtualpc, etc :P | ||
autrijus | or, rather, haskell.org/ghc/contributors.html | 16:43 | |
stevan | works on Mac OSX too :) | 16:44 | |
Corion | stevan: OSX is merely the commercial decline of *BSD :) | 16:45 | |
stevan | Corion: true dat | ||
Limbic_Region | thanks! | ||
Limbic_Region is going to start taking bets as to how long it takes merlyn to stop lurking and start actively contributing | 16:46 | ||
Juerd | Limbic_Region: A few hours | ||
autrijus | merlyn is here? since when? | 16:47 | |
Limbic_Region | since I wrote the "Get Involved With Pugs" article | ||
Juerd | 15:39 -!- merlyn [merlyn@blue.stonehenge.com] has joined #perl6 | ||
15:40 < Limbic_Region> hey merlyn - welcome | |||
15:40 < merlyn> In response to your PM posting. :) | |||
autrijus | wow, 3 hours ago | ||
Limbic_Region++ | |||
Limbic_Region | [09:36] <merlyn> In response to your PM posting. :) | 16:48 | |
Juerd | By the way - wtf? 3 hours? Time goes FAST | ||
Corion | r2982 - datenzoo.de/pugs/win2k.html - 4757 ok, 122 failed | ||
He just wants to hang out with all the cool people :) | |||
stevan | Corion: not just cool,.. but uber-cool | ||
Limbic_Region | Corion - that's why I started lurking too - now I am addicted | ||
stevan | Juerd: time moves faster in #perl6 | ||
Limbic_Region still doesn't contribute that much but every little bit helps | 16:49 | ||
it's called time dilation | |||
Juerd | stevan: Apparently! | ||
Corion | It's time we get Junctions working 100%, so we can work in multiple dimensions and get it done in constant time :) | ||
Limbic_Region | it explains a lot ;-) | ||
Corion - see perlmonks.org/index.pl?node_id=455283 | 16:50 | ||
autrijus | iblech: will fix * in a bit | ||
Corion forgot about the steamroller operator. Cute operator names are important ;) | 16:52 | ||
Juerd | autrijus, PerlJam: I just thought of ($aref)[0], which kind of rules out #1 | ||
Unless we really want that to return just $aref, which means () for grouping is no longer working with postfix [], in that (something that returns an array reference)[0] will return the arrayreference, and not its first element | 16:54 | ||
PerlJam | Juerd: yeah, I see that. | ||
I'm not firmly in the camp of wait-and-see-what-@Larry-says :) | 16:56 | ||
s/not/now/ | |||
Juerd | We're all in that camp | 17:01 | |
That doesn't mean we can't have personal preference | |||
revdiablo notices the flattening bugs have been magically fixed | |||
woo :) | |||
autrijus thinks that "iblechbot" is a fitting nickname | |||
slurpy * fixed | 17:02 | ||
Corion | I'm in the camp of "Implement, and see if it survives" :) | ||
revdiablo | hmm, who's in charge of the debian/ files? | 17:03 | |
autrijus | scw | ||
revdiablo | the version number is out of date... | 17:04 | |
I can commit the new changelog to fix it, just don't wanna step on any toes | |||
autrijus | just fix it :) | ||
toestepping does not exist with a version control system | |||
Corion | ... which reminds me, I should install svk ... | 17:06 | |
revdiablo | true, true. I'm still not used to it. :) | ||
autrijus | revdiablo++ | ||
Limbic_Region | [13:04] <autrijus> toestepping does not exist with a version control system | 17:07 | |
true or not - that is the anarchist in him talking | |||
autrijus | :) | 17:08 | |
revdiablo | autrijus: in your PM reply about the flattening, what's this corner case you speak of? | ||
on p6l somewhere? | |||
autrijus | revdiablo: PerlJam is supposed to write it up soonish | 17:09 | |
revdiablo: it's about the semantics of (1)[0] | |||
oh, it's in www.nntp.perl.org/group/perl.perl6....uage/21044 | |||
Juerd | autrijus: That's already been sent by PJ and has already received several responses | ||
autrijus mumbles something about accelerated temporal movements | 17:10 | ||
Corion sends the HypnoToad to put autrijus to sleep. | |||
stevan | class Time::Space { method warp { ... } } | ||
Limbic_Region hasn't watched TRHPS is some time | 17:12 | ||
autrijus | iblech++ # dealing with the fallout | 17:14 | |
smoke back to a more respectable 94 | |||
Limbic_Region | heh - let's turn failing smoke tests into a golf contents | 17:15 | |
ajs | that's an old topic. Larry had quite a bit to say about that WAY BACK when the semantics of , and => were first introduced for P6 | ||
Limbic_Region | s/contents/contest/ | ||
person fixing most failing tests resulting in lowest overal score wins | |||
autrijus | ajs: ...yet it's not noted in A/S/E | ||
or, afaics | |||
ajs | Let me go find the thread, and perhaps we can short-circut a lot of discussion. I recall it being very informative | 17:16 | |
autrijus | cool | ||
ajs++ | |||
knewt | anything since 2982 likely to get this looking better? [[ Failed 33/250 test scripts, 86.80% okay. 115/4873 subtests failed, 97.64% okay. ]] | 17:18 | |
autrijus | knewt: yes, iblech and I has been repairing them left and right | 17:19 | |
r2987 is markedly better | |||
the $1->$0 change is large | 17:20 | ||
knewt | heh, cool. another long build run then :) although it doesn't take as long as ghc did | ||
nothingmuch | autrijus++ | ||
knewt | my computer chugged away all night building ghc packages for me *g* | 17:21 | |
nnunley_ | cd | ||
revdiablo | to get the PGE, I need parrot, right? | 17:22 | |
autrijus | revdiablo: right. | ||
ajs | Some info in groups-beta.google.com/group/perl.p...9e00646b1b | ||
Limbic_Region | revdiablo - shame on you - as long as I went on and on about Parrot advocacy in #perl you are just NOW installing it? | 17:23 | |
revdiablo | Limbic_Region: well, uh, er | ||
Khisanth | heh | ||
nnunley_ | Blah. Any reason why haskell wouldn't be able to find src/Eval | 17:24 | |
autrijus | nnunley_: you have old version of hs-plugins? | ||
revdiablo | Limbic_Region: I built parrot a few times, but I couldn't find anything fun to do with it. unfortunately, PASM isn't quite as fun as Perl6 :) | ||
Khisanth | Limbic_Region: so what is this Parrot you are refering to? new pet? ;) | ||
nnunley_ | How old is old? | ||
autrijus | 20050410 or later | ||
knewt | i couldn't get anything later than 20050424 of hs-plugins to build | 17:25 | |
autrijus | I've heard that hsplugins is broken for a few days | ||
nnunley_ | Mine is 20050424 | ||
autrijus | I'm on 0417 | ||
nnunley_ reinstalls hs-plugins, just to be sure. | 17:26 | ||
nothingmuch tries to get up | |||
knewt | Limbic_Region: i've built parrot, but currently have no idea how to do a DESTDIR equiv for it, so currently it's not installed and is just being used in building pugs | ||
nnunley_ | Bah. I think darwinports tryed to help. | ||
s/y/i/ | |||
ajs | This is a better refernece (and the one that I'm recalling) where Larry says that $a=(10) gets 10 because () isn't magial. groups-beta.google.com/group/perl.p...38427f9f3b | 17:30 | |
autrijus | so ok, (10) is not magical. what does 10.[0] do, then? | 17:31 | |
ajs | 10.[0] should be an error, I would think, since Int.whatever[]is:[] is undefined | 17:37 | |
Well, more to the point Any.whatever[]is:[] is undefined | |||
But (10)[0] behaves according to context, and thus should work as you expect (resulting in 10) | 17:38 | ||
()'s (at least back then) were deemed to be very slightly magical in these cases: () - null list; (0) - dependent on context; (LIST) - simple precedence management, no other effect. | 17:39 | ||
autrijus | (0) depends on context? | 17:44 | |
so (2+3) too? | |||
ajs | yeah, at least it did in 2002 | ||
autrijus | as does pretty much all (term) without comma in them? | ||
clkao | autrijus: so are you in london yet? | ||
autrijus | clkao: spiritually | ||
ajs | so @a=(2+3) would be the same as @a=(5) | 17:45 | |
hey, this is just me trying to channel old $Larry posts. I'm sure I'm wrong ;-) | |||
autrijus | no, actually that makes some kind of strange sense | 17:46 | |
Corion | Aieee - svn is unreachable again ;) | 17:47 | |
ajs | It's as if millions of voices... bah, you know the punch line ;-) | 17:48 | |
autrijus | yeah. and I'm afraid it's me who killed it ;) | ||
autrijus curses NFS | |||
oh well. it will be back in, like, 7 hours | |||
ajs returns NFS.bless($svn) | 17:49 | ||
Corion | Ah, no worries - I'm not productive today anyway, and that gives me time to focus on other stuff. Like, sleep(). Or outside(). Or cook(). | ||
Mmmm. cook(). | |||
autrijus | right. or forme, work() | ||
Corion | Perl6 should get a work() builtin. So we can say work and work and work and die. | 17:50 | |
autrijus | .lived() und .laughed() ant .loved() end left(); Forsin(). :) | 17:53 | |
Juerd | Corion: s/die/fail/. Upgrade yourself to 2005 :) | ||
Nowadays, it's no exception to fail at work :) | 17:54 | ||
Corion | Juerd: work; fail; next work; fail; work; END { die } | ||
Juerd | Hm | ||
stevan | for (0 .. Inf) { .death and .taxes() } | ||
Juerd | "failure can be an exception" | ||
clkao | svn dead | ||
see, svk is still useful | |||
Corion | clkao: :) | 17:55 | |
stevan | but it's written in perl :P | ||
Limbic_Region | Khisanth - old pet actually, I stopped active involvement around late Nov early Dec | 17:56 | |
clkao | i share the same hate. but what else can you use it to boostrap the development of perl6? | ||
PerlJam | autrijus:, Juerd: Craig DeForest's email puts me over in Juerd's camp now. | ||
Limbic_Region | revdiablo - pasm isn't quite as fun as Perl6 - are you nuts? | ||
Khisanth | PerlJam: you're justo over there for the food | 17:57 | |
Limbic_Region | you don't take some kind of perverse pleasure in having an OO assembly language? | ||
Juerd | PerlJam: I have a camp? NEAT! | ||
revdiablo | Limbic_Region: oh, I definitely think it's cool, in theory | ||
clkao | so i can rewrite it in perl6 | ||
stevan | PerlJam: watch out for the crazy guy who lives in the cabin on the lake | ||
autrijus | clkao: we have OO now :) | ||
PerlJam | Juerd: yeah, but you need to build a fire and get more tents | ||
stevan | autrijus: speaking of OO, how do i get the invocant in a method? | 17:58 | |
Juerd | PerlJam: Pugs keeps us warm | ||
stevan | you are burning Pugs? | ||
Juerd | stevan: method ($self: $arg1, $arg2) { ... } | ||
stevan | or using them as tents? | ||
PerlJam | Juerd: friction from all of the patches as they are applied? | ||
stevan | Juerd: that doesnt work currently though | ||
Juerd | PerlJam: It's a warm community. | ||
stevan: Does any OO work then? | |||
stevan | Juerd: sorta :) | 17:59 | |
Khisanth | Limbic_Region: never saw much reason to be excited about Parrot | ||
Limbic_Region | autrijus - WRT what OO support currently exists in Pugs - using two modules with the same methods is no problem right? | ||
stevan | Juerd: I actually started cataloging what works and what doesnt | ||
clkao | why does make test want to link pugs every time? | ||
Limbic_Region | Khisanth - really? Huh. It has been producing working code for a long long time now | ||
Juerd | stevan: In the repo? | ||
autrijus | Limbic_Region: I think so | ||
stevan | Juerd: no not yet, I had to do $work, so i got distracted | 18:00 | |
Corion | clkao: "make test" makes an optimized Pugs. I use "make unoptimized" together with prove. | ||
Limbic_Region likes the fact that coroutines in Parrot do what he thinks unlike Perl6's | |||
clkao | oh nnunley told me because it's ingy-ware | ||
Limbic_Region | ok autrijus - I might port a few more things to p6 now | ||
Juerd | svn borked - great time to try svk | ||
clkao | i meant even if i run make before make test, why does it want to link again | ||
Juerd | Can someone tell me how to checkout? | ||
clkao | only if you have mirrored it with svk? | 18:01 | |
Juerd | (i.e. the url or whatever it uses) | ||
stevan | autrijus: method invocants? | ||
Juerd | Oh, the server is dead entirely? | ||
Corion | Juerd: I think autrijus killed the NFS | ||
PerlJam | Khisanth: parrot is pretty neat. I wrote a glob parser for PGE last night. It went quite smoothly (and I hadn't really written pasm in probably close to a year) | ||
clkao | it shuld be easy for mirroring from anyone who has mirrored | ||
PerlJam | well, I wrote a first-draft glob parser anyway | 18:02 | |
clkao | (!) | ||
knewt | ok, cool. with 2987 i'm down to 30 failed tests with 82 failed subtests | ||
clkao | it seems so much fun | ||
autrijus | Juerd: I'll give you somewhere else to checkout. a sec | 18:03 | |
Limbic_Region | problem with Parrot (or at least my problem) was that in addition to learning PASM I also had to improve my non-existant C fu | ||
autrijus | I think PIR is nice enough, btw. | ||
Juerd is going to try and get his matrix.p6 working | |||
autrijus proceeds to commit some more .pir code into src/pge/ | |||
Juerd | Or at least have it build the rule. (64 kB regex in perl 5 - thus much larger even as a Perl 6 rule!) | 18:04 | |
PerlJam | Limbic_Region: Really? I didn't think that at all (but then I probably already have the requisite C-fu) | ||
Limbic_Region | PerlJam - I never bothered to develop in C so I didn't really get used to it | 18:05 | |
Khisanth | Limbic_Region: that fact it can run stuff isn't a reason to be excited about it :) | ||
PerlJam | Khisanth: what would be a reason to get excited about it? | ||
Limbic_Region | different strokes for different folks I guess | 18:06 | |
I guess I joined because I was a bit like merlyn - wanting to hang out with the kool kids | |||
and just like Pugs - after seeing what was being done and how fast - I got addicted/excited | |||
Juerd | I guess I joined because. Hm, I don't know. Things started with autrijus asking lots and lots of questions ;) | ||
That feels like years ago now. | |||
While it has been only months. | 18:07 | ||
Limbic_Region | of course - with the disapearance of Dan and the squabbling on the list about how to proceed WRT Python support - I didn't have a hard time leaving | ||
PerlJam | Juerd: welcome to our time dilation! :) | ||
Juerd | PerlJam: But just a moment ago, time went fast. Now it has returned to slowness again? Oh dear. | ||
PerlJam | Limbic_Region: squabbling on the list? Wasn't it just sam and leo? | ||
Khisanth | PerlJam: for Parrot in particular? hard to say didn't have much interest from the start and it never really moved | ||
stevan | I started because wanted Perl6, and Ruby|Python|Java|C# was starting to look attractive | ||
Khisanth | PerlJam: the fact that it was able to run everything except Perl for quite a while didn't really help the excitement :) | 18:08 | |
stevan | Juerd: maybe the svn server is the source of the time-distortion | ||
Juerd | stevan: Are you trying to avoid Ruby? It's a nice language. | ||
Limbic_Region | PerlJam - pretty much those two but it was really anyone and Leo | ||
stevan | Juerd: I like it too | ||
Limbic_Region | no offense to Leo - just a lot of people seemed to disagree with him | ||
stevan | Juerd: but $work has plenty invested in perl and I really didnt want to switch if I didnt have to | 18:09 | |
Juerd | stevan: I think that during a day, things go fast. But everything more than 24 hours ago feels like three times as long ago as it really was. | ||
PerlJam | Khisanth: parrot was interesting in an academic sort of way to me until I saw how quickly people wrote compilers and how easy it was. now that we have pugs+pge I find it even more interesting because I now really believe it can accomplish its goal of being the platform for perl6 :) | ||
Limbic_Region | PerlJam - and I am not sure how much of that was a communications problem anyway | ||
stevan | Juerd: doppler effect :) | ||
Juerd: basically if I have to re-write our codebase, I would rather do it in perl6 | 18:11 | ||
PerlJam | Limbic_Region: some communications problems, but also leo's goals seem to be different from other people's goals. | ||
Limbic_Region: well, maybe not goals as much as priorities. | |||
Limbic_Region | exactly | ||
in any case - I think chip has things under control | |||
seen chip | 18:12 | ||
jabbot | Limbic_Region: chip was seen 32 days 23 hours 5 minutes 56 seconds ago | ||
Limbic_Region | that doesn't sound right | ||
PerlJam | Juerd: you should try staying away from pugs for more than a day and then coming back. It's like a whole new universe was created while you were away. | ||
Juerd | PerlJam: I have, and it is. | ||
PerlJam: Imagine the feeling I had when trying pugs again after weeks. | |||
Even though I had been following developments. | |||
Limbic_Region still laughs when he thinks about hardburn's excuse for not getting involved with Pugs | 18:14 | ||
autrijus | hm? | ||
Limbic_Region | Him: "last time I checked, it didn't have feature X" | ||
Me: "When was the last time you looked" | |||
Him: "A couple of weeks ago I guess" | |||
IIRC, that feature was OO | 18:15 | ||
so now I will have to /msg him to stop making excuses | |||
Juerd | I think it's a good idea to not think of OO as a single feature | ||
But who am I | |||
ajs | Juerd: I firmly agree. OO is about 20 features, 3-5 of which are large | ||
Limbic_Region | I shouldn't have used quotes there as it was a paraphrase | 18:16 | |
it is more likely he said "OO support" and not "feature X" | |||
18:16
Aankh|Clone is now known as Aankhen``
|
|||
knewt | yay, i have pugs installed and running :) | 18:16 | |
Juerd | knewt: Congrats | 18:17 | |
knewt | Juerd: and down to only 82 failing subtests now :) | 18:18 | |
Limbic_Region wanders off for $work | |||
knewt | heh, running sendmoremoney outputting to the terminal takes 4s for the 2nd calc, whereas redirecting to a file only takes 1s. shows how much the terminal output slows it down | 18:23 | |
Juerd | For a better test, redirect to /dev/null | 18:25 | |
(NUL in dos) | |||
knewt | ooh, i like the mandelbrot | 18:26 | |
autrijus | you're going to like it more running with -BParrot :) | 18:27 | |
knewt | pugs: cannot cast from VError "fnord" (NonTerm (MkPos "sendmoremoney.p6" 1 1 1 1)) to [Char] | ||
that's trying to run sendmoremoney.p6 with -BParrot | 18:28 | ||
heh. oh yes. mandelbrot with -BParrot is just a tad faster :) | |||
autrijus | it's but a shadow of the speed of new parrot codegen :) | ||
but I'll probably have no time to work on it until the two weeks in Leo's house next month. | 18:29 | ||
knewt | you're going to be at the Austrian Perl Workshop, right? | ||
autrijus | yeah | ||
my hope is to get the codegen monad completely unified with evaluator in that two weeks | |||
so that whenever we support a new feature in interpreter, it gets reflected in compiler instantly | |||
knewt | i'm (unless something happens) going to be there as well. need to find crash space still though | 18:30 | |
autrijus | cool | ||
knewt | at worst i could possible crash at my relatives out there | ||
Juerd so hates that he has three things he all three wants to attend, around june 10th | |||
Which is also my birthday | |||
Argh. | |||
There's one thing I'm required to go to, making the choice easy. | 18:31 | ||
Hm - if the thing juni 10th starts in the evening, which I think is likely, I can perhaps be crazy and drive to austria the 8th and back the 10th | 18:34 | ||
I wonder how long a drive it is | 18:35 | ||
Corion | Juerd: Consider flying ;) | ||
Juerd | 10 hours - no, that's madness | ||
Corion: Isn't that very expensive? | 18:36 | ||
knewt is going by train. 12 hours worth of travel each way. ouch. | |||
Corion | Juerd: Err, yes. Well, actually, it might be on par with the train. But still very expensive, yes. | ||
Unless you find something like RyanAir, or EasyJet or whatever. | 18:37 | ||
Aankhen`` | Is the SVN server at openfoundry.org down? | ||
autrijus | yes. I'm switching main repo for the next 7 hrs | ||
a sec. | |||
Aankhen`` | Alright. | ||
What's the URI for the new/alternate repository? | 18:38 | ||
autrijus | it's the "mirror" listed in pugscode.org main page | ||
Aankhen`` | OK. | 18:39 | |
Juerd | Corion: None of the cheap ones go to austria | 18:43 | |
hm, 600 euros. No, sorry, not this year :) | |||
Only 300 if I leave one day earlier | 18:49 | ||
Weird | |||
knewt | ouch. i think the 190 euros to get from hamburg -> wien and back by train is bad enough | ||
Juerd | I haven't looked at train options yet | ||
autrijus | Fallback repos: svn.perl.org/perl6/pugs/trunk/ | pugscode.org <Overview Journal Logs> | pugs.kwiki.org | 18:50 | |
autrijus | can someone test if it builds clean there? | 18:51 | |
esp with PGE | |||
I've deleted PGE-Hs.pbc and did lots of fixes | |||
("there" means the fallback repo) | |||
knewt wonders if he can svk mirror --relocate to the fallback | 18:52 | ||
clkao | if they were mirrored from each other, then yes | ||
knewt | bah. "uuid is different at ..." | 18:53 | |
clkao | hate | 18:54 | |
autrijus | just re checkout :-/ | ||
clkao | autrijus: how was the mirror created? | 18:55 | |
mirroring or smerging? | |||
autrijus | clkao: smerging | 18:56 | |
clkao | then you cna't mirror --relocate. bt but you can just mirror that too | ||
autrijus | that's what I did. | 18:57 | |
clkao <- talks to knewt | |||
knewt | hmm. i guess don't pull the history of the fallback then | ||
autrijus | yeah. just the head | ||
knewt | it'll all get merged back into the main repo when that's back up, right? | ||
autrijus | sure. | 18:58 | |
sm -I --verbatim | |||
knewt | cool | ||
autrijus | "What is the sound of SVK? Isn't it a wall that people stopped banging their head to?" | ||
PerlJam hasn't yet used svk and doesn't recall banging his head upon a wall | 18:59 | ||
autrijus | so I need to sleep. patches go to p6c as usual. | ||
PerlJam | (but I guess that might be the braindamage ;-) | ||
clkao | i used svn and cvs today and did bang my head | 19:00 | |
PerlJam | What were you using old obsolete technology like cvs for? ;-) | ||
autrijus: wait, don't sleep. | 19:01 | ||
knewt | ok, building | 19:02 | |
autrijus | PerlJam: eh? | ||
PerlJam | autrijus: my compile just finished and I get a fingerprint mismatch when trying to do pugs -e 'my $a = "foo"; $a ~~ /o/' | ||
(yes, it's parrot 0.2.0 this time :-) | |||
arrot VM: Can't unpack packfile run_pge.pbc. | 19:03 | ||
autrijus | PerlJam: you have a src/pge/PGE-Hs.pbc? | ||
or a run_pge.pbc ? | |||
try svn up again (from the fallback repo) | |||
they should be gone | |||
like, excised | |||
PerlJam | autrijus: still run_pge.pir and no src/pge/PGE-Hs.pbc | 19:04 | |
Limbic_Region | autrijus - perlmonks.org/index.pl?node_id=456112 # request for pugs/perl6/parrot articles for TPR | ||
autrijus | PerlJam: .pir is fine | 19:05 | |
PerlJam: I wonder why it ran run_pge.pbc | |||
PerlJam: there should be no mention of run_pge.pbc anymore | |||
PerlJam: does it still break? | |||
PerlJam | Now it says Parrot VM: Can't locate PGE-Hs.pbc, code 2. | ||
autrijus | ok, much better. | 19:06 | |
fixing | |||
nothingmuch | poor dogs | ||
stevan | Limbic_Region: hmmm, a regular pugs column | ||
autrijus | hey, fix run_pge.pir by hand and test it for me? | ||
nothingmuch | why can't they invent silent fireworks, eh? | ||
autrijus | PerlJam: that line should read | ||
load_bytecode "PGE/Hs.pir" | |||
that should be all. no recompile needed | |||
see if it magically works | 19:07 | ||
PerlJam | nope. Parrot VM: Can't locate PGE/Hs.pbc, code 2. | ||
oh! | |||
sorry, hold on. | |||
ha, much better | |||
er, ah | |||
PerlJam needs to have his eyes checked or there need to be fewer p-things relating to perl6/pugs ;-) | 19:08 | ||
Anyway, thanks autrijus! go get some sleep. | |||
autrijus | so it works? | ||
PerlJam | aye | ||
autrijus | woot. | ||
ok, committing back | |||
PerlJam | It sure would be neat if there were some CPAN-a-like for svn repositories such that if one were down, you'd automatically get sent to the next one | 19:10 | |
integral | like freepan? | 19:11 | |
PerlJam | freepan does svn? | ||
and mirroring with the smarts to take you to a mirror that's up? | 19:12 | ||
autrijus | zzz. :) & *wave* | 19:13 | |
PerlJam | integral: ah, *exactly* like freepan probably. (looking at the FAQ now) | 19:14 | |
I'd been ignoring freepan as I'd other things nearer the surface to deal with. | |||
integral thinks the smarts should be client side | |||
Juerd | Damn. Why is YAPC::Europe all the way in Portugal? | 19:15 | |
integral | the server shouldn't need to know that you prefer JANET and Demon over china | ||
Juerd | I want to meet other Perl people, but this way this isn't going to happen any time soon | ||
Corion | Juerd: Consider flying there ;) I'm "planning" (heh) a two-week vacation down there ... | 19:16 | |
Juerd: Also, consider the Dutch Perl Ws, UK Perl Ws and maybe German Perl Ws :) | 19:17 | ||
(or French Perl Ws) | |||
Juerd | Corion: I can never stay anywhere too long | ||
Corion: I went to both dutch perl workshops, but I want more :) | |||
Corion | Juerd: Hmmm - that means you'll have to live with either quick travel or cheap travel, and lots of it. | ||
Juerd | Corion: Things like Vianna and Braga are too expensive to travel to | 19:18 | |
Corion | Juerd: Yeah, they're both expensive to travel to | 19:19 | |
knewt | even from north germany travelling to vienna is expensive | ||
Corion | Juerd: Consider browsing through megaflieger.de/ (or something similar) | ||
Juerd | Corion: I have visited that kind of sites | ||
webmind | Juerd, organise a perl thingie at wth? :) | ||
Juerd | Corion: From .nl, you can get everywhere, as long as it's the united kingdom. | 19:20 | |
Or Prague, or Kopenhagen | |||
That's about it. | |||
integral | .nl -> .uk -> .fr -> .pt | ||
Juerd | Everything else is very expensive. | ||
webmind | buses are cheap.. just horrid to travel in | ||
Juerd | webmind: And they never go the days you want to be somewhere | 19:21 | |
webmind | darn | ||
knewt | for going to the uk on holiday my dad usually drives, going via .nl | ||
webmind | and hitchiking is even more unstable :) | ||
Juerd | webmind: I'd be happy to organize a Perl sub-event | ||
Corion | Juerd: Or ask on the YAPC mailing list if anyone from (or near) .nl is driving down ... | ||
Juerd | webmind: If it's the first day of WTH | ||
webmind | Juerd, well if you can find enough people you can open a village ? | 19:22 | |
Juerd | I don't grok the idea of the villages. | ||
webmind | Juerd, what was it btw why you couldn't go the other days ? | ||
grok ? | |||
Juerd | webmind: I'm going to france the night between the 2nd and 3rd days | 19:23 | |
webmind | ah k | ||
Juerd, the idea with villages is to create ubs-event | |||
sub-events | |||
but kinda specialised | |||
such as a wireless village | |||
Juerd | webmind: Yes, but 4 day sub events. It groups people in ways that I think is not good for an event like wth. | ||
BOF sessions are more useful. | 19:24 | ||
webmind | well the idea is localisation | ||
BOF sessions with 3000 people ? | |||
that'll get big | 19:25 | ||
Juerd | The problem with villages is that you can't easily be in multiple | ||
webmind | the advantage of villages is it takes load of the organisation.. which wants to do as little as possible | ||
hmm | |||
Juerd | Yea, that much is obvious. | ||
webmind | well I think you can.. but yes.. you have to place your tent somewhere | 19:26 | |
but you can visit events at multiple villages | |||
although I think 4 days is a bit short | 19:27 | ||
Juerd | It is, for something of this magnitude, where everyone has almost equal wishes | 19:28 | |
webmind | actually.. lots of people don't | ||
some people are just interested in security and maybe some code hacking | |||
Juerd | I think a simple multi-track presentation scheme works better than this village thing | ||
webmind | others more in creative issues | ||
and some in legal issues regarding privacy and human rights | 19:29 | ||
Juerd | webmind: I suspect most of the people who come to WTH care about all these things. | ||
webmind | well there will be a multi track prtesentation scheme aswell | ||
Juerd | Or at least most of these things. | ||
webmind | well not everyone is interested in everything.. as for what the hack atleast | ||
I'm not carring much about C code or buffer overflows | 19:30 | ||
other don;t care about wireless things or voip | |||
and some don't care about legal or rights issues | |||
I wish they did thoguh | |||
Juerd | We have a very different view of the people who visit wth | 19:31 | |
webmind | well maybe more diverse for me | 19:32 | |
because I know there will be loads of cool people | |||
knewt | heh, pugs really manages well to push most of firefox out into swap during build-time :/ | ||
webmind | just not everyone | ||
atleast.. that was for hal2001 | |||
Limbic_Region | stevan - you interested in writing one? | ||
stevan | Limbic_Region: maybe | 19:33 | |
webmind | Juerd, but we'll see how the village things turns out | ||
Limbic_Region | TPR is 1 x month right? | 19:34 | |
stevan | i think | ||
Limbic_Region | actually www.theperlreview.com/ | 19:35 | |
it looks quarterly | |||
stevan | oh even bettet | ||
s/bettet/better/ | |||
Limbic_Region | given that pugs has only been in existance for a little over 1 quarter - doesn't seem like an overwhelming task | ||
stevan | yeah | ||
although it may not make sense | |||
article 1 - we started | |||
article 2 - we are done | |||
to much time in between :) | 19:36 | ||
Limbic_Region | well - we are going to seriously run into the "we caught up to you @larry - waiting on further instructions" | ||
looking at the Perl6::Bible - there are still a lot of chapters left to be spec'd out | |||
stevan | Limbic_Region: that happens on a daily basis sometimes | 19:37 | |
Limbic_Region was sorely disapointed with the result of his coroutines question | |||
Juerd | Limbic_Region: We already are | ||
Limbic_Region | perlmonks.org/index.pl?node_id=332117 # Is a great reference guide | 19:38 | |
PerlJam | pugs only existing for such a short time is as it should be. | 19:40 | |
Design is the hard part and should take the bulk of the time. | |||
Implementation is just a small bit of time. | |||
And then Maintenance lasts forever :) | |||
knewt giggles at FreepanContentRequirements: [[ Only Python modules under a proprietary licence are allowed. GPL and BSD licences are particularly forbidden. ]] | |||
Limbic_Region | PerlJam - I agree though there is more to the story | 19:41 | |
separating the VM was a design decision that resulted in a very long implementation process | |||
Juerd | The vm had to be rewritten anyway | 19:42 | |
Limbic_Region | it is just that the piece that many people focus on is the language | ||
Juerd | Separated or not | ||
Sure, it's more work this way | |||
But don't think it would have been easy if it targeted *only* Perl 6 | |||
integral | hmm, considering the GHC's VM is much, much older than parrot, pugs has had a pretty long implementation too :-) | ||
Juerd | Easier, not easy. | ||
Limbic_Region | what I mean Juerd is that there is a great deal of people not aware that implementatation has been going on for a long time | 19:43 | |
Juerd | You have to admit that parrot development isn't quite as rapid as Pugs | ||
Limbic_Region | no - that's not what I am saying at all | ||
I am replying to PerlJam's comment that implementation is just a small bit of time | 19:44 | ||
Juerd | Implementation of the language is | ||
Limbic_Region | in many respects I agree, but there is more to the story | ||
Juerd | Parrot is not Perl 6 | ||
Limbic_Region | err - my last comment is to my last statement not to yours | ||
and I would say "but p6 wouldn't exist without Parrot" - but I would be dead wrong wouldn't I | 19:45 | ||
;-) | |||
Juerd | Yes, you would | ||
Limbic_Region hugs his pugs | |||
Juerd | Perl 6 is a language, not a vm, not a program, not an library | ||
Limbic_Region | I don't believe anyone here is disputing that | 19:46 | |
Juerd | So the people ignoring parrot are right | ||
Parrot is important for perl6, eventually | |||
But it's a sepearate project for many reasons | |||
PerlJam | Juerd: eventually being now. | 19:47 | |
Juerd | And implementation of Perl 6 really has began only recently. | ||
PerlJam: Yes, because of PGE. | |||
PerlJam | yep | ||
Limbic_Region | hmmm - it is obvious that text only communication has a way of losing unspoken meaning | ||
Juerd | Limbic_Region: You'll get used to it. | ||
PerlJam | Perl6 implementation has only really been going on since Dec 2004 or so | 19:48 | |
Limbic_Region | Juerd - I don't think you got the conversation is my point | ||
stevan made a mostly joke | |||
PerlJam commented on it | |||
Juerd | afk | ||
Limbic_Region | I commented a little bit more seriously | ||
and then we started down the path of disagreement | 19:49 | ||
knewt | autrijus: ok, i don't know if the number of tests/subtests has gone up or not, but i don't have any more/less failures from the fallback 2968 than i did from main 2987. and i don't have an "unexpected success" message any more | 19:51 | |
stevan | knewt: we always seem to be hovering around 70-100 failing tests | 19:52 | |
lately that is | |||
it fluctuates alot | |||
knewt | Failed 30/250 test scripts, 88.00% okay. 82/4873 subtests failed, 98.32% okay. | ||
why does it relink during the make install? | |||
stevan | knewt: no idea, I hardly ever do a full make test anymore | 19:53 | |
takes too long :) | |||
knewt | building is my main bit. not as bad as building ghc was though :) | 19:54 | |
my computer chugged away all last night building ghc packages for me | |||
stevan | pre-built binaries ++ | ||
knewt | i didn't want to put sid binaries onto hoary, so did a binary install of 6.2, and then pulled in the source package for 6.4 from sid and built that, then upgraded to the newly built packages | 19:56 | |
integral | did you check out with svk, knewt? | 19:57 | |
If so, there may be something which regenerates the svn revision number that runs that makes the relink happen | 19:58 | ||
knewt | yep. well, svk. | ||
integral | that's probably why | 19:59 | |
knewt | it's annoying as the link stage takes aaaaaaaaages | ||
integral | I suppose Makefile.PL shoudl detect what kind of repository the code is from | ||
integral is scared of Module::Install | |||
knewt | the build of pugs kindly pushes firefox out into swap for me *g* | 20:00 | |
integral | only firefox? ;-) | ||
knewt | most everything else i run is quite small in memory usage, so although it /might/ get swapped out it isn't that noticeable | 20:01 | |
integral normally sees GHC with 200MB vmem and 100MB resident | |||
knewt | firefox on the other hand, once the pugs build has been going for a few minutes, often takes 10+ minutes for enough to be swapped back in whilst the build is still going | 20:02 | |
integral | are you on less than 256M of ram? I can manage to do other stuff at that if I nice the build a bit | 20:04 | |
knewt | 512M ram, 512M swap | ||
integral | oh, you're doing an optimized compile, right? /me forgot about that | 20:05 | |
knewt | firefox is rather low at the moment with only having a 217virt/102res footprint | ||
Juerd | If anyone wants to update my XML grammar generator and then try it out with our new rules support, please go ahead | 20:06 | |
Don't wait for me to do it, I won't have the time. | |||
knewt | but then i only have 21 firefox windows open right now, and i only restarted it 21 hours ago | ||
ajs | I've tracked down a bug to src/Pugs/Compile/Parrot.hs, I don't know Haskell, so can't figure out exactly where. tempPMC is being called one too many times on storing the result of a subroutine call, but that's as far as I can get. | ||
integral | possibly it's the compileWith on line 231? | 20:08 | |
Juerd | perlmonks.org/index.pl?node_id=179755 | ||
(xml grammar) | |||
Limbic_Region | knewt - 21 windows open? How many tabs in each window? | ||
Juerd | (needs to be updated to current spec, and tested) | ||
It's written in 2002's version of perl 6 rules | 20:09 | ||
knewt | Limbic_Region: 1 | ||
Limbic_Region: i have tab support completely disabled | 20:10 | ||
Limbic_Region | huh what? | ||
I don't understand knewt | |||
Limbic_Region assumes some good explanation | 20:11 | ||
knewt | i use a tabbing window manager, so i've completely disabled firefox's internal tabs | ||
means i don't have to use different keys to move between web pages than between any other window on my system | |||
Limbic_Region | knewt - I bet your tabbing window manager doesn't have an "undo close window" feature | ||
or a "disable JS in this window only" feature | 20:12 | ||
*shrug* - whatever works for you I guess | |||
autrijus | ajs: fixed. committing. | ||
knewt | no, but i can cope with that. the uniformity of key control is worth it | ||
autrijus | also fixing utf8ness in matches. | ||
stevan | Juerd: if you write that grammer,.. I will write the XML::TreeBuidler part :) | ||
autrijus | ajs++ # tempPMC is indeed called once too many | ||
stevan | autrijus: coding in your sleep again :) | ||
knewt | autrijus++ # can't possibly be a single person, much too productive | ||
Limbic_Region | autrijus - Larry has spoken on the single item list thread | ||
Juerd | Yeah, with a really weird reasoning | 20:13 | |
And ignoring entirely that #1 rules out (something returning arrayref)[0] | 20:14 | ||
But -- I'm refraining from responding | |||
Limbic_Region | Juerd - why? | ||
autrijus | Juerd: I think larry is mistaken somehow | 20:15 | |
Juerd | I have my reasons, that I wish to not discuss at this moment | ||
Limbic_Region | okie dokie | ||
autrijus | I don't see how #2 leads to (@foo)[0] being different when @foo is (1) or (1,2) | ||
either way it will be @foo[0] | |||
PerlJam | Juerd: see? I told you @Larry would side with me! ;-) | ||
PerlJam reads p6l | |||
knewt | autrijus: i think he's seeing it as (@foo)[0] producing a list of length 1 containing @foo, and then returning that item | 20:16 | |
Juerd | autrijus: Yes. | ||
knewt | but i could be wrong | ||
autrijus | knewt: if so, he meant "can't be #1";) | ||
Juerd | autrijus: I think Larry lives in a weird Perl 5-ish world, where () indicates a list, and thus list context, and thus has flattening. | 20:17 | |
autrijus: But otoh he can't possibly be living there. | |||
PerlJam | Juerd: can't be | ||
Juerd | PerlJam: ? | 20:18 | |
PerlJam | Juerd: re Larry living in a weidr perl5-ish world. | ||
autrijus | (I replied) | ||
PerlJam | Juerd: well, it's time for you guys to step up and argue with Larry :-) | ||
Juerd | PerlJam: Not me, not now. | ||
PerlJam | As apparently autrijus just did | ||
wolverian | shouldn't (@foo)[0] return @foo? | 20:19 | |
Juerd | No | 20:20 | |
theorbtwo | No. | ||
wolverian | why not? :) I mean. that's just the logical thing to me. | ||
theorbtwo | [@foo][0] would. | ||
Juerd | @foo[0] and (@foo)[0] must at all times be the same, because () *merely groups* | ||
theorbtwo: () groups, it doesn't DO ANYTHING, other than mess with precedence. | |||
wolverian | right. is this what larry's post fights against? | ||
theorbtwo | Juerd: Right. | 20:21 | |
wolverian | (making ()[0] mean (,)[0]?) | ||
Juerd | theorbtwo: But -- #1 implies a change to this simplicity, which I strongly oppose to. | ||
wolverian | this is python all over, except I guess one should just use [][] | ||
Juerd | wolverian: No, Larry is actually blessing that "solution". | ||
It adds a HUGE special case | 20:22 | ||
wolverian | Juerd: that's what I meant. 'fights against' () being just grouping there. | ||
Juerd | Making some things terribly hard to do. | ||
wolverian | s,grouping,precedence, | ||
Juerd | wolverian: He'd be fighting against one of his own strong points of what Perl 6 should be like... | ||
I still don't comprehend Larry's response. | |||
My current thinking is that his "#1" is a typo, and he means "#2". | |||
wolverian | or #3. | 20:23 | |
PerlJam | He definitely does not mean #3 | ||
wolverian | why not? | ||
Juerd | No, nobody means #3 | ||
PerlJam | because it's wrong | 20:24 | |
Juerd | #3 is incredibly stupid. | ||
wolverian | okay. | ||
it's logical to me, if there is no List there anywhere. | |||
Juerd | #1 is less stupid, but only #2 really makes sense | ||
knewt | Juerd++ # [[ ...so it isn't really useful. Let's turn it into something even less useful, I thought. ]] | ||
wolverian | then (1)[0] would be the same as 1[0] | ||
PerlJam | wolverian: I was of the #1 camp, but I've been convinced that #2 would be most useful. | ||
Juerd | wolverian: Yes!. | ||
wolverian | Juerd: and that would be an error! | ||
knewt | i'm in the #2 camp i think | ||
theorbtwo | #3 is sounding better and better to me. | ||
stevan | I like #4 ;) | 20:25 | |
wolverian | #3 sounds like the only logical choice, given that () merely sets precedenec | ||
precedence.. | |||
theorbtwo | Can't take an array element of a scalar! | ||
wolverian | this is however a special case of (1)[0], and (@foo)[0] would certainly work. | ||
(that is, the dying thing. :) | |||
Limbic_Region calls it a night | 20:26 | ||
Juerd | wolverian: And with () setting precedence, why would ($aref)[0] be illegal?! | ||
circumfix (non-postcircumfix) () shouldn't have any special case in my very un-humble opinion. | 20:27 | ||
theorbtwo | Juerd, I only meant to imply a special case in the error message. | 20:28 | |
Juerd | Oh | ||
But it shouldn't die | |||
theorbtwo | "Method postcircimfix:Ā«[ ]Ā» not defined on Int" might be confusing for newbies who said (1)[0]. | ||
Juerd | It's stupid to disallow precedence grouping | 20:29 | |
You must realise that [] is the same thing as .[] | |||
PerlJam | theorbtwo: they can RTFM to better understand that error :-) | ||
Juerd | And thot you want to be able to call (somesub arg, arg, arg).[0] | ||
Which equals (somesub arg, arg, arg)[0] | |||
theorbtwo | Of course, I do rather wonder why a newbie would write (1)[0]. | ||
Yes, Juerd, I do. | 20:30 | ||
PerlJam | theorbtwo: But the point is that it shouldn't error, but rather return the single scalar value | ||
Juerd | Really only #2 allows this to work well | ||
theorbtwo | If people wanted that question answered, they should have asked it, and not (1)[0]. | ||
wolverian | Juerd: it wouldn't. who said it would? | ||
Juerd | wolverian: What wouldn't do what? | ||
wolverian | Juerd: ($aref)[0] wouldn't be illegal. | 20:31 | |
(sorry, girlfriend took a bit of my attention :) | |||
theorbtwo | $aref knows how to postcircimfix:Ā«[ ]Ā». | ||
Juerd | wolverian: If ($foo)[0] is made illegal, then ($aref)[0] is illegal too. This isn't something you can defer to runtime | ||
Well, you could | 20:32 | ||
theorbtwo | That's exactly what I suggested, Juerd. | ||
wolverian | Juerd: no! no! the #3 to me says that (1)[0] dies *because it means 1[0]* which is totally undefined | ||
Juerd | But that'd suck greatly. | ||
PerlJam | theorbtwo: given @a = (1,2,3), what should @a[0][0] do ? | ||
Juerd | wolverian: (1)[0] or ($foo = 1)[0] -- there must be no difference | ||
wolverian: (1)[0] or ({ 1 }.())[0] -- again, same thing | |||
theorbtwo | Die, PJ, when trying to take the first element of 1. | ||
Juerd | wolverian: You can't know until runtime what the LHS will be | ||
wolverian: And having this error out during runtime kind of sucks if it can also do something rather useful. | 20:33 | ||
knewt | Juerd: i'm not a grammer person; do you know what this comment means? [[ The comments in the text of the spec are normative, not the grammar ]] | ||
Juerd | knewt: I have no idea | ||
integral | it means the words are more important than the code samples. Believe the words, the code might be wrong | 20:34 | |
PerlJam | knewt: The comments are what you should pat attention to. | ||
s/pat/pay/ | |||
knewt | oh /that's/ a useful grammer then | 20:35 | |
Juerd | knewt: No, not really. I said so in my message to p6l. | ||
wolverian | Juerd: yes, I agree. | 20:37 | |
Juerd: that is; this must be a runtime decision. | |||
I guess #3 argues against that. I read it wrong. sorry. | |||
Juerd | wolverian: Well, then you disagree, because I said it's better a compile time thing. | 20:38 | |
afk | |||
wolverian | oh. then I misread again! | ||
damn, I'm tired I guess. | |||
PerlJam wonders if the dbi-in-parrot thing is still in the works. | |||
theorbtwo | Is there any concise, current definition of how context propigates in p6? | 20:42 | |
stevan | Juerd: FYI | ||
What works in OO right now: classes can be created; attributes can be created (public and private); smart match against class (ex: $foo ~~ Foo); .isa() | |||
What does not work on OO right now: inheritance; setting the default value of attributes; setting traits for attributes (ex: has $.attr is rw); accessors are not autogenerated for attributes; .can() | |||
theorbtwo | I feel like I'm missing something in this discussion. | ||
stevan | but that was my list from this morning, so it may have changed (rebuilding right now) | ||
theorbtwo | Why would (foo arg, arg)[2] not work under any of the proposed plans? | 20:43 | |
(Esp plan 3.) | |||
Shillo waves. SVN dead? | 20:45 | ||
theorbtwo | What's wrong with saying that the invocant of postcircimfix:Ā«[ ]Ā» is always in List context? | ||
stevan | Shillo: see the topic | ||
knewt | Shillo: see topic | 20:46 | |
stevan | switched to perl.org for the next ~7 hours | ||
Shillo | stevan: Just did. Problem is... how to switch to mirror? | ||
stevan | with svn right? | ||
Shillo nods. | |||
autrijus | theorbtwo: what about {} ? | ||
stevan | svn switch --relocate svn.openfoundry.org/pugs svn.perl.org/perl6/pugs/trunk/ | ||
autrijus | theorbtwo: and in any case, how do you mandate slurpy context on an invocant again? | 20:47 | |
stevan | and then just reverse it when it is back up | ||
Shillo | stevan: Woah. That one is cool. :) | ||
autrijus | theorbtwo: fwiw, you're talking about line 496 in Eval.hs | ||
varVal <- enterLValue $ enterEvalContext (cxtItem "Array") listExp | |||
Shillo | svn: The repository at 'svn.perl.org/perl6/pugs/trunk' has uuid '3eb29b82-81e5-0310-bad4-b280dcad658b', but the WC has 'c213334d-75ef-0310-aa23-eaa082d1ae64' | ||
Hmm. | |||
autrijus | if you change that (cxtItem "Array) into cxtSlurpyAny | ||
Shillo: you need to checkout again | |||
stevan | Shillo: sorry | ||
Shillo | Oif. | 20:48 | |
autrijus | theorbtwo: then it will work as you described. | ||
stevan | Shillo: what autrijus said | ||
autrijus | theorbtwo: the question is, why are we doing this? | ||
isn't the invocant a single lvalue? | |||
stevan | autrijus: did clkao give you an endorsement deal :) | 20:49 | |
The svk team is pround to introduce svk 1.00, a distributed version control system that powers Autrijus' productivity. While you might not be as crazy as Autrijus, you can at least use the same tool. | |||
integral | sub abc(*@foo: *@bar) just wrong? | ||
Shillo will wait till tomorrow, then. :) Hmm, another thing, got a funny parting bug to report. | |||
autrijus | stevan: he did ask me whether he can write that :) | ||
PerlJam | heh | ||
autrijus | theorbtwo: it's worth asking on p6l, though. I'm not entirely sure. | 20:50 | |
stevan | autrijus: I hope you at least got a free copy of svk out of it ;) | ||
autrijus | theorbtwo: as it stands, (1,(2,3),4)[3] returns 4. | ||
stevan: lol | |||
Shillo | autrijus: That's correct, though | ||
autrijus | er I mean | ||
(1,(2,3),4)[2] returns 4. | |||
bad offbyone. | |||
Shillo | Oh. | 20:51 | |
autrijus | because it's taken to mean [1,[2,3],4][2] | ||
knewt | ah | ||
Shillo found another one, lemme reproduce... | |||
knewt | == 4 sounds right | ||
autrijus | because .[] imposes CxtItem on lhs | ||
I'll ask on p6l. | |||
Shillo | (1, 2, 3) >>+<< (1, 2, 3); # prints 3 | ||
Er, prints (1, 2, 3), which is correct | |||
But... | |||
my @a = (1, 2, 3); | 20:52 | ||
@a >>+<< @a; | |||
*** Error: Hyper OP only works on lists: Val VUndef at <interactive> line 1, column 1-12 | |||
Shillo chatted a bit with pugs REPL yesterday. :) | 20:53 | ||
putter | autrijus: ping | ||
autrijus | putter: pong | ||
Shillo: test case | 20:54 | ||
Shillo would commit a test but can't (for both possible reasons, no bit and no repo :) ) | |||
autrijus | not an excuse. send to p6c :) | ||
putter | kudos should probably go to ghc's simonmar for 1 day turnaround on the ghc gc bug which was crashing pugs. Caveat - I haven't tested it yet (cvs-ghc isnt building on amd64 just now). Expectation is it will be in tomorrow's cvs snapshots. We'll see. | 20:55 | |
theorbtwo | Also, what's your email address. | ||
Shillo +|= $committer | |||
autrijus | putter: whoa. | 20:56 | |
putter++ # nice. | |||
autrijus waits eagerly for ghc 6.4.1 | |||
putter too. | |||
autrijus | Shillo: "Miroslav Silovic"? | ||
Shillo | Miroslav Silovic [email@hidden.address] | ||
Note, I can't simultaneously read mail to that address and commit (one is from work, commits from home. 'Complicated' ;) ) | 20:57 | ||
autrijus | that's fine. | ||
the email is just to send invitation (and lost password) to | |||
please still send test case to p6c | |||
will you? :) | |||
Shillo | Sure. | 20:58 | |
(will from Google) | |||
autrijus | google groups? | ||
posting to google groups is an excellent way to ensure nobody can read it :) | 20:59 | ||
probably need to write to [email@hidden.address] or nopaste it here and somebody else will commit. | |||
but anyway... here you go | |||
* Hyper operators now works on arrays too. Reported by: Miroslav "Shillo" Silovic | |||
r2972 | |||
Shillo | No, will mail from Google email address. :) | ||
autrijus | oh. good :) | 21:00 | |
Shillo | I know about one-way forwarding. | ||
Thanks! :) | |||
autrijus | :) | ||
Shillo | Oh. Regression test case, then... | ||
autrijus | yeah. | 21:01 | |
ahh. luqui is smart and I am Wahnsinnig | 21:03 | ||
Shillo | Oh, @a >>+<< 1 works, too? | ||
autrijus | should be, but I don't know, write a test :) | 21:04 | |
putter | i saw the off-by-one $/[1] vs $1 offset is gone. yay! | 21:05 | |
stevan | autrijus: pugs -e 'class Foo::Bar {};' | ||
*** Error: No compatible subroutine found: "&class" at -e line 1, column 1-18 | |||
I will write a test for it | |||
autrijus: should I put it in t/pugsbugs or t/oo ? | 21:06 | ||
autrijus | stevan: either way | 21:07 | |
stevan | ok | ||
putter | is it just me, or does array aliases flattening capturing parens and capturing non-capturing parens seem unfortunate? | 21:08 | |
autrijus | putter: you lost me. code? | 21:09 | |
putter | (i appreciate it makes array aliases on subrules nicely consistent) | ||
"xy" ~~ ... @<a>:=(.(.)) vs @<a>=[.(.)] yields @<a>[0] eq 'y' vs @<a>[0] eq 'xy'. | 21:11 | ||
err, no. | |||
er, yes. sigh. | 21:12 | ||
merlyn | what's the svn command to get PUGS ? | ||
autrijus | merlyn: for the next 4 hours: | ||
svn co svn.perl.org/perl6/pugs/trunk/ | |||
stevan | autrijus: patch of t/oo/ test sent to p6v | ||
autrijus | after that: | ||
svn co svn.openfoundry.org/pugs/ | |||
merlyn | what happens if I do the latter one now? | 21:13 | |
autrijus | merlyn: likely timeout | ||
stevan | nothing :) | ||
merlyn | OK | ||
theorbtwo | Then it'll time out. | ||
merlyn | I'll just wait until tomorrow then. :) | ||
Shillo | Mail sent. Hope the test itself isn't buggy. :) | ||
autrijus | merlyn: nah, try it now :) | ||
svn.perl.org should be faster for you anyway | |||
it's physically closer | |||
merlyn | I have enough to do tonight. I have to write a column for UnixReview | ||
"physically closer" to what? | |||
autrijus | you can let it "svn co" in the background... :) | 21:14 | |
putter | the key quotes are "an array alias on a subpattern flattens and collects all nested subpattern captures within the aliased subpattern" and | ||
autrijus | svn.openfoundry.org is in .tw | ||
putter | "If an array alias is applied to a quantified pair of non-capturing brackets, it captures the substrings matched by each repetition of the brackets into separate elements of the corresponding array.". | ||
merlyn | ahh. Yes, .tw is more distant than anything in the US. | ||
putter | both from Damian's "capturing" post. | ||
Shillo | autrijus: Is it possible to commit to the mirror? | ||
theorbtwo | What was the switch command-line? | 21:15 | |
stevan | theorbtwo: it wont work, they are diff repos | ||
Shillo isn't even sure it's doable with svn, mind you. :) | |||
autrijus | Shillo: it is possible, sure | ||
putter goes back to reversing the sense of all the array captures in Perl6::Rules t/*t... | 21:16 | ||
Shillo | autrijus: Hmm, so it's fine to just switch to the mirror permanently... Hmm, lemme think about it. | ||
Shillo runs make test, just so... | |||
knewt | gah. hateful software. | 21:18 | |
not pugs btw | |||
stevan | autrijus: a quick OO question if you have a moment | ||
autrijus | stevan: sure. btw, qualified class names is fine now | ||
and larry killed #1. yay. | 21:19 | ||
stevan | autrijus++ # so damn fast, it /must/ be the svk | ||
autrijus | now it's either #2 or #3... | ||
Shillo | Yep, hyper.t regularily croaks on my build. As it should. | ||
stevan | autrijus: how can I get the invocant with a method? (currently in pugs of course) | ||
autrijus | $?SELF | 21:20 | |
stevan | ah | ||
autrijus | totally hacky. I guess $_ should also work | ||
but it currently doesn't... let me fix | |||
stevan | autrijus: not as hacky as Hack::Instances, so I am fine with that | ||
autrijus | I think I like "o" :) | ||
PerlJam | stevan: not only must it be the svk, but it must be that autrijus works while asleep, because just a couple of hours ago, that's where he said he was going. | 21:21 | |
Shillo | One thing I kept wondering... can delegate get a reference to the instance that delegated? A12 never mentions. | ||
autrijus | it is very easily explained by the hypothesis that autrijus is a consortium of hackers. | ||
stevan | PerlJam: he works while sleeping, eating *and* showering | ||
Shillo | (that's p6l stuff, not p6c, of course) | ||
PerlJam | autrijus: indeed. That's my working hypothesis at the moment | 21:22 | |
theorbtwo | Sounds reasonable to me. | ||
knewt | autrijus: all of course working for IBM </sco-conspiracy-theory> | ||
autrijus | lol | ||
castaway_ | .oO( Are they all attending the hackathon ? ) O o ... |
||
PerlJam | autrijus: either that or you've figured a way to clone yourself and have arranged schedules accordingly. | 21:23 | |
stevan | personally I think autrijus has some kind of time travel device,.. its a much more plausible explaination IMO | ||
Shillo | Tests done. Failed 28/249 test scripts, 88.76% okay. 80/4854 subtests failed, 98.35% okay. (that's yesterday's build) | ||
PerlJam | stevan: yes, that's another good theory except that it's very flawed. If autrijus had a time-travel device, why wouldn't he just pop into the future and pick up a fully functional perl6? | ||
s/perl6/pugs/ as to your taste | |||
theorbtwo | Paradoxes? | ||
stevan | PerlJam: and give away his secret? hell no | ||
theorbtwo | It's not as much fun? | 21:24 | |
Shillo | stevan: It has other drawbacks. If you use time-travel device to create more time for yourself, you accelerate aging. | ||
integral | PerlJam: that's what he's doing, but only svk merging a few changes a day | ||
PerlJam | stevan: Ah, so he probably *has* a fully functional pugs and it just releasing it bit by bit. | ||
stevan | PerlJam: exactly! | ||
castaway_ | clever! | 21:25 | |
Shillo | PerlJam: Hmm. Makes sense. ;) | ||
theorbtwo | Very clever. | ||
PerlJam | Shillo: if you travel fast enough, time slows down. | ||
Shillo | PerlJam: But what you want is to speed up. For yourself, that is. | ||
stevan | Shillo: autrijus is really 8 years old | ||
Shillo | *grin* | ||
theorbtwo | I'm not sure about accelerating aging, but it does remove free will. | ||
Shillo | theorbtwo: Nah. You just avoid looking too closely into your own life. :) | 21:26 | |
PerlJam | Shillo: no, no, accelerated aging is counter-acted by local time dilation | ||
In short, autrijus must live in a time bubble | 21:27 | ||
Shillo | PerlJam: Umm... lemme start munging Lorentz transformation a bit, I'll get back to you on that one. :) | ||
theorbtwo | Well, it was pretty obvious that he sometimes lives in his own little world... | 21:28 | |
PerlJam | theorbtwo: see? | ||
Shillo | theorbtwo: OTOH, if PerlJam is right, and his bubble collapses, it may collapse into a black hole that will eat the Earth... | ||
theorbtwo | Hm, I should make a test that checks if AUTHORS is in the correct format. | ||
castaway_ | heh | ||
Shillo | theorbtwo: Hangman doubles as that. :) | ||
theorbtwo | Doesn't check the sort-order, though. | 21:29 | |
Or that there aren't any unlisted committers. | |||
PerlJam | He just interfaces his multi-dimensional time bubble to various parts of the universe through the carbaceous life form we call autrijus. In reality he's a transdimensional being who exists on all dimensions and in all times. | ||
Shillo | Q. | ||
theorbtwo | So he already knows how @Larry will answer his questions? | ||
Shillo | Pugs is a practical joke, in other words. ;) | ||
PerlJam | Shillo: that's one conclusion. | 21:30 | |
Shillo | And if we (the humanity) pass, he'll next sic Borg on us. ;) | 21:31 | |
PerlJam | Shillo: I don't think his black hole would engulf the earth. It's not massive enough. It would evaporate before it got the chance to eat us. | ||
Shillo | PerlJam: 'Not massive enough'. They said the same thing about the iceberg. | 21:32 | |
PerlJam | Shillo: no, you need a black hole of several solar masses otherwise it doesn't hang around long enough to do damage. | ||
Of course, I may be neglecting the transdimensional mass. In our space-time he might be 80 kilos, but in the others, he could store gobs or mass (or energy) | 21:33 | ||
Shillo | No, several solar masses is what you need to make one naturally. Once you have a blackhole, its stability grows with mass, but all you need is that is sucks more than it radiates. | ||
And that depends on the surrounding matter density. Inside Earth... frankly, I dunno the number. | 21:34 | ||
PerlJam | Shillo: blackholes below a certain size evaporate *really* quickly. | ||
Shillo | 80 killos might just be enough. | ||
Yeah, but that refers to quantum ones. | |||
80 killos is macroscopic already. | |||
theorbtwo | Quantum and normal black holes differ only in construction. | 21:35 | |
(I think.) | |||
mugwump will reserve judgement until he actually observes one | |||
Shillo | Well, yeah. Quantum ones are bottom-up, normals are top-down. :) Problem is, collapsed time-travel devices are in neither category. | ||
theorbtwo | My point is that once they're there, you can't tell the difference. | 21:36 | |
autrijus | stevan: this now works: | ||
method set ($self: $x, $y) { $.x = $x; $.y = $y } | |||
Shillo | theorbtwo: Well, I meant that in reference to size. 80 killos is a macroscopic blackhole. It doesn't live very long, but drop it in a bucket of matter, and it might be over-equillibrium suckage. | 21:38 | |
theorbtwo | Nod. | ||
And like any other 80kg object, it'll tend to fall downwards. | |||
autrijus | working on $_ topicalising now | 21:39 | |
done: | 21:41 | ||
method set ($x, $y) { $_<x> = $x; $_<y> = $y } | |||
you can mix the $self: form with $_. | |||
mj41 | s/@list/@array/ patch attempt ... wiki.kn.vutbr.cz/mj/attach/pugs/pat...to-a.patch ... g'night | 21:46 | |
Juerd | stevan: Thanks for the summaries | 21:55 | |
autrijus | mj41: thanks, applied | 21:56 | |
Juerd | I'm shocked to see that list slices go away. | 21:57 | |
theorbtwo | BTW, an 80kg black hole would have to eat 2.3e12 kg/s, by my quick approx. | 21:58 | |
Juerd | Arrays have always had much greater overhead than lists. How is this in Perl 6? | ||
Shillo | theorbtwo: Hmm, I'm really curious about the method. Problem is, dunno how to estimate the evaporation speed. | ||
PerlJam | theorbtwo: earth is what? about 6e24 kg? or something | 21:59 | |
Juerd | PerlJam: I don't think a big enough scale exists :P | ||
mugwump | e30? | ||
Shillo has to go, anyway. Later, folks! :) | 22:00 | ||
PerlJam | oops, I've got to go pick up my kids. | ||
later all | |||
PerlJam & | |||
theorbtwo | en.wikipedia.org/wiki/Hawking_radiation gives a formula for the evap time of a black hole by initial mass. | ||
mugwump | 5.9736x10^24 according to wikipedia | ||
theorbtwo | (Assuming no input of matterenergy.) | ||
Ah, there's a way I can get a feel for times that short... | 22:02 | ||
An 80kg black hole would evaporate in 1 clock cycle of a 28GHz computer. | |||
autrijus | accessors are there. committing. | 22:03 | |
knewt checks to make sure autrijus is human | |||
theorbtwo | .oO(Or can pass the turing test.) |
22:04 | |
knewt | at this rate pugs will be able to pass the turing test by the end of the year | 22:05 | |
Juerd | ouch. | ||
autrijus | mmm sentient language | 22:07 | |
theorbtwo | Hm, autrijus could be a time-traveling android, implemented in perl 6.2831853. | 22:08 | |
autrijus | nah. I'm not John Titor :) | 22:09 | |
Juerd thinks autrijus is on some drug that employers all over the world would love to get their hands on | 22:11 | ||
Odin- | theorbtwo: Why would it have to be implemented in perl? By the time it's gone that far, I think Perl will spontaneously create an AI. ;) | ||
castaway_ | bro! | 22:13 | |
wolverian | hmm. it takes hours for my mails to p6l to appear there. | 22:14 | |
castaway_ | then send them earlier | ||
Juerd | wolverian: Are you subscribed? | ||
castaway++ # heh | |||
wolverian | Juerd: yes. | 22:15 | |
integral | are you sending from the subscribed address? | ||
wolverian | ..good point. I'm not sure. | ||
Juerd | wolverian: What integral said, and add to that: is your envelope from what you think it is? | ||
castaway_ | you mean he forgot the stamp? | ||
wolverian | Juerd: envelope? | 22:16 | |
yes, the address is the same. | |||
Juerd | wolverian: SMTP uses envelopes | ||
wolverian: The address used in MAIL FROM may be different from your From: header | |||
wolverian | hmm. okay. | ||
would that be bad? :) | |||
Juerd | The header should be meaningless to anything that is automated, including mailing lists. | ||
wolverian: Messages from unknown addresses are moderated | 22:17 | ||
(Though I have absolutely no idea who does this. It must be a really sucking job.) | |||
wolverian | hmmmmm. maybe it's wolverian@localhost or something silly like that. | ||
Juerd | wolverian: Can you receive bounces? | ||
If so, it's not anything@localhost :) | |||
wolverian | okay. | 22:18 | |
how would I see the MAIL FROM address? | |||
theorbtwo | Juerd: Not that bad, I think. | ||
Juerd | wolverian: Do you send mail using SMTP, or do you use something like sendmail? | 22:19 | |
theorbtwo: Re what? | |||
wolverian | Juerd: postfix. | ||
theorbtwo | They get machine spam-filtered, /then/ human-filtered; addresses that send mail that passes both get whitelisted. | ||
Do an ethereal trace. | |||
Juerd | wolverian: Then it is probably username@hostname | ||
wolverian | hmm. I can't find any postfix logs. :) I guess they are off. | 22:20 | |
Juerd | wolverian: Send a message to a non-existing address on an existing domain, and see where the bounce is sent. | ||
Try, for example, [email@hidden.address] | |||
wolverian | done. thanks for helping out, by the way. :) | 22:21 | |
I'm a bit of a noob at mail. | |||
Juerd | That was already obvious :) | ||
SMTP is a really simple protocol, though | 22:22 | ||
Knowing it helps understanding e-mail. | |||
wolverian | hmm. /etc/mailname is 'sci.fi' | ||
I guess it could be [email@hidden.address] then. | |||
(which would be wrong.) | |||
Juerd | wolverian: Try the bounce thing. Bounces are sent to the envelope from | ||
theorbtwo | s/are/should be/ | 22:23 | |
wolverian | yeah, I sent it. nothing back yet | ||
Juerd | theorbtwo: If they're not sent to the envelope from, they're not bounces. :) | ||
theorbtwo: Then they are automated replies | |||
theorbtwo | Hm, you have a certian point. | 22:25 | |
Juerd | I try to always have a point. | 22:26 | |
mugwump | what's the point of that? | 22:27 | |
Juerd | It itself is the point. | ||
wolverian | still nothing back :( | ||
Juerd | Where did you send it? | ||
knewt | hmm, while we're mentioning email, qmail-- | ||
wolverian | the address you gave. :) | ||
Juerd | wolverian: The bounce goes to [email@hidden.address] and sci.fi says the user is unknown | 22:28 | |
autrijus | has $.x is rw | ||
is supported. | |||
Juerd | wolverian: So [email@hidden.address] is your envelope from, and you can never get correct error reports. | ||
wolverian | Juerd: augh! | ||
autrijus | that's pretty good for a day... see you :) *wave* | ||
wolverian | how do I fix that? hmm. /etc/alias? | ||
theorbtwo | G'night, autrijus. | ||
Juerd | wolverian: Depends on your MTA | ||
mugwump | /etc/email-addresses with exim | ||
Juerd | wolverian: In general, your hostname shouldn't be someone else's. | ||
castaway_ | tell postfix what address to use, usually | ||
Juerd | wolverian: Why do you have it set to sci.fi in the first place? | 22:29 | |
22:29
broquaint_ is now known as broquaint
|
|||
Juerd | Make sure you use a name that resolves to your actual IP. | 22:29 | |
castaway_ | or set a real FQDN | ||
wolverian | Juerd: I use fetchmail. that's my ISP's server. | ||
castaway_ | not to fetch, to send | ||
Juerd | wolverian: Why the hell is it used for *outgoing* mail. | ||
castaway_ | (fetchmail is not an MTA) | ||
Juerd | add a 7 above the ., so it is a ?. | 22:30 | |
wolverian: echo $HOSTNAME | |||
wolverian | noesis. :) | ||
theorbtwo | fetchmail thinks it's an FTA. | ||
Er, MTA. | |||
Juerd | theorbtwo: In a weird way, it is. | 22:31 | |
castaway_ | no it forwards to your MTA | ||
wolverian | Juerd: do you mean my MAIL FROM should be this computer's address? | ||
Juerd | wolverian: If that computer can receive mail for you. | ||
castaway_ | more like viceversa.. | 22:32 | |
theorbtwo | "Normally, fetchmail behaves like any other MTA would..." | ||
Juerd | (Has port 25 accessible from the internet) | ||
castaway_ | (maybe I'm confusing MTA with MDA.. regardless, fetchmail is hardly the problme ,) | ||
knewt | wolverian: you said sci.fi is your ISP? so you have an email account on their server? | ||
Juerd | fetchmail is an MDA | ||
theorbtwo | Your MAIL FROM [email@hidden.address] address should always be deliverable to. | ||
wolverian | knewt: yes. and I'd rather have everything incoming go there. | ||
Juerd | But it can play a limited MTA | ||
knewt | wolverian: so what is the account? | ||
wolverian | knewt: [email@hidden.address] | 22:33 | |
Juerd | wolverian: Then change your username, or find a way to fool your MTA to use a forged envelope from. | ||
knewt | ok, you should be using a MAIL FROM of that then | ||
wolverian | right. I'll read postfix's docs then. | ||
thanks a lot, all. | |||
Juerd | wolverian: Until you fix this, send no mail. You're violating the RFC. | ||
wolverian | Juerd: right. thanks. | 22:34 | |
(and sorry.) | |||
Juerd | Heh | ||
castaway_ suspects an awful lot of people are.. | |||
Juerd | it's not our problem - it's yours, mostly. | ||
castaway_: Yes. | |||
theorbtwo | It's some of both. | ||
Juerd | castaway_: But that's mostly because an awful lot of people use hotmail. | ||
castaway_ | If it were that terrible, then the MTA setups/config whatever should complain about it, but they dont | 22:35 | |
theorbtwo wonders if wolverian's local machine username matches the username of some sci.fi account, who has been getting wolverian's bounces. | |||
Juerd | theorbtwo: No. | 22:36 | |
castaway_: They have no way to know the setting is wrong. | |||
castaway_ | I'm sure it could if it really tried. | 22:37 | |
Juerd | castaway_: You can't tell without trying to send a normal message, that [email@hidden.address] is a valid address | ||
castaway_: And there ends the entire possibility of checking whether the envelope from makes sense. | |||
castaway_ | You could use VRFY | ||
(in theory) | |||
Juerd | VRFY is not always implemented. | ||
It doesn't have to be. | |||
castaway_ | thats why its only a theory | ||
theorbtwo | VRFY is normally not implemented. | ||
Juerd | VRFY requires the SMTP daemon to know about users, which in practice often means it must run as root. | 22:38 | |
castaway_ | anyway, it would be sending a mail to itself, effectively, so I dont see why it cant test | ||
theorbtwo | (For the same reason that most hosts don't allow finger.) | ||
Juerd | Nice for sendmail, which is insecure because of this, but not for most other smtpds. | ||
castaway_ | security thru obscurity | ||
theorbtwo | Juerd: It pretty well has to anyway, no? | ||
Juerd | castaway_: No, it doesn't have to be itself. The box could be a simple forwarder. | ||
theorbtwo: Run as root? Hell no. | |||
theorbtwo | Security through obscurity is bad for certian reasons, which do not always apply. | ||
No, Juerd, know about users. | 22:39 | ||
Juerd | theorbtwo: That neither. | ||
castaway_ | it could be, but that could/would require an extra config or some such, since most problem installs probably arent | ||
Juerd | theorbtwo: It has to know about users to be able to fail at the RCPT TO point | ||
wolverian | I'm only seeing local delivery aliases in postfix's docs. | ||
Juerd | theorbtwo: But if it doesn't know about users, it can leave the error reporting up to the MDA, which can initiate a bounce. | ||
theorbtwo | Hm, I suppose. | ||
Juerd | theorbtwo: See how qmail is built. | ||
theorbtwo | Waiting until that late to initate a bounce means more traffic, and more importantly, it means that the bounce can go to the wrong place. | 22:40 | |
castaway_ | obscuring is useful for an extra layer, as long as its not the only one. | ||
theorbtwo | Correct. | ||
Juerd | theorbtwo: The smtpd knows absolutely nothing about the system. This way, it cannot, even if it would want to, hand out that information. | ||
stevan | autrijus++ # i take the dog for a walk and you implement method invocants, $_ as invocant, has $.attr is rw; and autoaccessors | ||
autrijus++ # for making my life much much easier | |||
castaway_ | (still, it's a shame that finger disappeared.. ) | 22:41 | |
wolverian | should I be looking at postfix's docs for this? | ||
Juerd | theorbtwo: Yes, it means more traffic. No, it goes the right place. The place the sender indicated it wants to use for bounces. Sure, if the sender uses the wrong envelope from, things go wrong. But things go wrong equally in all other error cases. | ||
theorbtwo | Also, it's a bad trade-off when it means that third parties can't review and fix your security. | ||
castaway_ | probably, wolverian | ||
stevan | mugwump: I am will finish the Hack::Instances removal tonight (sometime in the next 4 hours or so) | ||
mugwump: hopefully by then openfoundry will be back too | 22:42 | ||
wolverian | hrm. then maybe 'alias' isn't what I'm looking for. | ||
Juerd | theorbtwo: qmail is secure because it was built to be secure. It has no security bugs. DJB is a weird guy with stupid licenses, but he really does know how to write good software. | ||
castaway_ | software without bugs does not exist ,) | 22:43 | |
Juerd | castaway_: It has bugs, but no security bugs. | ||
castaway_: And if you think it does, go find one and claim the $ 500 reward. | |||
castaway_ | anyone that claims such is asking for trouble IMO | ||
wolverian | sender_canonical_maps. yay! | ||
Juerd | cr.yp.to/qmail/guarantee.html | 22:44 | |
theorbtwo wonders if he can stretch the defintions enough to claim that if it delivers phishing mails, it has a security bug. | |||
mugwump | software isn't good if no-one else can understand how to use it | ||
castaway_ | theres a huge difference between assuming bugs and actually caring to find them | ||
knewt | Juerd: the fact that qmail doesn't know about users at smtp time is nasty and bad, since it means all you can do for invalid email addresses is drop the email | ||
Juerd | mugwump: qmail was written very clearly and has consistent and thorough documentation. Its usage is very evidently simple. | ||
knewt: What do you mean? | 22:45 | ||
knewt: It isn't nasty, it isn't bad. It can be very inconvenient, yes. | |||
knewt: Try qpsmtpd if this bugs you. | |||
mugwump | if it works for you, great. However, I really can't excuse his Dickhead special license | ||
Juerd | knewt: Qmail has a modular design. It doesn't care if you use a radically different smtpd. | ||
mugwump | that's with a capital D. Take note. | ||
knewt | Juerd: nah, i just use exim | ||
Juerd | mugwump: I'm not going to discuss the license -- I agree it sucks | 22:46 | |
mugwump: And I ask you to not mention it further. | |||
mugwump | fine | ||
horses for courses | |||
Juerd | DJB's licensing is a source of endless debate in which all parties agree. | ||
I've seen it destroy IRC channels before | |||
mugwump | I just really hate it when a "free" software author doesn't really open up development to all | 22:47 | |
wolverian | hmm. now I should test this. | ||
castaway_ | it's his right to do so.. shrug | ||
Juerd | Development is open to all, as long as you distribute it as patches. | ||
castaway_ | testing++ | ||
Juerd | It's not free software by usual definitions. | ||
wolverian | Juerd: was the server I sent earlier to yours? | 22:48 | |
Juerd | wolverian: Yes. | ||
fitzzz | (ERROR) Cannot join channel: ##php (You are banned) | ||
:( | |||
wolverian | can I reuse the address to test this? | ||
Juerd | wolverian: It runs qmail (with qpsmtpd), fyi | ||
wolverian: Yes | 22:49 | ||
wolverian | sent. | ||
Juerd | (I hate the license, but don't mind using this software. The simple fact is that qmail's design pleases me.) | ||
perl.org also uses qmail with qpsmtp by the way :P | 22:50 | ||
castaway_ hands Juerd the drum. | |||
Juerd | Drum? | ||
wolverian | hm. bad filename. doesn't work. | ||
castaway_ | for banging on. | ||
Juerd | castaway_: Explain? | ||
castaway_ | banging the drum is what you are doing - about qmail. (repeatedly attempting to "sell" it) | 22:51 | |
I think we've got it now. | |||
Juerd | I love qmail, and hate the stupid arguments I continue to hear about it. There's a lot of FUD. Almost everything about the license is true, almost everything about the technical side is false. | 22:52 | |
Every sysadmin should decide for himself which MTA(s) he wants to use | |||
mugwump | great, now we've sorted that out we can MOVE THE FUCK ON TIA | ||
castaway_ noticed. | |||
mugwump | :) | ||
Juerd | And qmail is very probably ruled out by company policy, if there is any. | ||
wolverian | hmm. mail.info log indicates it worked this time, if it indeed shows the envelope address. | 22:53 | |
Juerd | wolverian: Yep. | 22:54 | |
wolverian | yay! thanks for helping. | ||
Juerd | You're welcome | 22:55 | |
wolverian | bounce came in now. hooray. | ||
Juerd | That must be the first bounce you get in a long time. | 22:59 | |
I wonder how often people never received your message without anyone knowing :) | |||
wolverian | I don't think that has happened. I only mail to mailing lists, I think. :) | 23:04 | |
(so I see when my mail isn't delivered.) | |||
meppl | gute nacht | 23:08 | |
Juerd | Wow. | 23:31 | |
Someone dares to post with Lotus Notes | |||
wolverian | hop.perl.plover.com/~alias/list.cgi...mjjicjnidf | 23:35 | |
wow. that is bizarre. | |||
ah. it's fixed in perl5.9. | 23:36 | ||
Juerd | Hm | 23:38 | |
Can you explain what happens? | |||
mugwump | the named sub declaration doesn't close over its scope | ||
so $prefix is out of scope and undef | 23:39 | ||
Juerd | What is "close over scope"? | ||
wolverian | hop.perl.plover.com/~alias/list.cgi...jlcicgaoop "solution" (a link to the patch that fixes it) | ||
Juerd: as in a closure. | |||
mugwump | ie, capture all the lexicals in its context | 23:40 | |
Juerd | The question is: why | ||
Obviously, $prefix is *declared* in its scope, because strict does not complain | |||
wolverian | yes. it's a perl internals bug. | 23:41 | |
as you can see in the patch. :) | |||
Juerd | pugs does it right :) | ||
wolverian | that is a bizarre thing though. I just used that kind of code as an example of closures to someone a few days ago. | ||
I don't think I ever tested if it actually worked. :) | |||
Juerd | I think I use it all the time. | ||
wolverian | but it doesn't work! | ||
Juerd | You'd think I would have encountered it many times already then. | ||
I wonder if there are preconditions for the bug | 23:42 | ||
s/use it/used it/ | |||
mugwump | normally you don't name closures like that, though | ||
Juerd | I do... | 23:43 | |
wolverian | it's not naming a closure, it's naming a closure creator. | 23:44 | |
(except in the sense that all subs are closures) | |||
Juerd | Oh! | 23:45 | |
Yea, I'd declare $prefix inside the sub. | |||
wolverian | on another note. I wondered why '*foo = sub { 1 }; print foo' wasn't printing anything :) | ||
Juerd | use strict. | 23:46 | |
wolverian | yes. | 23:47 | |
actually, I was doing: '*closure = sub { sub { 1 } }; print closure->()' | |||
which almost worked. heh. | |||
it even passes strict. | 23:48 | ||
putter | is there a time estimate on when svn checkin will be possible? | 23:59 |