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