Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-10-27

Perl 6 | Reference Documentation | Rakudo

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:01 ingy what's with the new tradition of using 'ingy' instead of mumble or foo?
00:01 ingy (not that I don't like it ;)
00:01 putter yaml man page :)
00:02 putter first usage example
00:02 ingy oh right
00:02 putter so self inflicted ;)
00:02 ingy that module I last updated two decades ago... sorry
00:02 putter ;)
00:02 * ingy heads off to update yaml.pm
00:03 clkao yaml.pm!
00:03 ingy clkao: I'm really working on the new one for real!
00:06 putter chuckle.  putter notes this is an example of current cpan's focus on individual ownership not dealing gracefully with various issues.
00:06 clkao how about kwiki? can we have history view like mediawiki?
00:06 ingy clkao: after i move to taiwan...
00:06 justatheory has quit IRC ()
00:12 putter stevan: the motivating example is to have Object does role NonProxyObject, but class ProxyObject is Object, but without NonProxyObject's stuff.  ProxyObject being a bare or minimal class, with children like Proxy, Ref, and Scalar.  Trying to insert a proxy/nonproxy distinction into the hierarch directly is just a recipe for pain.  The need arises the minute you want "Object" to provide default implementations of bit/perl/etc.  One can w
00:12 putter ork around it temporarily by having all the proxy classes track Object's method list and provide explicit reflectors, but yuck.  Perhaps I'm missing something.
00:15 putter (or adding a level of method indirection and having a ProxyObject role, so only ProxyObject has to track Object's method list)  hmm... which is what I'll probably do for now...
00:15 putter ingy: you're moving to taiwan?!?
00:28 ^conner_ has quit IRC ("Leaving")
00:31 robkinyon putter: why does Object do NonProxyObject?
00:31 robkinyon why isn't ProxyObject a subclass of Class?
00:33 putter hi robkinyon.  so
00:34 dduncan is that +$arg/:$arg change mentioned on P6L worth implementing now, or is that change still unsure/in-progress?
00:34 dduncan last I saw, P6L still seemed to be hashing some stuff out, so I'll continue to write in the old manner
00:36 putter the problem is you want to distinguish things added to the root (Object) for everyone, including proxies, from things added to everything but proxies.  having everything but proxies off to the side (role NonProxyObject) theoretically allows one to subtract it out later when you hit things which consider themselves proxies.
00:37 rashakil has joined #perl6
00:37 putter dduncan: sorry, no idea
00:38 f0rth has joined #perl6
00:40 robkinyon putter: icky
00:40 robkinyon much better to have either a role (ProxyObject) or a subclass of class that does this for you
00:40 putter stevan: and the problem with the indirection workaround i proposed is it interacts poorly with things like Ref, which uses autoload to proxy only some types of proxyees.
00:43 putter classes are objects, so that kind of approach doesnt work I think...
00:43 putter oh, last line was for robkinyon.
00:44 Odin-LAP has quit IRC ("What's this button do?")
00:44 robkinyon The ProxyObject that isa Class would not, itself, be a ProxyObject. It would -create- proxy objects
00:45 robkinyon so, any class of yours that isa ProxyObject would instantiate proxy objects
00:45 robkinyon (or somesuch)
00:45 robkinyon unless, for some random reason, you want proxied classes ...
00:45 robkinyon in which case, you're better off using a prototype model instead of a classical model
00:45 putter I fuzzily recall some languages have a proto-object, and break proxies into a separate tree.  some, like ruby, create a "bare object" dynamically/reflectively (create a class, look at various classes method lists, remove some methods from the class).
00:46 justatheory has joined #perl6
00:47 robkinyon what on earth are you so worried about proxy objects for?
00:47 * robkinyon must have missed something
00:47 putter Ref and Scalar behave as proxies.  and are rather core to the language runtime.
00:47 putter and Proxy is used for lvalued subs.
00:47 putter (though not at the moment)
00:48 autrijus integral: ping
00:48 robkinyon Ref and Scalar behave as proxies?
00:49 robkinyon I thought that they're just base types?
00:49 putter I may well be confused, but ProxyObject _would_ be an Object, methods added to Object would all land in proxies too...
00:49 robkinyon I thought that Ref is the empty base type for the other Refs and that Scalar is the empty base type for the other scalars
00:51 autrijus putter: ping?
00:53 putter autrijus: pong
00:53 autrijus good. review something for me.
00:53 * robkinyon & # Put child to bed
00:53 putter robkinyon: method calls to Refs of Arrays and Hashes (but not others) get reflected.  Scalars are the things vars bind to.
00:54 putter autrijus: sure
00:55 putter robkinyon: and Scalars reflect most everything.  at least that's what fglock's code says, and I have no reason to disblelieve it.
00:55 autrijus putter: http://perlcabal.org/~autrijus/tmp/temp.html
00:55 putter looking...
00:57 autrijus nonputter people are of course also welcome :)
00:57 autrijus (but that one is written with putter in mind)
01:00 autrijus (various grammar fix was updated)
01:03 putter expectation management: I'm squinting at the screen, holding a 2l bottle of Coke, periodically wishing I had gotten more than 3 hrs of sleep last night.  so my thoughts/comments may be a bit slower in coming than one might anticipate... back to reading...
01:03 autrijus sure...
01:04 Cryptic_K has joined #perl6
01:06 obra autrijus: nice blog temp
01:07 obra autrijus: patrick has promised me an updated PGE roadmap this week
01:07 autrijus promises are... well you know. still good to hear :)
01:07 obra yep
01:08 clkao hungary... tokaj!
01:09 robkinyon putter: So it's the ArrayRef that's a proxy of Array, not Ref
01:09 robkinyon putter: I'm not sure why Scalar would proxy anything. my $foo = Int( 3 ); is an Int which isa Scalar, not a Scalar
01:10 oylenshpeegul has joined #perl6
01:11 joepurl has joined #perl6
01:13 putter robkinyon: I'll bbiab, after journal stuff...
01:14 autrijus I wonder if I should crosspost to Dan's
01:14 autrijus or just link to my journal.
01:14 putter autrijus: might want to linkify -Ofun.  back to reading...
01:15 autrijus ok
01:16 wolverian autrijus, nicely written. I agree with you on the perl points. also, I wish for good health to you :)
01:16 autrijus :)
01:17 wolverian autrijus, I hope you're not abandoning social 'distractions'
01:17 putter s//subjecting oneself/  at least in American;)
01:18 autrijus putter: mmm
01:18 autrijus what would the sentence be like in American? :)
01:18 wolverian putter, you mean s/to subject/subjecting/?
01:18 autrijus ah. fixed as wolverian suggested
01:18 wolverian :)
01:19 putter this also means not subjecting oneself to...
01:20 putter all other projects  == non-pugs projects?
01:20 dduncan autrijus, your journal mentions you having a bunch of stuff to push ... is your connection stable enough to do it?
01:23 Ikarus_ has joined #perl6
01:23 autrijus putter: aye
01:23 autrijus fixed to say "non-pugs"
01:25 autrijus dduncan: yes, it is now, it's about t/var/lazy.t and related discussions with larry
01:25 autrijus dduncan: but it remains unspecced and runtime-typed lazy thunks is still unspecced -- I guess I can pull a commit-then-revert
01:25 autrijus otoh, it doesn't break any test, and just slows down things a bit for lazy{} (and complicates the runtime a bit), so maybe I just commit.
01:26 wolverian what stuff is that? please commit so I can see :)
01:27 autrijus that sounds so familiar :)
01:27 autrijus okay, booting to fbsd now.
01:27 wolverian hehe. ;)
01:27 wolverian autrijus++
01:27 autrijus bbiab
01:28 putter ok... lets see... first a quicky, "... to devote into," is another one which may be English, but isn't American.  ;)
01:28 oylenshpeegul has left
01:31 putter ok... the middle section, "Since February 2005" to "expectation that would come with it."...
01:31 wolverian the phrase is a bit long anyway
01:32 wolverian split it up perhaps.
01:32 Ikarus has quit IRC (Read error: 110 (Connection timed out))
01:32 putter it gives me a bit of that late-night email uncertainty of "errr, maybe I had better look this over in the morning rather than hitting send".
01:33 putter perhap break the post into to parts?  one for tonight, the other for "tomorrow"? its a long post,
01:34 putter there's is also a bit of "its long been a problem, but starting today it isnt", which is always a somewhat iffy proposition...
01:36 putter perhaps "suffered as a consequence." ~ "But that's a topic for another post.\n\n".  s/take another journal/take a couple of journals/? ;)
01:37 putter err, i meant that to be "This is changing, but that's a topic for another post."
01:37 autrijus rehi
01:37 autrijus ok. I think I'll sleep on it :)
01:38 putter never turn down funding in advance... ;)
01:38 autrijus lol, good advice.
01:38 putter or at least, hesitate before doing so... :)
01:38 autrijus glad I called review before posting.
01:39 putter collaboration++
01:40 autrijus so I think I'll remove the "related note" part
01:40 autrijus and the parts after that
01:40 putter actually, it might be neat to have a journal on Erdos, and how your plans are in a similar vein, etc.
01:40 putter looking...
01:40 autrijus uploaded
01:41 autrijus in particular the technical parts are moved to tomorrow
01:43 autrijus added sentence in penultimate para: "There are more I'd like to say, particularly about the technical prospects of Perl5/CPAN/Perl6 developments, but I'll sleep on it and save it for tomorrow."
01:43 putter err, your call, but i'd drop startin with "Since February".  basically separating discussion of your plans, from the Fears/Dan/technical part
01:43 autrijus ho hum.
01:43 * autrijus ponders.
01:44 autrijus so you mean preserving the first 3
01:44 autrijus up to "suffered as a consequence"
01:44 obra I'd just sleep
01:44 autrijus _then_ inject "We need truly scalable computer languages"?
01:44 obra It's not that important to get it up today.
01:44 obra and it's insanely late in .dk
01:45 putter obra - good point.
01:46 autrijus point well taken :)
01:46 putter drat, I hit reload... and now I cant see the whole thing. :/
01:47 autrijus temp2.html ;)
01:48 evalbot_7745 has quit IRC (Remote closed the connection)
01:48 svnbot6 r7746 | autrijus++ | * wrap.t: add comment to reflect discussion with Larry about
01:48 svnbot6 r7746 | autrijus++ |   &sub.wrap's purpose of not breaking CODE refs.
01:49 evalbot_7746 has joined #perl6
01:49 putter perhaps we should stop.  to recap, I think the post works nicely with just the middle removed, "Since Feb" through 'dont fund me' paragraph.  that leaves a nice little post prompted by Dan, and a bit of light self reflection.  the part that comes out has a theme of personal plans and such, and might be interestingly refactored as another post.
01:51 robkinyon putter: back
01:51 putter but I really like obra's "there's no reason to do it tonight".
01:51 autrijus putter: refresh temp.html
01:51 putter hmm, a theme which has a similar flavor to "we shouldnt be optimizing this yet".  curious.
01:52 autrijus premature optimization eh
01:52 obra premature -Ofun?
01:52 autrijus no, premature -Opresentable :)
01:52 obra ;)
01:53 obra so, what about explicit deoptimization?
01:53 * obra has cans of worms and an electric can opener
01:54 autrijus ;)
01:54 autrijus putter: I think temp.html is postable, actually.
01:54 autrijus obra: makes sense to you too?
01:54 obra looking
01:55 * autrijus meanwhile cleaned up and committed the typed thunks patch
01:56 clkao btw, i think pugs can make use of a bootstrap mirror dump
01:56 putter ah, that seems plausible.  I suggest it would "take several journals to express your thoughts", and I'd add a sentence after "my sanity suffered as a consequence." along the lines of "That is change, but that's another post."
01:56 clkao it's gettting large
01:56 putter erg, s/That is change/That is changing/
01:57 obra The call to transparency starting with "I understand" feels a bit out of place
01:58 obra it feels like criticism without suggesting a better alternative
01:59 robkinyon putter: would you like to continue?
01:59 svnbot6 r7747 | autrijus++ | * Typed Thunks.  This is a fairly self-contained change
01:59 svnbot6 r7747 | autrijus++ |   to make `lazy {...}` values carry inferred types.
01:59 svnbot6 r7747 | autrijus++ |   The upshot is that supplying a function with a lazy
01:59 svnbot6 r7747 | autrijus++ |   value should pass MMD _without_ evaluating the thunk.
01:59 svnbot6 r7747 | autrijus++ |   This is unspecced, and not at all reliable, but still
01:59 svnbot6 r7747 | autrijus++ |   committed (by request of wolverian).  If it turns out
01:59 svnbot6 r7747 | autrijus++ |   to be not feasible or adversely impacts performance
01:59 svnbot6 r7747 | autrijus++ |   and/or readability we can always revert back.
01:59 ingy hi autrijus
01:59 wolverian whoa. nice
02:00 * coral blinks
02:00 coral autrijus++ wolverian++
02:01 autrijus ingy: hi
02:01 putter though perhaps this should be seen as an opportunity to build self discipline. ;) its postable... but there's no reason to do it tonight.  and some reasons not to (eg, Dan discussion will continue to grow for a while, so readers will see more in a day or two, "not un-postable" is perhaps not quite the right metric, etc).
02:01 autrijus obra: I'd actually like it to fix it by elaborating the fix part
02:01 autrijus which means, of course, that though it is postable, I will not post it tonight
02:02 autrijus :)
02:02 obra autrijus: is haskell's unspecced execution order something that's being looked at as a way t oget increased performance on multicore cpus?
02:02 autrijus obra: sure. it's a very long tradition :)
02:02 autrijus entire lines of parallel research hangs on side effect free order of execution
02:02 autrijus and GHC's SMP support is already in trunk.
02:03 obra nod
02:03 * obra ponders side-effect-free perl
02:03 * obra feels his head explode
02:03 autrijus aka "is pure"
02:03 autrijus and use := instead of = all the time
02:05 wolverian I didn't realise pugs had inferred types at all, actually :)
02:05 * clkao cries
02:05 clkao autrijus: remember your old code
02:05 clkao        $self->{signature} =  { <$fh> };
02:06 clkao this is doing a 1-byte buffer read
02:06 clkao BAD PERL
02:07 autrijus clkao: in M::Sig?
02:08 clkao svk::xd
02:10 autrijus oh well. sorry
02:12 putter http://www-groups.dcs.st-and.ac.uk/​~history/Mathematicians/Erdos.html has a nice, more fleshed out, bio
02:12 putter neat to see the context
02:18 * autrijus waves and sleepeth
02:18 putter robkinyon: oh, right, sorry.  brain leak.
02:18 putter good night autrijus
02:19 putter where were we...
02:23 evalbot_7746 has quit IRC (Remote closed the connection)
02:24 evalbot_7747 has joined #perl6
02:24 putter my understanding is, mostly from reading fglock's code, is $foo, a scalar variable, has a Scalar container.  @foo, %foo, have Array and Hash containers.  $foo->bar is a method call on the Scalar, which is passed on to its current contents.  Ref is a separate concept, and there is no ArrayRef (that part is spec, though perhaps spec is lagging p6l).  A Ref is a pointer, like in p5.  Method calls on Ref's get passed along if ("autoderefere
02:24 putter ncing") only if it points to an Array or Hash.  That's apparently the p6l call.
02:26 putter in pugs, I fuzzily recall, Int isa indeed a Scalar.  but that's apparently no longer spec.
02:27 putter actually, not just from fglock's code (re $@% variables).  there have been a couple of discussions over the last few months.
02:30 lisppaste3 has quit IRC ("Want lisppaste3 in your channel? Email chandler AT unmutual.info.")
02:30 lisppaste3 has joined #perl6
02:32 putter basically, pugs is a p6 design waveform collapser.  it reduced uncertainty when the existing pugs oo was done.  but the oo wasnt then the focus, so things were still fuzzy.  now, focusing on oo and trying to do it correctly, to spec, will naturally generate a lot of questions, helping to collapse and fill in the spec.
02:35 putter but anyway, the interest in proxying results from having refactored redundant method definitions, moving them and other stuff into Object, thus having the world break because Ref and Scalar no longer proxy properly, and wondering how to address it without sacrificing the code brevity and clarity which are the point of the exercise.
02:36 joepurl has quit IRC (Read error: 110 (Connection timed out))
02:38 putter robkinyon, so any further thoughts/comments welcome.  it would be nice if someone could collect scattered spec fragments, and try to put together a full picture, highlighting issues and areas of uncertainty.  right not most of the effort is "document" and explore with code.  sometimes documenting with, well, a document, and exploring more analytically, is a complementary approach.
02:39 putter s/right not/right now/
02:42 putter fglock: note previous discussion - some of the "overhaul" refactorings have issues (ie, dont work yet;).
02:42 putter its late.  good night anyone still here.  &
02:42 Amnesiac has joined #perl6
02:43 putter has quit IRC ("Leaving")
02:48 Blicero has joined #perl6
03:00 myren has joined #perl6
03:01 myren has left
03:02 stevan_ has joined #perl6
03:03 Southen has joined #perl6
03:06 rafl_ has joined #perl6
03:08 rafl has quit IRC (Read error: 145 (Connection timed out))
03:09 Blicero has quit IRC ("Leaving")
03:13 stevan has quit IRC (Read error: 110 (Connection timed out))
03:14 stevan_ is now known as stevan
03:14 stevan putter: ping
04:04 ruz has joined #perl6
04:08 rashakil has quit IRC ("Clam")
04:14 stevan putter: regarding the Ref/Scalar issue and adding methods to Object
04:14 stevan I think robkinyon has a good idea there
04:16 stevan if we subclass Class (createing ProxyClass), this would allow us accomplish the dispatching, and disallow all other methods
04:19 stevan actually nevermind,.. that wont work either
04:20 stevan hmm....
04:20 stevan oh wait
04:20 stevan there is no reason a class needs to inherit from Object
04:20 stevan in MM2.0 speak, just do this :
04:24 stevan class 'Proxy' => { submethods => { 'BUILD' => sub {} }, methods => { 'BUILDALL' => sub {} } }
04:25 stevan basically you need to stub out BUILD and BUILDALL since Class::CREATE will be looking for them
04:25 stevan but that will give you an object which does not inherit from Object, which should do what you need for Scalar and Ref
04:25 wolverian has quit IRC (Read error: 104 (Connection reset by peer))
04:26 f0rth_ has joined #perl6
04:26 f0rth has quit IRC (Read error: 104 (Connection reset by peer))
04:27 wolverian has joined #perl6
04:30 sili has quit IRC (kornbluth.freenode.net irc.freenode.net)
04:30 scw has quit IRC (kornbluth.freenode.net irc.freenode.net)
04:30 tcliou has quit IRC (kornbluth.freenode.net irc.freenode.net)
04:30 svnbot6 has quit IRC (kornbluth.freenode.net irc.freenode.net)
04:30 dvtoo has quit IRC (kornbluth.freenode.net irc.freenode.net)
04:30 buubot has quit IRC (kornbluth.freenode.net irc.freenode.net)
04:30 jiing_ has quit IRC (kornbluth.freenode.net irc.freenode.net)
04:30 sili has joined #perl6
04:30 scw has joined #perl6
04:30 buubot has joined #perl6
04:30 tcliou has joined #perl6
04:30 jiing_ has joined #perl6
04:30 dvtoo has joined #perl6
04:30 svnbot6 has joined #perl6
04:38 mrborisguy has quit IRC ()
04:40 sili_ has joined #Perl6
04:45 svnbot6 has quit IRC (kornbluth.freenode.net irc.freenode.net)
04:45 buubot has quit IRC (kornbluth.freenode.net irc.freenode.net)
04:45 scw has quit IRC (kornbluth.freenode.net irc.freenode.net)
04:45 dvtoo has quit IRC (kornbluth.freenode.net irc.freenode.net)
04:45 sili has quit IRC (kornbluth.freenode.net irc.freenode.net)
04:45 jiing_ has quit IRC (kornbluth.freenode.net irc.freenode.net)
04:45 tcliou has quit IRC (kornbluth.freenode.net irc.freenode.net)
04:45 sili has joined #perl6
04:45 scw has joined #perl6
04:45 buubot has joined #perl6
04:45 tcliou has joined #perl6
04:45 jiing_ has joined #perl6
04:45 dvtoo has joined #perl6
04:45 svnbot6 has joined #perl6
04:51 stevan_ has joined #perl6
05:00 stevan has quit IRC (Read error: 110 (Connection timed out))
05:01 Lopo_ has joined #perl6
05:03 Lopo has quit IRC (Read error: 145 (Connection timed out))
05:03 Lopo_ is now known as Lopo
05:10 rashakil has joined #perl6
05:18 elmex has joined #perl6
05:27 xerox has joined #perl6
05:27 xerox Yow.
05:28 wolverian hey cat.
05:34 justatheory has quit IRC ()
05:34 ruz has quit IRC (Read error: 104 (Connection reset by peer))
05:39 elmex has quit IRC ("uni")
05:41 Amnesiac has quit IRC ("Leaving")
05:57 rashakil has quit IRC (Read error: 110 (Connection timed out))
06:04 xerox has quit IRC (Remote closed the connection)
06:08 ruz has joined #perl6
06:10 xerox has joined #perl6
06:12 r0nny has joined #perl6
06:13 r0nny yo
06:13 r0nny how do i set up constructors wit parameters ?
06:19 gaal r0nny: check out BUILD, I think it's mentioned in the docs/other/porting_howto
06:19 gaal Juerd: the funniest thing, I tried setting up mail forwarding on feather. Sent myself a test message from feather to [email@hidden.address] and it bounced; *to the address I was forwarding to*. :)
06:28 r0nny damn - i knew it
06:28 r0nny $.foo works ;P
06:30 lisppaste3 has quit IRC ("Want lisppaste3 in your channel? Email chandler AT unmutual.info.")
06:30 lisppaste3 has joined #perl6
06:33 r0nny woot
06:33 r0nny seems like perl6 can do neat functors
06:34 iblechbot has joined #perl6
06:44 r0nny omg
06:44 r0nny reading shooting in the foot of perl6 is *ARGH*
06:48 Khisanth shooting perl6's foot?
06:59 r0nny Khisanth: read Perl6-Pugs-6.2.9/docs/other/shot_in_the_foot
07:08 r0nny again - is there a way to use yaml evailing with files ?
07:08 Juerd gaal: What was your envelope from? (Note: *envelope*, not header)
07:16 sili_ has quit IRC ("Lost terminal")
07:17 Juerd gaal: Ah, you used [email@hidden.address] as your envelope from. No wonder it bounces to the forward address!
07:18 Juerd gaal: There is a config problem, making [email@hidden.address] not work. However, it can redirect [email@hidden.address] correctly, so the bounce is sent to the forward address
07:18 r0nny can someone tell me, how to dump the data stored in a deep hash ?
07:18 Juerd goddamnit
07:18 Juerd something overwrote a config file!
07:18 Juerd I *hate* it when that happens.
07:20 Juerd gaal: Should be fixed now. Can you test it?
07:22 Khisanth r0nny: %hash.perl maybe?
07:23 r0nny can i use this on all kinds of objects ?
07:26 Khisanth though .perl might be pugs specific
07:26 r0nny oh
07:26 r0nny *adding a fixme ;P*
07:28 r0nny btw - how long till roles will work ?
07:28 autrijus r0nny: it already works in perl5/Perl6-MetaModel
07:29 r0nny and n pugs ?
07:29 autrijus as for when it will be integrated back to default runcore, I _think_ I can pull it off within the 10 days of staying in liz's place (starting this weekend)
07:29 autrijus but I'm wondering how much of the ongoing p6l waveform collapsing is going to affect the object model (again)
07:29 autrijus but that is no excuse of not porting what is already there
07:30 r0nny hmm
07:30 autrijus so the plan still stands
07:30 autrijus (at least until larry checks it in into S12)
07:30 autrijus s/it/the new version/
07:33 larsen has joined #perl6
07:37 autrijus r0nny: re yaml eval with files
07:37 autrijus eval(=<file.yml>, :lang<yaml>)
07:38 nothingmuch has joined #perl6
07:38 r0nny oh
07:38 r0nny sweet ;P
07:38 autrijus :)
07:38 nothingmuch morning
07:38 autrijus yo nothingmuch
07:39 * nothingmuch likes the new colon prefix for nameds
07:39 nothingmuch and also, a sigil idea for classes that is sort of free is the broken pipe char
07:39 xinming has joined #perl6
07:39 nothingmuch i'm so out of date =(
07:39 autrijus nothingmuch: I suggested the same
07:39 svnbot6 r7748 | Darren_Duncan++ | /ext/Rosetta-Incubator : fixed up the Locale::KeyedText code and added most of its remaining documentation
07:40 autrijus larry chose ^t instead
07:40 autrijus which makes sense too
07:40 nothingmuch yeah, it does
07:40 autrijus not so sure about the unicode variant UP ARROW
07:40 nothingmuch is it as easy to parse?
07:40 autrijus i.e. about if we really need that
07:40 autrijus sure, it's no easier or harder than %
07:40 nothingmuch i agree about not needing that
07:40 nothingmuch what about infix xor?
07:41 autrijus what about infixmodulo?
07:41 nothingmuch $x ^ foo; # with a sub foo
07:41 nothingmuch oh, right
07:41 nothingmuch ;-)
07:41 autrijus =)
07:41 * nothingmuch wallops himself with perlop
07:41 xinming Hi, autrijus
07:41 xinming autrijus: Is C| changed to ^t ?
07:42 xinming Sorry, I didn't reach the mailing list archive, as just come back online
07:42 evalbot_7747 has quit IRC (Remote closed the connection)
07:42 nothingmuch i like the new pairness of colon
07:42 nothingmuch :$foo -> :foo($foo), etc
07:42 evalbot_7748 has joined #perl6
07:42 Khisanth ¢ -> ^?
07:42 nothingmuch it will really promote good design
07:42 nothingmuch Khisanth: aye
07:43 nothingmuch :%hash<key> especially
07:43 autrijus xinming: yes
07:43 nothingmuch i wish for that almost daily in perl 5
07:43 nothingmuch resorting to 'map { $_ => $h{$_} } qw/my keys/' instead
07:43 autrijus nothingmuch: fully agreed
07:43 Khisanth what is this : syntax for?
07:43 nothingmuch Khisanth: see how + was renamed to : on p6l
07:44 nothingmuch it relates to named parameters
07:44 autrijus Khisanth: http://www.nntp.perl.org/gro​up/perl.perl6.language/23820
07:44 dduncan nothingmuch, I agree and like that + to : change
07:44 xinming hmm, << is a bit like << in unicode form, And others are also in Unicode form, why this is so different? :-o
07:45 Khisanth I seem to recall : already being used for that before
07:45 Khisanth which is why I am confused :)
07:45 nothingmuch Khisanth: that's why it's such a good change ;-)
07:46 Khisanth you mean << and «? :P
07:46 nothingmuch it's used for paassing pairs as ":key<value>" etc
07:46 nothingmuch xinming: because up arrow makes no sense, while caret is the next free shifted number sigil
07:46 Khisanth hrm so pretty the same as the p5 foo({key=>"value"}); :)
07:46 nothingmuch we don't have a milcent unicode alias to sigil hashes just for the heck of it
07:46 gaal Juerd: mail forwarding works, although both From: and To: headers get s/perlcabal/feather.perl6/'ed.
07:47 nothingmuch Khisanth: err, but more
07:47 Khisanth there is not ! sigil :P
07:47 nothingmuch my %opts = ....;
07:47 gaal Juerd: mind if I install hashcash on feather? Everybody should use it ;-)
07:47 Khisanth s/ot/o/
07:47 nothingmuch foo(:%opts<key>); # gets key => %opts<key>, due to the colon.
07:47 nothingmuch that was what I was appreciating
07:47 Khisanth eh?
07:48 nothingmuch foo( %opts<key> ); # positional
07:48 nothingmuch foo( :%opts<key> ); # named, like ':key($opts<key>)'
07:49 gaal Juerd: http://www.livejournal.com/users/gaal/150447.html
07:51 Khisanth sub foo( :%opts ) { say %opts<bar> } %foo<bar> ="bar"; foo( :%foo<opts> ); < so that will print "bar"?
07:51 nothingmuch wow, that thread is making me happier and happier
07:51 nothingmuch Khisanth: yep
07:51 nothingmuch or more clearly:
07:52 nothingmuch sub foo ( :$bar ) { say $bar }; %foo<bar> = "moose"; foo( :%foo<bar> );
07:52 nothingmuch ?eval sub foo ( :$bar ) { say $bar }; %foo<bar> = "moose"; foo( :%foo<bar> );
07:52 evalbot_7748 Error:  unexpected ( or "f" expecting ";", statements or end of input Only one invocant allowed
07:52 nothingmuch not yet though ;-)
07:52 Khisanth this syntax is a bit strange :)
07:52 nothingmuch Khisanth: sorry, you got it slightly wrong
07:53 nothingmuch :%foo<opts>; # makes no sense - there is no such key in %foo
07:53 nothingmuch and %opts should be slurpy
07:53 nothingmuch (in foo's decl)
07:55 Khisanth I think for the first time I am unable to make sense of perl6 syntax :)
07:55 dduncan has quit IRC ()
07:55 nothingmuch huh? it's really simple
07:56 nothingmuch :foo( $rvalue ); # creates a pair, foo => $rvalue
07:56 nothingmuch right?
07:56 nothingmuch instead of writing ':foo( %hash:<foo> )' to create foo => $rvalue if rvalue is in a hash
07:56 nothingmuch you can write ':%hash<foo>'
07:56 nothingmuch oops, I stuck an extra colon in there
07:57 nothingmuch :foo( %hash:<foo> ) => :foo( %hash<foo> )
07:57 nothingmuch it's not a big change, it just lets you write 'foo' only once
07:57 nothingmuch without using map
08:02 Khisanth everything made sense then I see ":@array[42]42 => @array[1]"
08:02 Khisanth where the heck does the 1 come from?
08:07 dada has joined #perl6
08:10 nothingmuch that is an error
08:11 nothingmuch see several emails down
08:11 scook0 has joined #perl6
08:14 Khisanth has quit IRC (Read error: 104 (Connection reset by peer))
08:15 nothingmuch http://www.boingboing.net/2005/​10/27/math_proves_you_can_.html
08:15 Khisanth has joined #perl6
08:34 Juerd gaal: What do you use for email?
08:35 Juerd gaal: And you can install any debian package. If it's not a debian package, install things in places where they will never clash, and make sure they do not depend on specific libraries that are in debian packages
08:37 Juerd gaal: And I don't grok hashcash at all yet. I'll have a look later
08:37 Juerd afk
08:42 kakos has quit IRC ()
08:45 kakos has joined #perl6
08:59 bsb has joined #perl6
09:04 Liz has joined #perl6
09:08 Juerd "de-facto disallowed configurations -- if you want to set up an open-relay for functionality reasons, blacklist operators and ISPs will intentionally sabotage your email service."
09:08 Juerd That, listed in the hashcash FAQ, takes away a lot of confidence.
09:08 Juerd Certainly with " I tried to do this for a relative so he could send mail via my server regardless of which ISP he used (he travels a lot)." added
09:09 Juerd Also this FAQ isn't a FAQ. I can't imagine people have asked the authors questions this broad
09:12 Juerd My take on hashcash: it slows down the spamming, but ensures arrival of the spam
09:12 Juerd Hmm...
09:12 Cryptic_K has quit IRC (Read error: 104 (Connection reset by peer))
09:12 Juerd As a spammer, I'd know my choice!
09:12 Juerd A way to bypass all blacklists, all filters, all bayesian tools, all at once. At the cost of a fraction of a second.
09:15 Juerd Also, this hash has to be calculated by the mail server (which makes its impact huge instead of small), not the client, or BCC doesn't work.
09:15 Juerd The "FAQ" says this is not a problem
09:15 Juerd While in reality, BCC's are used a lot, and with good grounds.
09:15 Juerd Yes, spammers don't make headers and envelopes match up. That does not mean they use BCC.
09:16 Juerd gaal: Sorry, but currently, I cannot be in favor of hashcash.
09:16 Juerd gaal: It is not compatible with existing clients, and on a server it is too costly.
09:20 Juerd As hateful as they are, clients like Outlook Express and Eudora and such must not be ignored.
09:20 Juerd If those clients are unlikely to participate, the entire idea fails.
09:20 Juerd I don't think OE will ever send BCCs one-by-one.
09:21 Juerd It will be a great slowdown, especially for dial up users and in case of large messages (think attachments with funny pictures that people send to all their contacts, HOPEFULLY in bcc)
09:21 Juerd So MS won't do this, because end user experience, not technical correctness, is what they care about
09:21 Juerd And if OE doesn't implement hashcash, it will not work, because it's client based.
09:22 Juerd Most people will not migrate. That's a matter of fact, I'm afraid.
09:23 Juerd All these anti spam techniques have some problem that the authors and supporters think are not problematic
09:23 Juerd They're all well thought through, but just not enough.
09:32 xinming has quit IRC ("I really love GNU")
09:36 iblechbot has quit IRC (Connection timed out)
09:36 nothingmuch Liz++; # Cache::Memcached::Managed
09:37 Liz thank you ;-)
09:50 nothingmuch now all I have to do is make memcached work
09:51 nothingmuch libevent seems to be confused on OSX Tiger
09:51 nothingmuch it's unsynchronized
09:51 nothingmuch seems like there is a 1 item write queue somewhere
09:52 * nothingmuch will try cvs version
09:52 Liz yes, memcached on OS X sucks badly because of that
09:52 Liz but it's because OSX screwed up
09:53 nothingmuch it says "broken kqueue"
09:53 nothingmuch can I use select instead?
09:53 Liz eagerly waiting for 10.4.3, which should be RSN
09:53 nothingmuch ah
09:53 Liz it should automatically revert to that, doesn't it?
09:53 nothingmuch i'm guessing it does
09:54 nothingmuch but in that case, why isn't select unbreaking memcached?
09:54 nothingmuch or are these unrelated?
09:54 Liz it's so bad on OSX right now that the stress test in the test-suite isn't done...
09:54 Liz on your basic Linux box that takes 2-3 mins
09:54 Liz on my iBook it would take 10+ hours
09:54 nothingmuch on mine it doesn't work
09:54 nothingmuch all values come back undef
09:54 Liz (never actually let it ran that long)
09:55 Liz ah?
09:55 Liz is memcached running at all?
09:55 nothingmuch yes
09:55 nothingmuch it's not delayed
09:55 nothingmuch as in the value takes a long while to get there
09:55 Liz can you telnet to it and do a "quit" ?
09:56 nothingmuch yes, that works
09:56 nothingmuch but if i do e.g. 'get foo'
09:56 nothingmuch then nothing is printed to the socket
09:56 nothingmuch oh wait, there is
09:56 nothingmuch but for some reason both Cache::Memcached and Cache::Memcached::Managed return immediately, with undef
09:57 Liz then it's not making a connection probably
09:57 Liz did you config right?
09:58 nothingmuch yep
09:58 rafl_ Good morning.
09:58 nothingmuch i'm seeing output in -vv
09:58 nothingmuch hi raa
09:58 nothingmuch rafl_:
09:58 rafl_ Hi nothingmuch
09:58 Liz nothingmuch: not sure what the pb is then...
09:59 nothingmuch nevermind, i'll do this on linux
09:59 nothingmuch can I override the server C::M::M uses?
09:59 nothingmuch (in it's test suite)
09:59 Juerd bankrupt clients --
09:59 nothingmuch oi
09:59 Juerd Or, as a counter: ++
09:59 Juerd :*
09:59 Juerd :(
09:59 Liz eh...
09:59 nothingmuch can't you sue anyone?
10:00 rafl_ nothingmuch: Nur sure if I already said this: I maintain your XML::SAX::Expat::Icremental for Debian now.
10:00 Liz the test-suite starts its own servers...
10:00 nothingmuch rafl_: cool, i didn't know it's popular
10:00 Liz that can only be done locally
10:00 Juerd nothingmuch: Not really.
10:00 nothingmuch Liz: okies, in that case i'll just install blindly
10:00 Liz success!
10:00 nothingmuch rafl_: if you need any kwalitee improvements or something, let me know
10:00 rafl_ nothingmuch: libpoe-filter-xml-perl depends on it. And libpoe-component-jabber-perl depends on libpoe-filter-xml-perl. So I needed to package it..
10:01 Juerd nothingmuch: What I want is tiny compared to their total debt. I don't stand a chance.
10:01 rafl_ nothingmuch: I'm a jabber fanatic, you know? :-)
10:01 Liz juerd: if the curator ever comes to you with a settlement proposal: take it
10:01 nothingmuch Juerd: well, I'm guessing for a private business it's not that tiny an amount for you, right?
10:01 Juerd Liz: Of course!
10:01 nothingmuch rafl_: I always meant to install jabberd on my home box
10:01 Juerd Liz: I've made the mistake of not doing so once, never again.
10:02 Liz and make sure you get the VAT back (hmmm... are you charging VAT?)
10:02 Juerd nothingmuch: That's mostly irrelevant
10:02 Juerd Liz: Yes, I am
10:02 Juerd Which reminds me... Only a few days left for Q3 :(
10:02 rafl_ nothingmuch: I'd prefer ejabberd..
10:02 Juerd Fuck. Totally forgot that!
10:02 Juerd Thanks for mentioning VAT :)
10:03 nothingmuch rafl_: is it easier to set up? my last attempt was like a 2 years ago or so, and I think there was a showstopping problem
10:03 Juerd You could install jabberd on feather, and you'd get @feather.perl6.nl jabber addresses :)
10:04 nothingmuch i want a woobling.org address =)
10:04 Juerd I see
10:04 Juerd Vanity addresses! ;)
10:04 nothingmuch aye
10:04 Juerd (++)
10:04 rafl_ nothingmuch: The Debian package is in a quite good shape. And you don't need to edit XML to set it up.
10:04 nothingmuch i pay good money for a stupid domain name
10:04 rafl_ nothingmuch: Well, you need to edit erlang data structures, though.
10:04 nothingmuch rafl_: edit XML? what kind of package installation would make the poor user do that?
10:05 nothingmuch oh, ejabberd
10:05 rafl_ nothingmuch: The jabberd config files are XML.
10:05 rafl_ nothingmuch: ejabberd configs are erlang-like.
10:05 nothingmuch i thought you were referring to the ::Incremental package
10:05 * nothingmuch wonders if ejabberd is in portage
10:05 gaal rehi
10:05 nothingmuch hi gaal
10:06 gaal Liz: you can port Cache::Memcached::Managed to p6 :)
10:06 gaal nothingmuch: aloha!
10:07 Juerd nothingmuch: You pay a noticeable amount of money, just for a .org?
10:07 Liz gaal: I was actually considering that
10:07 nothingmuch Juerd: ~$5 a year or so ;-)
10:07 gaal Juerd: it is a debian package; users just need a wrapper around sendmail as their, well, sendmail command :)
10:07 Juerd nothingmuch: Ah, so that's your def of "good money" :)
10:07 gaal Liz: Cache::Memcached is ported, hee.
10:07 Liz gaal: and adapting the memcached protocol so that C:M:M functionality would be done server side rather than client side
10:07 Juerd nothingmuch: I have to remember that for when you sell something and express you want good money for it :)
10:08 Juerd gaal: Install it, but please do not wrap the default sendmail.
10:08 gaal (though it never actually ran.)
10:08 nothingmuch well, you have to invest in money obedience school.
10:08 gaal Juerd: of course not!
10:08 Juerd gaal: Put the wrapper somewhere else, and document in your .plan or public_html that people who wish to use it have to change their $PATH
10:08 gaal I don't do that on my own box
10:09 r0nny_ has joined #perl6
10:10 gaal Juerd: sure. As for the other objections, I'll have to read that FAQ you mentioned (doesn't look like something I'd seen) - making effective use of it is a matter of tuning, nobody that I know wants to make it an automatic white flag.
10:11 gaal Juerd: and, yes, I do realize there's no practical value for a very small number of people using it.
10:11 gaal which is why I want to encourage others to join in ;)
10:11 Juerd Well, I think it sucks :)
10:11 Juerd It has to be client side
10:11 Juerd But clients are ill connected
10:11 gaal Yes.
10:11 Juerd It requires BCCs to be sent individually
10:11 Juerd Which takes a long time, if you are ill connected
10:12 Juerd The only solution to that is to not use the hash when you're sending BCCs
10:12 Juerd But then people can detect that you are sending a BCC
10:12 Juerd Which isn't quite good either
10:12 gaal hmmm, how does your connectedness fiure into this?
10:12 Liz it's a nice throttling effect...  ;-)
10:12 gaal you can mint before you connect.
10:13 gaal *figure
10:13 Liz putting the burden on the client rather than the server side, no?
10:13 gaal Yes.
10:13 Juerd gaal: A single message, with no recipient-specific headers, can be sent to multiple rcpts without duplication over the line.
10:13 Juerd gaal: But hashcash requires that every recipient gets their own, recipient specific headers
10:13 Juerd gaal: Which means that the message has to be re-sent for each message individually
10:14 gaal Actually, hashash is perfect for proprietary systems where you control all the clients. The majot problem with deploying it in email is that most clients don't know how to participate.
10:14 nothingmuch Juerd: nuh uh, you can just share all the headers
10:14 nothingmuch you only need to send the BCC users their own headers
10:14 gaal nothingmuch: Juerd refers to BCC
10:14 Juerd gaal: Which means the data traffic grows from $size to @recipients * $size
10:14 nothingmuch ah
10:14 nothingmuch the problem could really be fixed by hashcaching the hash of the email, not the email itself
10:15 nothingmuch then each user will hash their own addresses, and look for hashcahes which pay these hashes
10:15 Juerd Given the VERY COMMON scenario of @recipients > 20 and $size > 500 kB, that SUCKS for the user, who doesn't care about hashcash anyway
10:15 gaal Juerd: I think the reason I never considered this is that I never BCCed more than a few people on one email
10:15 nothingmuch that way the user can only know whether there was a BCC, not who was BCCed
10:15 Juerd And thus end users will not ever want to use this
10:15 Juerd And thus its use will never be common enough for the scheme to work
10:15 Juerd So I find any attempt to implement it for myself futile.
10:15 Liz Juerd: Wendy will send you a mail regarding getting the VAT back from your --client
10:16 nothingmuch Juerd: one thing to remember - if you sent someone before you BCCed them, then you don't need to pay them again
10:16 Juerd Liz: I've done it before.
10:16 gaal Juerd: I doubt very much that this is *the* major obstacle for acceptance :) but I'll see if I can think of something :)
10:16 Juerd Liz: The easy way is to just negate the invoice with another. ;)
10:17 Liz Juerd: ok, if that works for you!
10:17 Juerd Liz: The funny thing about that is that you can reverse the actual buying with that, negating warranty as well. This isn't entirely legal, but bankrupt clients usually don't complain :)
10:17 Juerd (It's legal until people complain)
10:17 Liz isn't that always the case?
10:17 Liz ;-)
10:17 Juerd No
10:18 Juerd This actually is legal :)
10:18 Liz ah, ok
10:18 Juerd It's like sending invoices by email
10:18 Juerd That's legal
10:18 gaal djb has a very, very sketchy proposal -- an idea really -- for an alternative email architechture. The gist is that the sender ('s ISP) is responsible for storing the email.
10:18 Juerd Until people complain, and you have to comply by sending a hard copy
10:18 gaal "opt out"
10:19 Juerd gaal: I don't like that either
10:19 Juerd I quite like how SMTP works in general
10:20 Juerd nothingmuch: I don't understand what you say
10:20 nothingmuch Juerd: there are scnearios where you only need to pay a user once
10:20 nothingmuch let's say I mail you, and give you 15 seconds of CPU time
10:20 nothingmuch or N bits
10:20 nothingmuch then you can say "OK, i trust this guy"
10:20 nothingmuch and I don't have to do it anymore
10:21 gaal nothingmuch: well, that requires hefty protocolling to get it to work
10:21 nothingmuch spamassassin's auto whitelisting is prolly good enough
10:21 nothingmuch for 90% of the cases
10:21 Juerd nothingmuch: Right, and how do you know I trust you?
10:22 nothingmuch well, I don't, without a protocol
10:22 Juerd Do you just assume this?
10:22 Juerd Right
10:22 nothingmuch but if i've mailed you 10 times and paid
10:22 nothingmuch and now i'm bccing
10:22 Juerd The protocol isn't there, and would be hard to implement.
10:22 nothingmuch it might be safe to mail you without it... this is adhoc knowlege though
10:22 nothingmuch btw, camram.org for a protocol
10:24 nothingmuch bottom line: hashcash is better than nothing at all
10:24 nothingmuch bccing isn't that common for home users
10:24 nothingmuch if it is they have a trade off
10:24 robkinyon wrong
10:25 nothingmuch either waste bandwidth or waste privacy
10:25 robkinyon bcc'ing is more common than you thin
10:25 Juerd BCCing is extremely common
10:25 Juerd Painful, but common
10:25 robkinyon for example, let's say i want to send a story to all my friends, but i don't want my friends to know about each other
10:25 * nothingmuch hasn't met people who use it on a day to day basis IRL, hence my impression
10:25 robkinyon i send it to my self, bcc'ing all my friends
10:25 r0nny has quit IRC (Read error: 110 (Connection timed out))
10:25 robkinyon (I learned this trick from someone I taught to cut'n'paste)
10:25 Juerd When people receive a "hahahaha" picture, powerpoint presentation, word document, MP3, video, or even screen saver, they FORWARD it
10:26 Juerd To ALLLL their friends
10:26 Juerd The somewhat smarter ones luckily use BCC for this.
10:26 nothingmuch right, but they never remember to BCC
10:26 Juerd Oh, yes they do.
10:26 Juerd And they should.
10:26 nothingmuch they should not be sending that crap in the first place ;-)
10:26 Juerd But they do
10:26 Juerd And they love to do it
10:26 * nothingmuch has yet to get mail where it's BCCed
10:26 Juerd They spread viruses and other malware with it
10:26 nothingmuch but nevermind, this is offtopic
10:26 Juerd They usually even know that this can happen
10:27 Juerd But that doesn't stop them
10:27 robkinyon nothingmuch: you have received bcc email - you just don't know it
10:27 nothingmuch robkinyon: mailing lists etc don't count
10:27 robkinyon i'm not talking MLs
10:27 robkinyon 99.5% probability that anyone with an email addy for at least a year has received at least one bcc'ed email
10:28 Juerd nothingmuch: The absence of mailing lists is what counts here.
10:28 nothingmuch robkinyon: right
10:28 nothingmuch i'm not saying it doesn't exist
10:28 Juerd The problem is that this measure is invented by someone, who like you, apparently doesn't think BCC mail is important
10:28 nothingmuch i'm saying that when it does happen, hashcash is prolly irrelevant
10:28 Juerd It may not be for hem
10:28 Juerd In fact, perhaps he has indeed never received any that he liked
10:28 robkinyon i have no idea what hashcash is, but if it makes bcc harder, then it's near-worthless
10:28 Juerd But his ignorance made him design a "solution" that isn't applicable to all of the culture he tries to change
10:28 nothingmuch the issue is that hashcash is just one more tool in a big arsenal of things to tell apart ham from spam
10:29 robkinyon feh
10:29 robkinyon gmail is all i need
10:29 nothingmuch robkinyon: it's not for the mail you read, it's for the mail you send
10:29 robkinyon gah
10:29 robkinyon why on earth would i want that?
10:29 nothingmuch so that your mail won't be trashed
10:29 wcting has joined #perl6
10:29 robkinyon if everyone was on gmail, then spam wouldn't exist
10:29 Juerd robkinyon: The idea is that your mail bypasses all blacklists and filters, if you "paid" for it with your CPU time.
10:30 gaal robkinyon: because modulo the bcc problem, and the deployment problem, it more or less solves spam.
10:30 Juerd Which, incidentally, is hard, because my CPU sucks a hell of a lot more than yours does.
10:30 lisppaste3 has quit IRC ("Want lisppaste3 in your channel? Email chandler AT unmutual.info.")
10:30 robkinyon uhh ... no
10:30 gaal Juerd: weighted bypass, of course.
10:30 Juerd gaal: That's not what hashcash.org suggests
10:30 lisppaste3 has joined #perl6
10:30 nothingmuch bah
10:30 nothingmuch this is just like habeas
10:30 Juerd gaal: It explicitly mentions the case of a blacklisted open relay.
10:30 robkinyon so, if i have a quad-xeon, i can pay for all my spam with teraflops that i won't need?
10:30 gaal Juerd: like i said, i have to reread that FAQQ.
10:30 nothingmuch and having a good rev pointer
10:30 nothingmuch and signing with PGP
10:31 Juerd robkinyon: Yea.
10:31 nothingmuch spamassassin will see that info and score it better
10:31 robkinyon feh
10:31 robkinyon $20k and I can send all the spam i want, forever
10:31 nothingmuch it's really not that important
10:31 Juerd robkinyon: And if you have a Pentium 133, you'll have to wait a few minutes per mail, to pay equal bits.
10:31 robkinyon gah
10:31 nothingmuch if you have a pentium 133 find another solution
10:31 Juerd Indeed, the fact that spammers make a lot of money and don't mind investing is once again ignored.
10:31 gaal robkinyon: actually $20k will not be enough.
10:31 robkinyon That's a bad answer, nothingmuch
10:31 Juerd gaal: Oh, it will be.
10:32 nothingmuch robkinyon: my argument is, for the third time: this is just another measure
10:32 gaal Juerd: I think not.
10:32 nothingmuch it's not the one true solution
10:32 nothingmuch let's please stop bickering about this
10:32 Juerd gaal: feather cost me 400 euros
10:32 Juerd gaal: 20k buys me 50 of those.
10:32 robkinyon gaal: Or, I could buy 20 $300 Dell machines which are 3GHz processors and beowulf them
10:32 Juerd gaal: Guess how many cashing hashes I can crunch out with such a cluster.
10:33 Juerd And yeah, it doesn't need to be as solid as feather is
10:33 robkinyon $6k for, what, 60GHz throughput?
10:33 Juerd You can use cheap mainboards, cheap CPUs (AMD), no RAID.
10:33 Juerd In fact, no hard drive is needed even
10:33 wcting is now known as whiteg
10:33 robkinyon Heck, if you're any good at programming, you could link up all those 133's using Fialta (http://www.fialta.org) and be even stronger
10:33 nothingmuch 60GHz is still not enough to send 24bits to 1 million addressees in reasonable time
10:34 nothingmuch but this is soooo besides the point
10:34 nothingmuch there is also the technical factor
10:34 nothingmuch people who bother doing it are more credible
10:34 Juerd Spammers aren't stupid
10:34 nothingmuch but it's just another heuristic
10:34 robkinyon a random spammer could pay me $10k to set that up for him
10:34 Juerd Only half of them are.
10:34 nothingmuch and a pretty good one for some things
10:34 robkinyon I'd even host it
10:35 robkinyon for $10k
10:35 Juerd nothingmuch: We have spammers who want to use our data centre. They don't mind paying BIG money for "bullet proof" (no questions asked, no policies, open access no matter what) hosting
10:35 gaal robkinyon: don't lose your day job :)
10:35 robkinyon gaal: LOL
10:35 Juerd nothingmuch: They are rich. They have enough money to counteract most measures, including ones that don't do much like hashcash.
10:35 nothingmuch still, this is besides the point AS IT"S JUST ANOTHER HEURISTIC
10:35 rafl_ What's util/catalog_* ?
10:35 Juerd nothingmuch: The heuristic costs a lot, with very little benefit.
10:36 nothingmuch ffs, you don't have to use it
10:36 robkinyon nothingmuch: It's a heuristic which is kind of like a gun-control law
10:36 nothingmuch but right now, no spammers use it
10:36 robkinyon all the law-abiding people are going to do it
10:36 nothingmuch if you use it, spamassassin will be nice to you
10:36 nothingmuch that's it
10:36 nothingmuch that's all i'm saying
10:36 robkinyon all the criminals (against whom the law is supposed to deal with) are going to ignore or bypass it
10:36 Juerd nothingmuch: The situation here is that I'm asked if I want it on feather
10:36 rafl_ is now known as rafl
10:36 nothingmuch hell, you could write a virus that makes hashcashing a distributed computing thing
10:37 Juerd nothingmuch: I find this hard to answer, because I think it's a waste of resources
10:37 nothingmuch Juerd: then say no, and that's that
10:37 gaal also: some other messaging systems like IM, SMS, etc. can certainly benefit form it. If you ever find yourself designing such a system, please consider hashcash.
10:37 Juerd nothingmuch: On the other hand, its use will be so limited that *practically* it will not be a problem
10:37 nothingmuch anyway, i'm off to have lunch
10:37 Juerd nothingmuch: So I'm considering theory versus practice, and am thinking out loud, at the same time including your arguments in my thinking and responding to them.
10:38 gaal Juerd: never moose then, it's not important.
10:38 Juerd gaal: I want you to know WHY I don't like it. You can use it, sure.
10:38 Juerd As a sysadmin, I light the green light.
10:39 Juerd As a fellow IRC user, I more or less think you're walking a useless path
10:39 gaal Juerd: ACK. I appreciate your objections -- they're new to me and interesting -- but if this is turning into an argument, I don
10:39 gaal 't want to pursue it.
10:40 Juerd Neither do I
10:40 Juerd As said: I was just thinking aloud
10:40 Juerd And other voices joined my thinking :)
10:40 robkinyon anyone here use Class::Roles (chromatic's version) ?
10:40 gaal Okay :)
10:42 gaal Happy birthday CPAN?
10:47 Odin-LAP has joined #perl6
10:57 whiteg has quit IRC ()
11:17 elmex has joined #perl6
11:19 wcting has joined #perl6
11:20 rafl has quit IRC ("Lost terminal")
11:21 rafl has joined #perl6
11:40 iblechbot has joined #perl6
11:43 bsb has quit IRC ("ChatZilla 0.9.61 [Mozilla rv:1.7.12/20050923]")
11:52 nothingmuch lisppaste3: ping
11:52 nothingmuch crap
11:52 nothingmuch Liz: ping
11:54 lisppaste3 pong :) pasted "pong :)" at http://paste.lisp.org/display/12936
11:55 Liz pong
11:56 nothingmuch can you add a raise_errors option to C::M::M?
11:56 Liz hmmm...
11:57 Liz what kind of errors are you thinking about?
11:57 nothingmuch e.g. if i did $cache->set(...);
11:57 Liz C::M::M is supposed to be as silent as possible
11:57 nothingmuch and it didn't set
11:57 nothingmuch exactly
11:57 nothingmuch but when the fallbacks eventually snuff it, i will die anyway
11:58 nothingmuch this way I don't have to remember
11:58 Liz I guess you would want this in C::M as well...
11:58 nothingmuch especially since errors are uncommon in practice
11:58 nothingmuch in C::M there's just "worked" or "didn't work"
11:58 Liz well, if a memcached server has died, you'd want each and every set to scream?
11:58 nothingmuch if caching is not actually working i'd like that, yes
11:59 Liz hmmm...
11:59 Liz patches welcome...  ;-)
11:59 nothingmuch the situation I would like the user to know about is when I try to store, but I wouldn't be able to ->get afterwords
11:59 Liz but you're not sure you'll be able to get afterwards anyway
11:59 Liz it's a cache,, not a db!
11:59 nothingmuch i know
12:00 nothingmuch but if i know that I'm 100% sure that I won't be able to
12:00 nothingmuch because the server died
12:00 nothingmuch Catalyst uses this stuff for session management
12:00 nothingmuch it's not the end of the world if sessions are zapped as long as the user knows
12:00 nothingmuch i'm rewriting the plugins now
12:00 nothingmuch on the TODO list is also Session::Store::DBI which is a safer alternative
12:01 nothingmuch but if the user wants to use memcached they should know when it's 100% not working
12:01 Liz I see...
12:01 nothingmuch if it works most of the time, and data loss happens, it's part of the deal
12:01 Liz I'll think about it...  ;-)
12:01 nothingmuch if no server is available whatsoever, otoh
12:01 nothingmuch okay, forget raise_error for a second
12:01 nothingmuch in the current module, what is the most reliable way for me to check whether this is the case
12:02 nothingmuch ?
12:02 wcting has quit IRC ()
12:02 Liz C::M::M->inactive?
12:03 Liz no, more accurately: "dead"
12:03 nothingmuch so i should check for ->dead after i set?
12:04 Liz hmmm... if you want performance: no
12:04 nothingmuch oh, no, that's a big check
12:04 * nothingmuch just read the source ;-)
12:04 nothingmuch okay, screw it
12:04 nothingmuch if the user wants reliablility, they can just use DBI
12:04 nothingmuch i'm dying if ->set returns false, and that's it
12:04 robkinyon C::M::M?
12:04 Liz yep, that;s the idea... ;-)
12:05 Liz Cache::Memcached::Managed
12:05 robkinyon ahh
12:05 robkinyon so, completely unrelated to C::MM (both variations) or C::M or MM2.0
12:05 robkinyon :-p
12:05 * Liz going out for some R & R...
12:06 nothingmuch =)
12:06 nothingmuch thanks for the advice
12:07 Ikarus_ is now known as Ikarus
12:17 kolibrie has joined #perl6
12:41 scook0 has quit IRC (kornbluth.freenode.net irc.freenode.net)
12:41 xerox has quit IRC (kornbluth.freenode.net irc.freenode.net)
12:41 ruz has quit IRC (kornbluth.freenode.net irc.freenode.net)
12:44 scook0 has joined #perl6
12:44 xerox has joined #perl6
12:44 ruz has joined #perl6
12:47 wilx has quit IRC (Remote closed the connection)
12:57 xerox- has joined #perl6
12:58 xerox has quit IRC (Connection timed out)
13:05 G2 has joined #perl6
13:05 SamB has quit IRC (Read error: 104 (Connection reset by peer))
13:08 gaal clkao: ping
13:21 theorbtwo has quit IRC (Read error: 110 (Connection timed out))
13:26 clkao gaal: hi
13:29 raptorXXX has joined #perl6
13:29 raptorXXX hi, test
13:30 gaal clkao: hello. i'm getting an error in SVN::Web...
13:30 gaal Revision.pm around line 41
13:30 raptorXXX i have missed the latest activity on perl6..so some questions if possible..
13:30 clkao uhm. i htink that's solved by nik
13:30 gaal apparently $self->{repos}->get_logs is failing
13:30 gaal oh!
13:31 gaal good :)
13:31 raptorXXX ~~ dosnt work ? isn't it.. i have to use p5-regex
13:31 gaal is there an sv{n,k} repo I can grab the latest sources from?
13:32 kolibrie raptorXXX: rules work, but are not yet stable, so p5 regexes are still recommended
13:32 gaal raptorXXX: do you have parrot?
13:32 raptorXXX yep i'm on gentoo
13:32 raptorXXX and there is pugs and parrot ebuilds
13:32 raptorXXX 6.2.9 and 02.3
13:33 gaal raptorXXX: you need parrot 0.3.0 or even newer afaik
13:33 raptorXXX next questions? does
13:33 raptorXXX {
13:33 raptorXXX PRE {}
13:33 raptorXXX NEXT {}
13:33 raptorXXX BLAH {}
13:33 raptorXXX }
13:33 raptorXXX work
13:33 gaal generic answer: check out the smoke tests :)
13:33 gaal http://smoke.pugscode.org
13:33 scook0 has quit IRC ("Leaving")
13:34 raptorXXX aha..ok
13:34 raptorXXX i'm goin trought docs... and try different things..
13:35 raptorXXX :).. so rules are not here yet !?
13:35 raptorXXX if i try : print 123 if "blah" ~~ /blah/;
13:35 raptorXXX i get :
13:35 raptorXXX Parrot VM: Can't locate PGE.pbc, code 2.
13:35 raptorXXX Couldn't find PBC file
13:36 raptorXXX #locate PGE.pbc
13:36 raptorXXX /usr/lib/parrot-0.2.3/runt​ime/parrot/library/PGE.pbc
13:36 gaal 15:33 < gaal> raptorXXX: you need parrot 0.3.0 or even newer afaik
13:36 raptorXXX so it seems to be here, is there a way to point the path.....ok
13:36 raptorXXX i will try to upgrade
13:37 kolibrie raptorXXX: you might want to upgrade pugs, too
13:37 raptorXXX yep..is there big changes in the way they : parrot, pugs
13:38 raptorXXX compilation changed
13:38 raptorXXX if not i will be able to make .ebuild for them quickly
13:40 xerox- is now known as xerox
13:41 theorbtwo has joined #perl6
13:41 gaal clkao: sooo, can i grab the latest sources from somewhere? I have a patch I want to work on.
13:43 raptorXXX i see in examples that sometimes  %hash<blah>
13:43 raptorXXX is used
13:43 raptorXXX does this mean that <> and {} can be used intergangably
13:45 theorbtwo They aren't completely interchangable, but do more or less similar things.
13:45 theorbtwo <> takes a string, {} takes an expression.
13:46 raptorXXX i see, thanx
13:46 raptorXXX u do not need to use qoutes
13:47 gaal raptorXXX: if you use {} you do
13:47 gaal <> *is* a form of quoting, {} isn't.
13:47 Odin-LAP has quit IRC ("What's this button do?")
13:47 gaal so: %hash<mykey> vs. %hash{'mykey'}
13:48 gaal there are no barewords in Perl 6, so %hash{mykey} is wrong.
13:48 clkao gaal: uhm it's not in trunk yet. i should talk to nik
13:48 raptorXXX i see
13:48 gaal clkao: okay. i have to go now.. but can you give me the repo url for when i come back? :)
13:49 * gaal waves &
13:49 clkao it's in svn://svn.clkao.org/members...
13:54 joepurl has joined #perl6
14:00 Juerd 15:48 < raptorXXX> does this mean that <> and {} can be used intergangably
14:01 Juerd No, %foo<...> is like %foo{<...>}
14:01 Juerd It's just a convenient shorthand :)
14:08 eric256_ has joined #perl6
14:11 eric256_ morning all
14:11 raptorXXX morning/afternoon :)
14:11 rafl I wonder if there will be modules for perl6 like those XS modules in perl6 which are unportable between architectures.
14:11 Juerd Thure will.
14:11 Juerd s/u/e/
14:12 Juerd There will be platform specific modules, for instance to communicate with the platform :)
14:13 * xerox quotes "those xs modules" .. ;-)
14:13 eric256_ no communitcateing with the platform allowed!!! ;)
14:13 eric256_ hey Juerd looks like your rally for ^ might be catching on ;)
14:14 Juerd Yeah :)
14:14 Juerd My first sigil ;)
14:14 xerox What would it do?
14:15 eric256_ it lest you have kinda template types.   sub x (^T $x) { }....now the type of the passed $x is in ^T
14:15 eric256_ where type is not the right word according to powers that be. ;)
14:15 autrijus ;)
14:16 autrijus rehi :)
14:16 * autrijus ponders "JavaScript as XS" and "PIR as XS"
14:17 clkao eek!
14:17 xerox Oh, is xs something specific?
14:17 autrijus clkao: 1 EEK = 0.06 EUR
14:18 xerox I thought it was a pun to say "a bunch of things" as in: a list - xs :-)
14:18 * clkao kicks autrijus
14:18 autrijus xerox: XS is this scary language perl5 is written in
14:18 autrijus it's a language defined as a set of C macros.
14:18 xerox That's funnier.
14:18 clkao xs4all
14:20 theorbtwo The existance of XS is one reason that the perl6 project has the shape that it does.
14:22 autrijus theorbtwo++ # acute observation
14:23 autrijus it is also why mugs were thrown ;)
14:23 obra autrijus: why XS not inline?
14:23 theorbtwo Inline is a layer around XS.
14:23 autrijus obra: sure, inline gens xs
14:24 autrijus the idea is that instead of having a "single" xs
14:24 autrijus p6 should just use whatever lower level language its runtime uses
14:24 autrijus including but not limited to js, pir, p5
14:24 obra nod
14:24 theorbtwo But that means you're stuck with a lower-level.
14:24 autrijus which is already an improvement from XS...
14:24 theorbtwo If I want to use a module that uses js and one that uses pir, I'm screwed.
14:24 autrijus theorbtwo: if gen native C
14:24 autrijus then the XS in question would be C
14:25 autrijus theorbtwo: why screwed? you are screwed only iff js<->pir
14:25 autrijus is not there.
14:25 theorbtwo OK, gotcha.
14:25 robkinyon autrijus: Does this mean that there's going to be multiple runtimes installed??
14:25 robkinyon or runtime translators ... ?
14:25 autrijus robkinyon: I suspect so, and I suspect for a while both parrot and p5 will be installed
14:26 autrijus robkinyon: runtime translators is something else that probably can't be counted on to exist easily
14:26 theorbtwo Compiling perl6 to $whatever is hard enough, without making ourselves write $whatever to perl6 compilers as well.
14:27 robkinyon so, theorbtwo's concern is valid ...
14:27 autrijus theorbtwo: yup. now any<->pir is the goal of parrot
14:27 autrijus er
14:27 autrijus robkinyon: yup. now any<->pir is the goal of parrot
14:27 autrijus so there is really two layers: p6<->any and any<->pir
14:27 robkinyon igh
14:27 autrijus I used to think they clash unneccessarily
14:27 robkinyon ugh, even
14:28 autrijus now I think it's complementary, in a egg-basket sense as well as a common-libraries sense
14:28 theorbtwo Don't we want p6->pir, and pir->whatever (with perl6 being a whatever)?
14:29 autrijus it's more like p6->* and *->pir, I think
14:29 autrijus pir->* is... kind of hard.
14:29 autrijus (energy flows from higher level abstractions to lower level ones)
14:29 autrijus pir->* amounts to disassembly.
14:29 theorbtwo Wasn't the point of pir to be easy to implement?
14:29 autrijus mm, I missed that note
14:30 autrijus maybe.
14:30 autrijus in which case it'd make sense :)
14:30 lisppaste3 has quit IRC ("Want lisppaste3 in your channel? Email chandler AT unmutual.info.")
14:30 theorbtwo It's quite possible I'm simply wrong there -- the introduction of pir was about the time when I stopped knowing what was going on.
14:30 theorbtwo Oh.  Wait.
14:30 theorbtwo I'm thinking of pil, not pir.
14:30 autrijus :D
14:30 autrijus so yes. p6->pil (only), pil->*, *->pir
14:30 lisppaste3 has joined #perl6
14:31 raptorXXX pil = pugs intermediate lang, pir = parrot.... ?!
14:31 autrijus it is quite interesting to think about *->pil .
14:31 autrijus robkinyon: parrot intermediate representation
14:31 autrijus er
14:31 autrijus s/robkinyon/raptorXXX/
14:31 stevan_ hey autrijus !
14:31 stevan_ is now known as stevan
14:31 autrijus greetings stevan san! I'm back to sanity and life :)
14:32 clkao from insanity and lifeless?
14:32 stevan yes I read some of your links last night
14:32 stevan good to have you back :)
14:32 autrijus it's very fortunate that I didn't post it verbatim
14:32 autrijus putter++ obra++ # sanity guard
14:32 stevan autrijus: I dont think they were that bad,.. but then I am not a good sanity guard
14:32 autrijus lol
14:32 raptorXXX p6->pil (only), pil->*, *->pir     <--|| so this is how pugs work ??
14:32 autrijus no it wasn't that bad, just the tone is wrong
14:32 autrijus robkinyon: yes
14:32 autrijus sigh
14:32 autrijus raptorXXX: yes
14:33 stevan autrijus++ # using the right tools for the job :P
14:33 * autrijus needs to tabcomplete with 2
14:33 autrijus nah, I never use people as tools :p
14:33 autrijus frameworks, maybe
14:33 stevan :)
14:33 autrijus and I got (unsolicited) mail saying I should never turn down grants prematurely
14:34 clkao don't say the f-word!
14:34 autrijus with lots of encouragement words
14:34 raptorXXX pil is Haskell??
14:34 autrijus raptorXXX: PIL is abstract data structure
14:34 autrijus raptorXXX: you can output that structure in JSON, Perl5, Haskell, PIR, whatever
14:34 autrijus using pugs -C
14:34 raptorXXX pugs -CPUGS
14:34 raptorXXX aa yeah
14:35 raptorXXX i see :)
14:35 stevan autrijus: so what is the plan to do now that you are back "online"
14:35 autrijus stevan: anyway, I think my mind is back in shape and the guilt trip is over :)
14:35 theorbtwo Oh.  pugs -CPerl5 only outputs the pil structure as perl5 code -- it doesn't actually include anything to /run/ it.
14:36 autrijus stevan: ok. the plan is that I finish delivering 4 talks to cph.pm tonight
14:36 autrijus theorbtwo: yup. that's what codegen and object space and runtime come in
14:36 stevan I mean for the 10 days at liz's :)
14:36 * stevan ponders a plane ticket to amsterdam
14:37 autrijus stevan: it depends on how long you'd be around
14:37 autrijus ooh, that would Absolutely Rock
14:37 * stevan is kidding,..but its a nice thought
14:37 autrijus :/
14:37 stevan autrijus: $work is slow enough that I am at your disposal
14:37 autrijus but without flying here
14:37 autrijus tsk tsk :
14:37 autrijus :)
14:37 autrijus anyway, I think we need to gobby a lot.
14:38 * stevan is still working off the YAPC::NA trip :)
14:38 autrijus lol
14:38 autrijus I'm thinking first working out the (admittedly preliminary) object space model fully, based more on perl5/P6-MM
14:39 stevan ok, I have some of that started,.. I will commit it by this weekend
14:39 autrijus wonderful
14:39 autrijus and I think we ignore the p6l type/obj/class/foo thread for now.
14:39 stevan autrijus: yes, probably a good idea until it gets worked out
14:39 autrijus I tried working some of it in in amsterdam
14:40 stevan in fact,.. the object space might help work it out
14:40 autrijus but that killed the short amount of productivity ;)
14:40 autrijus mind you, that was during the introduction of the cent sign.
14:40 stevan I mush prefer the ^ to the ¢
14:41 autrijus me too
14:41 autrijus anyway, so I think we focus on the far less ambitious goal of having roles Just Work.
14:41 Jooon ^foo ¢foo ...
14:41 autrijus and yes, spec out the objspace would help too
14:41 autrijus (which will also generate new tshirt designs)
14:42 stevan roles working in the context of the current objects in Pugs? or with MM integration?
14:42 autrijus with MMinteg
14:42 Eimi has joined #perl6
14:42 autrijus but with the solid parts of MM
14:42 autrijus may or may not include the eigenstuff
14:42 stevan I was just going to say that
14:42 autrijus my gut feeling is that it simplifies design
14:43 autrijus but we'll see how much we keep during gobby
14:43 autrijus the basic idea is to have t/oo/ pass reasonably and make dduncan and chromatic's OO workaround (due to lack of roles) go away
14:43 stevan ok
14:43 autrijus as well as come out with more precise questions to p6l / @Larry
14:44 autrijus as you have been doing
14:44 autrijus I think that is reasonable for 10 days.
14:44 autrijus and I'd be happy to declare it 6.28.0
14:44 autrijus whatever type system thing does not belong to this milestone.
14:44 stevan sounds like a plan to me :)
14:44 autrijus thanks for your patience :)
14:44 stevan :)
14:45 stevan if I had wait any longer I would have started MM 3.0 ;)
14:45 autrijus oh we still do, just this time it's integed and I get to have the fun too
14:45 stevan :)
14:46 autrijus I have some $job (delayed for 2+month) to finish up; I think it'd take 2hr (but realistically more like 10), so tomorrow is dedicated to that
14:46 autrijus on the day after tomorrow I'll be at Liz's at afternoon.
14:46 autrijus so we can start working a bit right then
14:46 obra autrijus: what are you and liz to be workign on?
14:46 * stevan sets his clock to .nl time
14:46 autrijus and then I'll be full time on this for 9 days :)
14:46 obra autrijus: I'd love to see you and liz get a rough spec for parrot/perl6 threads figured out
14:47 autrijus obra: object space...
14:47 autrijus obra: oh, threading. that is so not my forte :)
14:47 obra since I bet liz is one of the most qualified people to have ideas
14:47 autrijus but it is liz's
14:47 autrijus yeah, I'd be happy to enlist her
14:47 obra we really, really need a perl6/parrot threading spec
14:47 theorbtwo That sounds like it's worthy of a "yey".  (9 days of full time hacking.)
14:48 autrijus theorbtwo: and I won't go back juggling $job even after I return to .tw for a month
14:48 obra autrijus: is this the end of $job{tw}?
14:48 autrijus obra: yes.
14:48 autrijus still cleanup stuff to do
14:48 obra woot
14:48 autrijus but no active devs
14:48 autrijus obra: do we have braindump of dan re thread?
14:48 obra I'm not sure.
14:49 autrijus mm, ask around? any bit would help
14:49 raptorXXX i saw in examples async{} ?? is this a fork or thread or ?
14:49 autrijus it's raised today at http://perlmonks.org/?node_id=502347
14:49 autrijus raptorXXX: the idea is "you won't need to care" :)
14:49 obra I am asking around. as "any bit would help" and I've found none.
14:49 autrijus obra: (!) :-/
14:49 autrijus raptorXXX: it's conceptually a thread.
14:49 obra but yeah. magic autothreading to support multicore CPUs would be a win
14:49 raptorXXX that is good :)
14:50 raptorXXX dwiming is good
14:50 autrijus raptorXXX: it's hardly new though -- see Liz's expert work
14:50 raptorXXX where ?
14:50 autrijus http://search.cpan.org/dist/forks/
14:50 autrijus threads on systems without threads.
14:50 raptorXXX thanx
14:51 vel_ has joined #perl6
14:52 theorbtwo I'd like for async {} to be pretty well gaurnteed to /not/ be terribly slow, so I can sprinkle around asyncs in my code whereever I think it might help without too much wondering if this purticular arch takes .3 seconds or 3 seconds to start one.
14:52 autrijus yes.
14:54 integral n:m threading, like ghc-smp, then?
14:54 theorbtwo I suppose that's a bit pie-in-the-sky to be a useful statement.
14:54 autrijus integral: yes, when running on ghc :D
14:54 autrijus Parrot needs something like it and leo has a preliminary nonimplemented design
14:55 autrijus and dan had more ideas and he declares he'd write it down for Cola.
14:55 autrijus which is good, but seeing there's no public svn for Cola yet.. :)
14:55 theorbtwo As in there are always 2 OS-level threads on a dual-processor machine, and within those OS-level threads, there are as many POE-ish threads as the running program thinks there are?
14:56 integral yep.  an async block then just has to push the closure onto a global STM-array,  any OS thread without work will be blocked in a retry waiting for that array to change
14:57 theorbtwo Sounds lovely.
14:57 integral hmm, I suppose you also need to create the STM-var for the result too, hrm
14:58 theorbtwo Is for @foo -> $x {async {dosomethingon($x)}} still spelt that way, or operate-on-a-junction, or do we have a nice name for it?
14:58 integral hmm, and I suppose infinite loops are a bit of a problem
14:58 stevan_ has joined #perl6
14:58 Amnesiac has joined #perl6
14:59 vel_ has left
15:00 theorbtwo My biggest question is what happens to variables that are in scope in multiple threads -- that's the difference between 5005 threads and ithreads, from a user perspective.
15:01 obra would they become a junction of the two values?
15:01 autrijus theorbtwo: explicit sharing is the way to go
15:01 theorbtwo I'd think that'd be both most-surprise and slowest.
15:01 theorbtwo I agree, autrijus.
15:01 PerlJam theorbtwo: isn't the main difference that variables must be explicitly marked as shared in ithreads and that's it?
15:01 PerlJam s/main/only/ even
15:02 integral hmm, what I said above works fine for evaluating haskell's thunks, but for general threads you need your own scheduler too, since infinite loops are normal
15:02 theorbtwo Yes -- variables that exist in both spaces when a thread splits in ithread-world need to be marked as shared, or they get cloned.
15:02 theorbtwo This is both what makes ithreads easy, and what makes it slow.
15:03 theorbtwo I'd like to be able to fire off an async every time I want to make a DNS request, for example.
15:03 integral if parrot as well as GHC has STM, it's much cheaper to essentially have a lock on every variable
15:03 theorbtwo If splitting threads is fast, this makes perfect sense.  If splitting threads is slow, then I have to worry if just blocking on the DNS request would be faster then splitting off a thread to do it.
15:05 theorbtwo I'd prefer a world, myself, where I have to mark as shared if I want it, but instead of cloning the world on thread split, we copy on write.
15:05 integral "splitting threads"?  I thought async was more like CreateThread than fork, in that when the block gets to the end, the block's finished, and you get the block's value returned from the async?
15:06 integral theorbtwo: what about recursive sharing?
15:06 stevan has quit IRC (Read error: 110 (Connection timed out))
15:06 stevan_ is now known as stevan
15:06 theorbtwo The copy that just tried to modify the variable makes it's own copy; the other ones keep using what they have.
15:07 nothingmuch has quit IRC ("leaving")
15:07 theorbtwo integral: I think it is... perhaps I'm barking up the wrong tree completely.
15:08 theorbtwo I know enough about ithreads and 5005threads to dislike both of them, and I'm wondering how to have ithreadish semantics, and 5005threadlike speed.
15:08 integral to me, everything should be shared, and thread-local data should be created via closure: sub make_thread { my $local_data; async { ... } }
15:08 integral plus then there's no confusing when you start passing referencing to variables between threads: there's always only one variable
15:09 theorbtwo Sounds like you're starting a subprocess and not a thread at all.
15:10 theorbtwo They live in completely different worlds, and there's no way of them interacting.
15:11 autrijus cph.pm meeting &
15:11 integral they interact via the variables they share: my $a; async { atomic { if ($a) { say "done"; } else { retry } } }; async { sleep(5); $a = 1 };
15:12 xerox Does it work in current pugs?
15:12 theorbtwo Oh, wait, nevermind.
15:13 * theorbtwo shakes his head back and forth violently.
15:13 xerox STM?
15:14 integral xerox: I don't think atomic/retry are exposed to perl level,  but all the internal mutable variables are TVars
15:14 integral ?eval my $a; async { say "a: " ~ $a++ }; async { say "b: " ~ $b++ }; for (1..100) { 0; }
15:14 evalbot_7748 undef
15:14 integral ?eval my $a; async { say "a: " ~ $a++ }; async { say "b: " ~ $q++ }; for (1..100) { 0; }
15:14 evalbot_7748 a: 0 undef
15:14 integral ?eval my $a; async { say "a: " ~ $a++ }; async { say "b: " ~ $a++ }; for (1..100) { 0; }
15:15 evalbot_7748 a: 0 b: 1 undef
15:15 theorbtwo ?eval time
15:15 evalbot_7748 91870654257453/500000
15:15 integral ooh, cool
15:15 integral ?eval atomic { say "test" }
15:15 evalbot_7748 Error: No compatible subroutine found: "&atomic"
15:16 theorbtwo ?eval my $a; async { say "a: " ~ $a++ }; async { say "b: " ~ $a++ }; my $starttime=time; while (time-$starttime < 3) { 0; }
15:16 evalbot_7748 a: 0 b: 1 bool::false
15:16 eric256_ ?eval my $a; async { say "a: " ~ $a++ for (1..10)}; async { say "b: " ~ $a++ for (1..10)};  
15:16 evalbot_7748 a: 0 a: 1 a: 2 a: 3 a: 4 a: 5 b: 6 b: 7 b: 8 3
15:17 theorbtwo Why are all these tries all a then all b?
15:17 eric256_ why did it stop...it should have gotten to 19..
15:17 eric256_ because async doesn't work yet?
15:17 eric256_ ?eval my $a; do { say "a: " ~ $a++ for (1..10)}; do { say "b: " ~ $a++ for (1..10)};  
15:17 evalbot_7748 a: 0 a: 1 a: 2 a: 3 a: 4 a: 5 a: 6 a: 7 a: 8 a: 9 b: 10 b: 11 b: 12 b: 13 b: 14 b: 15 b: 16 b: 17 b: 18 b: 19 undef
15:17 integral because GHC isn't interrupting any of the threads to schedule another because it's so fast?
15:18 eric256_ ?eval my $a; async { for (0..10) { sleep 2; say "a: " ~ $a++}}; async { for (0..10) { sleep 1; say "b: " ~ $a++}};  
15:18 evalbot_7748 3
15:18 eric256_ ummm....what?
15:18 eric256_ ?eval my $a; async { for (0..10) { sleep 2; say "a: " ~ $a++}}; async { for (0..10) { sleep 1; say "b: " ~ $a++}}; sleep(10);
15:18 evalbot_7748 Error: No compatible subroutine found: "&sleep"
15:18 eric256_ ?eval my $a; async { for (0..10) { sleep 2; say "a: " ~ $a++}}; async { for (0..10) { sleep 1; say "b: " ~ $a++}}; sleep 10;
15:18 evalbot_7748 Error: No compatible subroutine found: "&sleep"
15:18 integral ?eval my $a = async { 5 }; $a
15:19 evalbot_7748 \2
15:19 * eric256_ scratches head
15:19 xerox ?eval async { say "hi"; sleep 1 } for (1..10)
15:19 evalbot_7748 hi hi hi hi hi hi hi hi hi hi undef
15:19 eric256_ ?eval sleep 5;
15:19 evalbot_7748 Error: No compatible subroutine found: "&sleep"
15:19 Amnesiac has quit IRC (Read error: 110 (Connection timed out))
15:20 eric256_ does sleep only work inside async? or is async eating the error?
15:20 theorbtwo You might want to try the " my $starttime=time;
15:20 theorbtwo                   while (time-$starttime < 3) { 0; }"
15:20 theorbtwo thing.
15:20 theorbtwo I would expect async to eat errors -- where would it report them to?
15:20 integral ?eval die "foo"
15:20 evalbot_7748 Error: foo
15:20 integral ?eval async { die "foo" }
15:21 evalbot_7748 2
15:21 theorbtwo WTF?
15:21 theorbtwo ?eval aync { die "foobar" }
15:21 evalbot_7748 Error: No compatible subroutine found: "&aync"
15:21 theorbtwo ?eval async { die "foobar" }
15:21 evalbot_7748 2
15:21 xerox ahah
15:21 integral hmm, I think async should return the value of the block, so if it dies, it would return an unthrown exception (undef)
15:21 theorbtwo ?eval async { try {die "foobar"}; return $@ }
15:21 evalbot_7748 Error:  unexpected "$" expecting block construct, ":", "::", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
15:22 xerox It returns an increasing number in my pugs, heh
15:22 integral (ie, if the thread hasn't finished yet, wait/join for it)
15:22 integral it's the thread ID
15:22 eric256_ that obviolsly didn't take 10 secnods....
15:22 eric256_ oh wait...it shouldn't. /me is confused by async
15:23 eric256_ woo.... asyn in interactive pugs does weird things
15:23 eric256_ realy realy weird things
15:24 Limbic_Region has joined #perl6
15:29 eric256_ thats just a whole new way of looking at things. /me begins to plot and plan. ;)
15:30 eric256_ ?eval sub sleep ($time) { my $start = time; 1 while (time < $start + $time) };my $a; async { for (0..4) { sleep 2; say "a: " ~ $a++}}; async { for (0..4) { sleep 1; say "b: " ~ $a++}};sleep 8;
15:30 evalbot_7748 b: 0 a: 1 b: 2 b: 3 a: 4 b: 5 b: 6 a: 7 a: 8 bool::false
15:30 theorbtwo Allo, Joshua.
15:30 eric256_ any reason not to implement a sleep like that in prelude?
15:31 integral because it's evil? 8)
15:31 theorbtwo Sleep works from -e for me.
15:31 integral theorbtwo: the real sleep isn't a safe function.
15:32 theorbtwo I'd prefer sleep not eat CPU per default.
15:34 eric256_ ahhh i just thought it wasn't implemented at all
15:35 eric256_ but i just rechecked and it does work on the command line. nm ;)
15:35 eric256_ why isn't sleep safe?
15:37 eric256_ and where the heck is async documented? is that a pugs feature? lol
15:37 Limbic_Region geoffb (and anyone who likes puzzles/golfs/etc) - there are several at the Monastery today that were fun if interested
15:39 gaal eric256_: async isn't specced, the implementation is quite short (see Prim.hs:470)
15:40 eric256_ and cryptic ;)
15:40 eric256_ is there any join/wait that will wait for all async processes?
15:41 eric256_ maybe an async should return an id that you could later kill/join?
15:42 stevan has quit IRC ("This computer has gone to sleep")
15:43 eric256_ cool there is a kill and join implemented, and asyn does return the thread. /me shuts up for now. ;)
15:45 gaal eric256_: the semantics are haskell's. http://haskell.org/ghc/docs/latest/html​/libraries/base/Control-Concurrent.html
15:45 eric256_ we need a document that
15:46 eric256_ shows what pugs does that isn't in the spec. ;)
15:46 theorbtwo Eric: Start with a document that shows what functions there are that don't have any { L<...> } annotations?
15:47 eric256_ yea i'm working towards that. i also found a way to highlight passing/failing/todo tests. ;)
15:47 theorbtwo Cool, but I meant in the source code.
15:47 eric256_ theorbtwo...so did i
15:47 eric256_ ohhh wait
15:48 eric256_ the source has L<> links?
15:48 autrijus rehi :)
15:48 ruz has quit IRC (Read error: 110 (Connection timed out))
15:48 autrijus <- in a foodplace nearby cph.pm meeting
15:49 theorbtwo eric: It probably should...
15:49 eric256_ we should tag autrijus with one of those gps tags.. hang it from his ear and we could play "where in the world is autrijus"
15:49 obra food++
15:49 theorbtwo autrijus: Have a nice meeting?
15:49 clkao autrijus: enjoying cph?
15:49 theorbtwo Oh: Copenhagen!
15:49 autrijus clkao: yeah, defekt's place is neat
15:50 autrijus theorbtwo: meeting starts in 10mins
15:50 clkao scary off by 2 abbr
15:50 * clkao grins
15:50 autrijus ;)
15:50 * autrijus practices marathon 4-talks-in-a-row skillz
15:51 autrijus happily this is the last of my speaking tour this month... looking forward eagerly to code
15:51 theorbtwo Autrijus: What do you think of L<...> tags in the source?
15:51 autrijus theorbtwo: in hs src? p5 src?
15:52 stevan has joined #perl6
15:52 eric256_ hs src
15:52 theorbtwo Haskell.
15:52 eric256_ then code/tests/ and documenation would all be linked together
15:52 eric256_ one giant cross reference ;)
15:53 theorbtwo It should be noted that this isn't the first time this has come up... I don't remember why it hasn't happened, though.
15:53 autrijus nodnod
15:53 autrijus instead of L<>
15:53 autrijus haddock just uses <>
15:53 gaal theorbtwo: fwiw, I'm not sure I like it if the emphasis is on coverage. In the tests sure, the more L<>  the merrier
15:53 autrijus which is still greppable
15:53 eric256_ gaal .... ??
15:54 autrijus theorbtwo: so L<> to Syns?
15:54 gaal eric256_: sometimes "where is this implemented" doesn't have a point answer
15:54 theorbtwo That's my thinking, yeah.
15:55 eric256_ gaal. sure but, what is this implementing should have an answer
15:55 theorbtwo gaal, even worse, sometimes "what does this implementing" doesn't.
15:55 Odin-LAP has joined #perl6
15:55 theorbtwo For some things, though, it's pretty clear, or indicates a documentation bug.
15:55 autrijus theorbtwo: I think it makes sense.
15:55 eric256_ it wouldn't be striving for 100% coverage. just some cross reference so everyone is on the same page
15:56 eric256_ we could even add a P01 or something like S for stuff pugs implements that isn't realy speced yet
15:56 gaal there's a P01 doc :)
15:56 gaal (is a P02 planned still?)
15:56 eric256_ whats P01?
15:56 gaal A Pugs Cryphon.
15:56 eric256_ ahh. hows taht for DWIM ;)
15:57 gaal apocrypha really, but well.
15:57 theorbtwo There is something of a problem in that Haddock's <> expects a URL, not a whatever-it-is-we-want.
15:58 gaal theorbtwo++ nothingmuch++ # we want Xanadu! And we got the nice parts of it ;)
15:59 autrijus gaal: PA02 ("architecture") is planned, but as you may have noticed, the architecture keeps changing ;)
15:59 gaal hee :)
16:08 Liz Autrijus: could it be your email is bouncing?
16:09 gaal boing!
16:09 autrijus Liz: was bouncing for 24hr
16:09 autrijus should be fine now
16:09 Liz it still now...
16:09 autrijus mm try [email@hidden.address]
16:09 autrijus I'll fix it properly
16:09 autrijus tonight
16:09 Liz okidoki
16:10 autrijus (actually fixing it now... sec)
16:11 autrijus oh wait
16:11 autrijus I got the mail alright
16:11 autrijus it's forwarding to both gmail and aut.dyndns.org
16:11 autrijus the latter bounced
16:11 autrijus so you got bounce
16:11 autrijus but I did receive your mail
16:11 Liz well, Wendy's actually... no?
16:11 autrijus and yes, I arrive at 13:25 2005-10-29
16:12 autrijus oh, I got hers too
16:12 autrijus no restriction whatsoever on dietary
16:12 Liz cool... so chocchip cookies are ok?  ;-)
16:13 stevan_ has joined #perl6
16:13 autrijus yup ;)
16:13 autrijus oh, diet coke, in large amount.
16:13 * gaal takes note also :)
16:13 Liz good to know: we usually don't have that...
16:14 autrijus leo bought huge 6pack glass for me
16:14 Liz (in large amounts, that is)
16:14 autrijus I finished 3 boxes of glass bottles during the week or so of stay
16:14 clkao autrijus: go get uk visa in amsterdam
16:14 autrijus probably not going to be that overdosed now
16:14 autrijus clkao: ;)
16:14 obra autrijus: what about diet decaf coke?
16:14 clkao i have a spared room mid november
16:15 autrijus obra: that works too
16:15 autrijus clkao: my plane backto .tw = 9nov
16:16 xinming has joined #perl6
16:21 gaal i wonder how often autrijus needs to get new passports with all the stamps he goes through.
16:21 Southen_ has joined #perl6
16:22 gaal s/he/they/
16:22 stevan has quit IRC (Read error: 110 (Connection timed out))
16:23 G2 has quit IRC ("oops")
16:27 theorbtwo Presumably, he has a heavy-traveler's passport, with extra pages.
16:31 gaal ah, so that's what air crew and diplomats use? i always wondered :)
16:31 eric256_ if you are printing out a bunch of index files, is there any advantage to asyncing them so they happen in parrallel? i'm not realy versed on this type of programming..
16:31 eric256_ i guess the question is realy: when will async{} benefit me?
16:32 Liz when stuff can be done in parallel
16:32 Liz or when you don;t want to wait for external I/O (HD, socket. etc)
16:32 eric256_ Liz... but whats a simple yardstick for when things can be done in parrellel? for instance i'll be scanning 100+ files and doing regex on them. any concievable advantage of asyncing that?
16:33 Liz depends on your HD speed...
16:33 eric256_ lol. so no simple yardstick then. try and see
16:34 Liz asyncing would maybe allow you to fetch the next file while doing the regex on the one you fetched already
16:34 theorbtwo gaal: Air crew probably get real visas for the countries they are regularly in.  Diplomats get special diplomatic passports.
16:35 theorbtwo In general, if you expect CPU usage to /not/ be the slow bit, you could async and possibly get a benifit out of it.
16:35 gaal theorbtwo: do these special dimplomatic passports not need to be stamped? most places i know (except inside the EU and Canada <-> US) stamp entry/exit regardless of wether you have a visa.
16:35 gaal eric256_: I'd start by not worrying about async here :)
16:35 theorbtwo OTOH, if you are reading a bunch of files off of the same drive, doing them asynchronously will just make your drive thrash.
16:35 gaal and redoing the inner stuff if it's slow
16:36 Juerd Heh, our clock displays news messages. Because this is in an xterm (with a surprisingly simple perl script), the place that normally has news, says "This system is going down for reboot NOW" if you reboot the clock. Funny.
16:36 Juerd (It is a wall mounted TFT screen, with a wall mounted mini-ITX motherboard)
16:36 justatheory has joined #perl6
16:37 gaal find -name \*hs | wc => 242     242    7589
16:37 gaal if you're doing the haskell part, just read it all to memory :)
16:37 mtve has quit IRC (Read error: 110 (Connection timed out))
16:37 theorbtwo gaal: You might want an xargs there.
16:37 gaal er.
16:37 gaal oops :)
16:38 gaal that does make a leetel more sense
16:38 gaal 64874  294988 3709092 total
16:38 gaal still RAMmable though.
16:39 Southen has quit IRC (Connection timed out)
16:39 theorbtwo Yeah.
16:40 theorbtwo No reason to do that, though, if you want to remain line-oriented anyaway, and there's little reason not to.
16:41 * eric256_ can't convert in his head but that number looks pretty big ;)
16:41 gaal sure. depends on how "cross" the "reference" is. :)
16:41 saorge has joined #perl6
16:41 gaal 3.7mb hs souce
16:41 eric256_ i'm not sure what the slow part is, its written in p5 right now anyawy.
16:41 xinming will there be a method which will get all attributes and values for a instance?
16:42 xinming hmm, in perl 6 certainly
16:43 gaal wheee! ndm++
16:43 gaal hoogle alpha 3 is up
16:43 gaal http://www-users.cs.york.ac.uk/~ndm/cg​i-bin/hoogle3-cgi?q=%2528a%252C+b%2529
16:43 rafl autrijus: ping
16:43 gaal contains GHC libs :-)
16:44 rashakil has joined #perl6
16:49 gaal errrr, my find earlier up included blib by mistake. it's 2.8 without it.
16:49 gaal (which is weird, isn't it?)
16:51 gaal ooohh, this counted PreludePC.hs -- eric256_, please skip that one, it's 1-2mb of uninteresting code.
16:52 eric256_ yea i'm not starting on that yet. right now i'm working on tests and adding documentation for them
16:52 eric256_ in a bit maybe i'll ad the ability to scan the hs code and build indexes to it to. might be nice to have webbased interfaces to all these ;)
16:55 Limbic_Region um - does the current pugs reflect the change on from + to : on parameters yet?
16:55 eric256_ no
16:56 Limbic_Region okie dokie
16:56 eric256_ ;)
16:56 * Limbic_Region doesn't have to worry about any of his examples not working then
16:56 eric256_ you could implement that change ;)
16:58 Limbic_Region eric256_ I am strictly hands off these days
16:58 * Limbic_Region is still waiting to here back from $publisher
16:58 saorge has quit IRC (Read error: 110 (Connection timed out))
16:59 eric256_ booo...hisss
16:59 eric256_ ;)
16:59 eric256_ your publishing something?
17:01 saorge has joined #perl6
17:03 Limbic_Region I am trying to
17:03 Juerd Limbic_Region: What is it you're publishing?
17:05 Limbic_Region Juerd - nothing as of yet
17:05 Limbic_Region I pitched an idea to $publisher
17:05 Juerd Ah
17:05 Juerd Perl related?
17:06 Limbic_Region $publisher liked the idea and wanted a full outline
17:06 Limbic_Region I provided outline to $publisher and heard an initial "we are still interested but we need time to digest"
17:06 Limbic_Region and that is where things are now
17:06 Limbic_Region yes, Perl related
17:06 Juerd 6?
17:06 Limbic_Region no
17:07 Juerd So you too think it'll be a long time before we have 6? ;)
17:07 Limbic_Region well, not directly anyway
17:07 Limbic_Region Juerd - without going too much into it - the topic of the book would apply to perl1 .. perl6
17:10 eric256_ L~R is being secretive ;)
17:11 SamB has joined #perl6
17:12 Limbic_Region it isn't so much that I am being secretive - it is that I haven't been told rules of engagement yet
17:12 svnbot6 r7749 | eric256++ | Adding cross links to tests
17:12 evalbot_7748 has quit IRC (Remote closed the connection)
17:12 eric256_ L~R i kinda figured. ;)
17:12 Limbic_Region without a signed contract, I really wouldn't want to jeapordize my chances
17:13 evalbot_7749 has joined #perl6
17:14 * eric256_ finds that many tests/ test undocumented features ;)
17:14 Limbic_Region undocumented or unspecced?
17:15 eric256_ since currently our specs are our documents...or vice versa....
17:15 Juerd Limbic_Region: That is nice
17:16 Juerd Limbic_Region: And re not being open: that's entirely natural; don't worry :)
17:17 Limbic_Region Juerd - when/if it happens, don't hope to get much out of it
17:17 mtve has joined #perl6
17:17 Limbic_Region the intended target is for less intelligent people ;-)
17:17 Khisanth has quit IRC ("Leaving")
17:18 Khisanth has joined #perl6
17:18 Liz Hope it's not a "for dummies" book
17:18 * eric256_ wonders if that will be on the cover.
17:18 Juerd Limbic_Region: That's me, in one year.
17:18 Juerd Limbic_Region: Something has been eating brain cells
17:19 Liz in my experience, those books will make people only feel like dummies...
17:19 Juerd Liz: Because of the title, perhaps? ;)
17:20 gaal Teach Yourself World Peace in Three Seconds (For Dummies)
17:20 Limbic_Region Liz - oh no, more for the self-taught programmer that doesn't have the ability to get a CS degree equivalent education at the library by themself and for those system administrators that suddenly find themselves responsible for also being programmers
17:21 Liz goody!
17:21 * Juerd isn't sure he would want "CS degree equivalent" knowledge
17:21 clkao win22
17:21 Liz gaal: isn't that the book GWB has read?
17:21 Juerd So far, this CS thing I'm doing has mostly just been getting on my nerves
17:22 gaal Liz: no, the one he had ghost-written.
17:22 Juerd The stupid thing is that I had expected it to be, and still wanted to try
17:22 Limbic_Region heh
17:23 Liz L~R: http://en.wikipedia.org/wiki/Autodidactism ?
17:23 Limbic_Region that will be one of the main underlying principals Liz
17:23 gaal afk
17:23 Liz goody!
17:23 Limbic_Region the catch-22 is that some folks could be autodidacts if only someone taught them how
17:24 Juerd Damn
17:24 Juerd I thought I was an autodidact, but I don't quite fit that description
17:24 Liz bootstrapping is always difficult
17:24 Limbic_Region yep
17:25 Limbic_Region so in a nutshell, I want to bridge the gap between the beginner style books and the advanced books and at the end say that the journey has just begun
17:25 eric256_ anyone familar with the tests.yml file structure?  its to big to load and data:dump and have anything usefull to learn from. i just want to be able to load it, lookup a test file and get the pass/fail/todo numbers
17:25 Liz Juerd: you don't fit the "has a high degree of self-motivation" description?
17:25 Juerd Liz: Indeed
17:26 Liz oh dear...  ;-)
17:26 Juerd Other than that it's a match
17:27 Liz Juerd: Isn't there anyone of you self motivated?
17:27 Juerd Anyone of me? :)
17:28 Liz yep  ;-)
17:28 Juerd I sometimes refer to multiple instances of me, but never seriously
17:28 gaal eric256_: run util/yaml_harness.pl on just a few .t files
17:28 gaal instead of everything
17:28 eric256_ gaal... good idea, thanks
17:28 Juerd I'm not two doggies, or >1 anything :)
17:29 gaal util/yaml_harness.pl -o tmp.yml t/moose.t t/elk.t
17:29 gaal afk really &
17:29 Liz ok, just checking  ;-)   undef @Juerd?
17:29 Juerd I don't know what @Juerd represents :)
17:29 Juerd It could be multiple references to me
17:29 Juerd I'm a singleton, I think :)
17:30 Liz well, that's better than: "we're all singletons, we think"  ;-)
17:31 Juerd Heheh
17:31 dada has quit IRC ("several species of small furry animals gathered together in a cave and grooving with a pict")
17:32 r0nny_ re
17:32 eric256_ juerd: on feather how do i add something to my crontab?
17:32 Juerd eric256_: crontab -e
17:33 r0nny_ i decided i want to contribute to c6pan
17:33 r0nny_ i got a nice idea for a number of chained projects will make it very nice
17:34 r0nny_ i want to start with usefull extensions to the build-in types, then continue with a build system and end up with a simple, but complete perl6 module management system
17:34 Juerd r0nny_: Current spelling is sixpan :)
17:35 r0nny_ oh
17:35 r0nny_ ;P
17:35 Juerd r0nny_: Consult sixpan.perl6.nl
17:35 eric256_ not 6pan?
17:36 Juerd eric256_: 6pan is an invalid identifier :)
17:36 r0nny_ hmm
17:36 r0nny_ can pms handle uninstalling stuff ?
17:37 Juerd I don't know what pms is :)
17:37 Khisanth cp6n :)
17:37 eric256_ lol. only if you give her a pick axe
17:37 Khisanth Perl Modules?
17:37 r0nny_ i interpolated from, the brainstorming, that it is the sucessor of cpan
17:38 Juerd That's probably extrapolation
17:38 r0nny_ hmm
17:38 migo___ has joined #perl6
17:38 r0nny_ well - i allways mess with those 2 ;P
17:38 * obra is holding 6pan.{ com,net,org} in trust for TPF. But jhi and andk have indicated interest in having 6pan hosted as part of the cpan
17:38 r0nny_ my english has onoly the state of usable enought, to tell enough
17:39 Juerd obra: Don't worry. sixpan.perl6.nl is just a working (host)name
17:39 Juerd obra: It can be anything later
17:39 obra Juerd: sure. not worried.
17:39 Juerd You could point your hostnames to the same address, perhaps
17:39 Juerd I'm not sure if that's a good or a bad idea
17:40 r0nny_ well - i think sixpan should be part of cpan - slowly replacing it while the modules get portet
17:40 theorbtwo 6pan, BTW, /is/ a valid hostname component.
17:40 Juerd Or worth the trouble at all
17:40 obra I'll hang onto them pointing nowhere until things get settled
17:40 Juerd theorbtwo: Yes, but 6pan::Foo is not a valid class, and $6pan is not a valid scalar
17:40 theorbtwo Yeah, I do see the point.
17:40 obra theorbtwo: it's also a valid domain component, too. but ==juerd
17:41 eric256_ those seem like arbitrary language limitations
17:41 Juerd I can get sixpan.* just to be sure, if you want
17:41 Juerd eric256_: They're not.
17:41 Juerd eric256_: Identifiers have to start with a non-digit, for several reasons. It can be done differently, but that would harm future expansion possibilities
17:41 theorbtwo I'd like for 6pan and sixpan dot whatever to be aliases, so people don't have to specify when speaking them.
17:42 obra I think there's merit in calling it CPAN
17:42 theorbtwo So do I, obra.
17:42 Juerd obra: So do I
17:42 obra 6pan is a conveient shorthand as we design 'cpan for perl6'
17:42 theorbtwo There's also merit in not doing so, but I'm not sure there's much.
17:42 Juerd At the same time, I think it must be a new system
17:42 r0nny_ well - who is working on the sixpam utils ?
17:42 Juerd Designed from scratch
17:42 Juerd Or at least, based on tools known to be Good
17:42 obra Juerd: why?
17:43 obra design from scratch is...well, I think that can be dangerous
17:43 Juerd obra: Because altough CPAN *works*, it has a few annoying aspects that are hard to solve
17:43 obra evolution makes lots of sense. but starting from a clean slate means throwing away the good parts too
17:43 eric256_ coudl it be a new system that imports the old modules? or is that a Bad Idea?
17:43 elmex has quit IRC ("leaving")
17:43 obra so, before you come up with a whole new design, it'd be cool to enumerate what sucks about the current cpan
17:44 obra and how a new one could do those bits better
17:44 Juerd obra: Its hierarchy, internal workings, APIs (both), web interfaces, path structure, internal workings like version and abstract extraction, all need improvement, IMO
17:44 obra leaving entirely alone the bits that work ;)
17:44 obra improvement, agreed
17:44 obra note that "web interfaces" is a set of very loosely coupled services
17:44 obra urk must run
17:45 Juerd obra: It doesn't handle multiple authors with equally named modules, it doesn't handle version numbers too well, it doesn't allow re-uploading with the same version number (unless it's a non-module), it doesn't have a way to delete something without getting it into backpan
17:45 obra I see the last as a huge feature
17:45 Liz indeed
17:45 theorbtwo I thought not being able to reupload with the same version number was a feature.
17:45 r0nny_ Juerd: i got some nice ideas - and i'd really like if my ideas for a build/pkg management system would find their way as the new system
17:45 obra and I think that larry's perl6 versioning doc addresses a lot of the others
17:45 Juerd r0nny_: Add your ideas to the wiki then!
17:46 theorbtwo I /do/ want good dependency management.
17:46 Juerd theorbtwo: It is.
17:46 Juerd theorbtwo: But there should be a way to do it, because this feature is annoying in the opinion of some.
17:46 r0nny_ Juerd: ok
17:47 Juerd Dependency management would be very nice for CPAN
17:47 obra Juerd: having multiple things out there with the same version and different content strikes me as insanely bad
17:47 Juerd It has some, but that doesn't work too well for the complex situations
17:47 Juerd obra: Depends. If only the spelling of documentation changed, I find it convenient to stay at .00
17:47 obra uh
17:48 Juerd obra: Cultural pressure should avoid separate releases under equal names, not technical limitations
17:48 obra but that would be two different copies of the same dist with different md5sums and sigs
17:48 Juerd obra: When the version number bumps, package managers and CPAN shells start suggesting upgrading.
17:48 obra dist versions should be unique if different
17:48 obra so maybe you want to, i don't know, version packages differently than code
17:49 Juerd Which can be quite inconvenient, for example because of business policies that prescribe that different mutations of module releases must be tested before they are deployed
17:49 obra and a new package version can contain the same version # of a module inside it.
17:49 obra I've seen doc fixes break code ;)
17:49 obra but I'm now late and will get a parking ticket if I don't vanish. sorry.
17:49 Juerd Also, the version number in the *file* and the version number in the *module* are allowed to differ. This I think is a bigger problem, because now, people without clue just change the filename without changing $VERSION, if they find that they can't upload again
17:50 Juerd Oh, that'd be another great value. A way to indicate author clue ;)
17:50 Juerd And bye :A)
17:50 Juerd s/A//
17:50 r0nny_ btw - how about new extensions fpr perl6 modules ?
17:51 theorbtwo It'd be good if the uploader can check things, and issue warnings, and then allow the author to say "yep, really upload".
17:52 theorbtwo (Including checking if the distribution has the same version on the inside as on the label.)
17:52 Khisanth has quit IRC (kornbluth.freenode.net irc.freenode.net)
17:52 Southen_ has quit IRC (kornbluth.freenode.net irc.freenode.net)
17:52 Juerd r0nny_: pm suffices
17:53 r0nny_ Juerd: i would like to have a difference betwen source modules and binary modules
17:55 theorbtwo You mean between pure-perl modules and C-required modules?
17:56 theorbtwo I'd like that to be part of the general dependency system: a build-dependency on a C compiler.
17:56 r0nny_ theorbtwo: i mena the difference betwen compiled modules for use with parrot, and source modules
17:56 r0nny_ well - dont tell me now, they wont support ;O
18:00 r0nny_ anyone ??
18:00 * r0nny_ does some random pings
18:01 theorbtwo CPAN has never been in the busniess of distributing binary modules.
18:01 theorbtwo Perhaps it will do so now.
18:01 Juerd Is there any point?
18:01 Juerd Compilation is supposed to be so fast that it can be done on the fly
18:01 ^_AnticrisT_^ has joined #perl6
18:02 Juerd It can then be done during installation of a module
18:02 ^_AnticrisT_^ /clonectcp #perl6
18:02 ^_AnticrisT_^ kuidao lamruz
18:02 ^_AnticrisT_^ cajf
18:02 r0nny_ theorbtwo: WRONG
18:02 ^_AnticrisT_^ orkfric
18:03 Juerd r0nny_: That is unfriendly.
18:03 ^_AnticrisT_^ d/petas en vinagro
18:03 r0nny_ theorbtwo: u should compile the modules to binary ones on your machine
18:03 theorbtwo r0nny_: Did I imply that you shouldn't?
18:03 ^_AnticrisT_^ as /multiplikarporros
18:03 ^_AnticrisT_^ #perl6
18:03 Juerd Advice: ignore anticrist, don't respond
18:03 theorbtwo In any case, you are wrong.  In many cases, there are.
18:03 ^_AnticrisT_^ eso kes?
18:03 ^_AnticrisT_^ no s ek decis
18:03 r0nny_ theorbtwo: kinda - u told cpans task was never to supply binaries
18:03 ^_AnticrisT_^ soy españolo
18:04 ^_AnticrisT_^ hablar español
18:04 ^_AnticrisT_^ joder
18:04 ^_AnticrisT_^ feos
18:06 ^_AnticrisT_^ has quit IRC ("• IRcap [8.0] • www.ircap.net •")
18:06 eric256_ r0nny_ do you mean modules that you don't want to distribute the source so you compiled? if so then cpan probably isn't the right place to release it , since its OpenSource  
18:06 r0nny_ eric256_: no i mean getting the src from cpan, and then compiling the modules local for use with parrot
18:07 eric256_ then cpan wouldn't hold the binary portion at all
18:07 rashakil has quit IRC (Read error: 110 (Connection timed out))
18:07 r0nny_ but the utils used for cpan should be aware of the sw build process
18:07 eric256_ in which case you wouldn't distribure the "compiled" version, in which case its probably stored localy in some form
18:08 eric256_ r0nny_...wouldn't compiling the module be the users option not the modules choice at all?
18:08 r0nny_ eric256_: why not compile them by default - so loading will be lots faster afterwards
18:09 eric256_ then the utils don't need to be aware of anything because they compile everything.
18:09 r0nny_ hmm
18:09 r0nny_ they need to know what they do
18:10 eric256_ what do you mean?  the module has no choice in the matter, so the util just asks the user what to do.
18:10 eric256_ would be kinda fun, download modules and have them auto compiled. /me wonders if you can realy compile perl6 modules and it its realy that great of benefit
18:11 r0nny_ well - the user needs to decide
18:11 ingy hola
18:11 r0nny_ and someone needs to support it
18:11 theorbtwo Allo, ingy.
18:11 ingy hey theorbtwo!
18:11 r0nny_ well - guess it should support "source"-installs, too
18:11 eric256_ r0nny_...i don't thinky our making any since
18:11 theorbtwo I would rather prefer that modules be more declarative about their context, rather then imperitive about how to compile them.
18:11 raptorXXX print 123 if "blah" ~~ /blah/;
18:11 raptorXXX returns :
18:11 raptorXXX *** Cannot parse PGE: blah
18:11 raptorXXX *** Error: does not exist
18:11 raptorXXX what is the problem?
18:12 eric256_ perlbot nopase
18:12 eric256_ fyi for the the future.
18:12 eric256_ perlbot nopaste
18:12 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
18:12 xerox lisppaste3: url
18:12 lisppaste3 To use the lisppaste bot, visit http://paste.lisp.org/new/perl6 and enter your paste.
18:12 r0nny_ fyi ?
18:12 Khisanth has joined #perl6
18:12 xerox For Your Information
18:12 r0nny_ oh
18:12 eric256_ r0nny_ meant for raptorXXX not you. ;)
18:13 r0nny_ eric256_: well - after knowing what it meant it implyed the target person
18:13 eric256_ raptorXXX i think you need parrot installed and in your path
18:13 eric256_ \nick eric256
18:14 eric256_ hmm
18:14 raptorXXX which parrot
18:14 raptorXXX /usr/bin/parrot
18:14 theorbtwo Forward slash, eric.
18:14 eric256_ theorbtwo...yea i tried both, but the server doesn't seem to be responding
18:15 theorbtwo That's because the real eric256 is still there.
18:16 eric256_ there is a real one? /me should have registered
18:16 lisppaste3 raptorXXX pasted "*** Cannot parse PGE: blah" at http://paste.lisp.org/display/12951
18:16 dduncan has joined #perl6
18:17 eric256_ * eric256 is n=eric256_ lol. it has me as being me...stupid irc server
18:19 eric256_ raptorXXX: same code works fine on feather. must just be an issue with your parrot install
18:22 Juerd eric256_: Please don't spam bright colours into the channel :)
18:22 raptorXXX /usr/bin/parrot -V
18:22 raptorXXX PASM/PIR compiler version 0.3.0.
18:23 raptorXXX what is feather
18:24 Liz http://feather.perl6.nl/
18:25 Juerd Liz: Frankly, that doesn't answer the question :)
18:25 Liz indeed...
18:25 r0nny_ feature-wish list done - please comment
18:25 r0nny_ http://sixpan.perl6.nl/six​pan/index.cgi?SixPanUtils
18:25 Juerd raptorXXX: It is a machine interested people can get access to, to do things for Perl 6, if even just testing.
18:25 Juerd r0nny_: Run a spelingchecker.
18:26 r0nny_ Juerd: hmm
18:26 Juerd I find pkg hard to pronounce, by the way
18:26 raptorXXX why not sexPan :))
18:27 Juerd by suid (unsecure - maybe a perl6 modulemanager group will do the job)
18:27 Limbic_Region has quit IRC ("CGI:IRC (EOF)")
18:27 Juerd Why would this be needed?
18:27 r0nny_ raptorXXX: cause we dont like jokes below the belt ?
18:27 Juerd A normal user is not a sysadmin.
18:27 Juerd And must not be allowed to install software globally.
18:28 Juerd Every OS already has a security model. This wheel may need reinvention, but not in a Perl package manager.
18:28 r0nny_ well - there are many end-user-systems where this is a nice help
18:28 Juerd They should install in their home directory, not system wide.
18:28 theorbtwo ...but, on the other hand, it should be easy for users to install into their home directory.
18:28 Juerd They MUST NOT be allowed to do so, unless the system indicates they have permission
18:28 Juerd In which case they can just use the normal tools
18:28 Juerd theorbtwo: Very easy, indeed
18:29 Juerd theorbtwo: And there should be a standard @*INC entry for this
18:29 r0nny_ well - then all it needs is to take care the user is in the group
18:29 theorbtwo It'd be /really/ nice if the package manager says "you can't install this as the user you are running as -- would you like to try to install to your home directory, use sudo, or quit?"
18:29 Juerd r0nny_: This must be handled outside the perl module system.
18:30 lisppaste3 has quit IRC ("Want lisppaste3 in your channel? Email chandler AT unmutual.info.")
18:30 Juerd theorbtwo: That'd screw automated installs. I think a very simple and short command line switch is best
18:30 lisppaste3 has joined #perl6
18:30 Juerd It may even be better to default to home directory installation
18:30 Juerd As developers are users, even though many of them also admin boxes
18:30 r0nny_ Juerd: i'd like if the module system is extensible enough, to have the possibility to use it like gentoos portage or apt if the modules for system-installing/administrating are installed
18:31 Juerd r0nny_: It will be.
18:31 r0nny_ then everything will be fine (except my spelling;)
18:31 Juerd theorbtwo: If the user has root access, they better know how to become root without 6pan's help
18:32 Juerd theorbtwo: Root isn't dumb, or at least shouldn't be. An interactive question from an end user shell if the user wants to become root is, imo, a teletubbyism
18:33 theorbtwo Juerd: you should compile as non-root and only install as root.
18:33 Juerd That is besides the point.
18:33 Juerd And I agree on that.
18:34 Juerd That's about root dropping privileges
18:34 r0nny_ Juerd: i'd like the have a system config where i can select never,ask,userconf,allways and a userconf where it can set ask, allways or never
18:34 Juerd Not about non-root gaining them.
18:34 Juerd r0nny_: It probably will. See CPANPLUS, please.
18:34 r0nny_ hmm
18:34 Juerd r0nny_: CPANPLUS's author, kane, is on board, and will probably make sure existing features will be present.
18:35 r0nny_ last time i tried it broke my perl
18:35 r0nny_ ;P
18:35 Juerd Then don't run it as root.
18:35 Juerd Ah, this explains something
18:35 r0nny_ what ?
18:35 Juerd You lack sysadmin fu, and WANT to be treated like a teletubby ;)
18:35 Juerd Or, ignore that, as I don't feel like explaining today.
18:35 r0nny_ -_-
18:36 r0nny_ well - it was repaired by deleting /usr/lib/perl5 and making portage reinstall perl and its modules
18:37 theorbtwo Ah.
18:37 r0nny_ probably wont work for perl6 if the sys-mgmt needs it ;P
18:37 r0nny_ well - i know my sys is a little mess
18:38 xinming if func $a, $b, $c { true... } else { false... }
18:38 r0nny_ i just dont spend enough time into configuring it damn nice
18:38 xinming will this be valid in perl 6?
18:38 Juerd theorbtwo: ah re what?
18:38 xinming or, I have to use parenthesis to quote the function call
18:38 Juerd xinming: Yes.
18:39 Juerd xinming: If you mean the Perl 6 equivalent of what in Perl 5 was: if (func $a, $b, $c) { true... } else { false... }
18:39 r0nny_ btw - when will stuff like "class fo does hash" work ?
18:39 Juerd .oO( true..Inf? :) )
18:39 Juerd r0nny_: When it's implemented.
18:39 theorbtwo Ah, r0nny is a really bad sysadmin.
18:40 r0nny_ theorbtwo: im just bad in using my good sysadmin knowdegde
18:40 saorge has quit IRC (Read error: 110 (Connection timed out))
18:40 saorge has joined #perl6
18:40 xinming Juerd: hmm, I don't mean the perl 5, I just wish to know if `if func $a, $b, $c { ... } else { ... }` will work, Just for confirmation, as pugs won't work on this. :-)
18:41 theorbtwo No, you really aren't.  You managed to mess up your system trying to install a perl module, to the point where you had to reinstall perl.  (And while I don't know gentoo well, I suspect there's a better way to do it then how you did.)
18:41 Juerd xinming: Ah. Please write a test for pugs!
18:41 r0nny_ theorbtwo: it was the way where i needed only 4 small commands to have the sys live again
18:42 raptorXXX how can i check wich dir's Pugs searching for stuff ?
18:42 Juerd raptorXXX: pugs -V
18:42 Juerd raptorXXX: Just like with perl, which has perl -V
18:42 PerlJam raptorXXX: or look in @INC  :)
18:43 r0nny_ btw - how do u guy's think about yaml ?
18:44 Juerd r0nny_: It's great, but editing it still manages to scare me. I'm always I'll break indentation in indentation sensitive languages.
18:44 r0nny_ hehe
18:44 Juerd <-- MARK
18:45 Juerd (ordered spare ribs)
18:45 Juerd timestamps++
18:45 raptorXXX i dont seem to see parrot dir there.. probaly this is the problem
18:45 Juerd There should be no parrot dir there
18:45 Juerd raptorXXX: Pugs only searches for *Perl modules* during runtime.
18:45 raptorXXX ahum...how it passes/invokes parrot
18:45 r0nny_ i still did not manage to find a propper rule of how to do yaml indentation
18:45 Juerd raptorXXX: Parrot support has to be built in. Also, what parrot searches isn't necessarily what pugs searches, even if parrot is compiled into pugs.
18:46 PerlJam raptorXXX: parrot is expected to be in your path unless you've compiled it in
18:46 raptorXXX i yeah..it is not that parrot isnt in the path, 'cause other code works
18:51 Juerd http://use.perl.org/~TorgoX/journal/
18:51 Juerd ++, the rot quote
18:55 r0nny_ well - anyone got more comments for the build/pkg-mgmt system and stuff ?
18:56 Liz spelling?
18:57 r0nny_ Liz: please just correct it ;P - atm im incappable of doing ;P
18:58 Liz well, atm I'm 2 busy
18:59 evalbot_7749 has quit IRC (Remote closed the connection)
18:59 evalbot_7750 has joined #perl6
19:01 svnbot6 r7750 | iblech++ | * Usual svn props.
19:01 svnbot6 r7750 | iblech++ | * Renamed t/oo/attributes/attribute_initialzement.t to
19:01 svnbot6 r7750 | iblech++ |   attribute_initializement.t and fixed a minor issue in the test.
19:01 wolverian initialisement :)
19:04 r0nny_ btw - i really start to think about putting binary modules to a extra module source
19:05 r0nny_ like having sixpan::Source and sixpan::Binary
19:05 evalbot_7750 has quit IRC (Remote closed the connection)
19:05 evalbot_7751 has joined #perl6
19:07 Khisanth well in the end everything is in binary :)
19:07 svnbot6 r7751 | yiyihu++ | Add another if statement parse fail test.
19:09 xinming hmm, Is there a way to use only the class name and attributes to generate an object?
19:10 r0nny_ xinming: yes
19:11 r0nny_ there is a way with eval
19:11 xinming Just like, `class A { has $.b; method show { "$.b".say } }; A( b => 5 ).show;`
19:11 xinming hmm, without new, as It's too ugly sometimes.
19:11 r0nny_ hmm
19:11 r0nny_ ask others ;P
19:11 * r0nny_ not knows
19:16 eric256_ ?eval sub rotd ($str) { $str.trans('a-z''=>"m-zn-a"); "hello".rotd;
19:16 evalbot_7751 Error:  unexpected "." expecting word character, "::", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
19:17 eric256_ ?eval sub rot13 ($str) { $str.trans('a-z''=>"m-zn-a") }; "hello".rot13;
19:17 evalbot_7751 Error:  unexpected "." expecting word character, "::", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
19:17 eric256_ ?eval sub rot13 ($str) { $str.trans(('a-z''=>"m-zn-a")) }; "hello".rot13;
19:17 evalbot_7751 Error:  unexpected "." expecting word character, "::", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
19:18 eric256_ ?eval sub rot13 ($str) { $str.trans(('a-z''=>"m-zn-a")) }; rot13("hello");
19:18 evalbot_7751 Error:  unexpected "." expecting word character, "::", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
19:18 eric256_ eval bot is kinda slow today
19:19 xinming ?eval multi sub rot13 ($str) { $str.trans(('a-z''=>"m-zn-a")) }; rot13("hello");
19:19 evalbot_7751 Error:  unexpected "." expecting word character, "::", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
19:19 xinming ?eval multi sub rot13 (Str $str) { $str.trans(('a-z''=>"m-zn-a")) }; rot13("hello");
19:19 evalbot_7751 Error:  unexpected "." expecting word character, "::", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
19:22 svnbot6 r7752 | iblech++ | +$arg changed to :$arg, per Larry
19:22 svnbot6 r7752 | iblech++ | (http://www.nntp.perl.org/grou​p/perl.perl6.language/23820).
19:22 svnbot6 r7752 | iblech++ | * examples, t, ext, docs, perl5, src/perl6: Changed +$arg to :$arg (and
19:22 svnbot6 r7752 | iblech++ |   related) -- I searched using egrep -r '\+\+?\s*[$@%]', hopefully I've found
19:22 svnbot6 r7752 | iblech++ |   all occurances...
19:22 svnbot6 r7752 | iblech++ | * Pugs.Lexer: ":Foo" is not a valid type.
19:22 svnbot6 r7752 | iblech++ | * Pugs.Parser: Parse :$arg, +:$arg etc. (but not :foo($bar) yet, as this
19:22 svnbot6 r7752 | iblech++ |   requires changes to the definition of VCode).
19:22 svnbot6 r7752 | iblech++ | * Pugs.Parser: Adjustments to the rule which parses the
19:22 svnbot6 r7752 | iblech++ |   invocant-list-delimeter-colon --
19:23 svnbot6 r7752 | iblech++ |     method foo (: $a)  # positional $a, $a is not an inv param
19:23 svnbot6 r7752 | iblech++ |     method foo (:$a)   # named $a
19:23 svnbot6 r7752 | iblech++ |   Note that I had to use lookAhead and try...
19:23 svnbot6 r7752 | iblech++ | * Pugs.AST.Internals: Minor adjustment WRT the Pugs.Parser change.
19:23 svnbot6 r7753 | iblech++ | t/pugsbugs/parsing_if.t: Minor test fix (eval_ok can't find lexicals).
19:29 xinming I found, Every test I wrote is buggy. :-P
19:29 eric256_ it happens. important thing is to get the test there. then someone else can come along and fix it ;)
19:29 Juerd xinming: Then don't give up and keep trying till one's right
19:30 Juerd xinming: We will help you if it does turn out to be buggy.
19:30 xinming well, I know this. That's what GPL's faith... :-P
19:31 eric256_ ?eval my $str = "hello"; $str.trans(("h"=>'H'));
19:31 evalbot_7751 "Hello"
19:31 eric256_ ?eval sub x ($str) { $str.trans(("h"=>'H'))}; x("hello");
19:31 evalbot_7751 "Hello"
19:32 eric256_ ?eval sub x ($str) { $str.trans(("a-z"=>'n-za-m'))}; x("hello");
19:32 evalbot_7751 "uryyb"
19:32 eric256_ ?eval sub rot ($str) { $str.trans(("h"=>'H'))}; rot("hello");
19:32 evalbot_7751 "Hello"
19:33 r0nny_ so - fixes some of my spellings ;)
19:33 r0nny_ -s+d
19:33 r0nny_ argh ;P
19:33 eric256_ ?eval sub rot13 ($str) { $str.trans(("h"=>'H'))}; rot13("hello");
19:33 evalbot_7751 "Hello"
19:33 r0nny_ need a perl spell checker
19:33 Southen has joined #perl6
19:33 eric256_ ?eval sub rot13 ($str) { $str.trans(('a-z''=>"m-zn-a")) }; rot13("hello");
19:33 evalbot_7751 Error:  unexpected "." expecting word character, "::", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
19:34 eric256_ ?eval sub rot13 ($str) { $str.trans(('a-z''=>"n-za-m")) }; rot13("hello");
19:34 evalbot_7751 Error:  unexpected "." expecting word character, "::", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
19:34 eric256_ freaking quotes. /me slaps forhead
19:35 r0nny_ sub rot13 ($str) { $str.trans(('a-z'=>"n-za-m")) }; rot13("hello");
19:35 eric256_ ?eval sub rot13 ($str) { $str.trans(("a-z''=>"n-za-m")) }; rot13("hello");
19:35 evalbot_7751 Error:  unexpected "." expecting word character, "::", term postfix, operator, postfix conditional, postfix loop, postfix iteration, ";" or "}"
19:35 eric256_ ?eval sub rot13 ($str) { $str.trans(("a-z"=>"n-za-m")) }; rot13("hello");
19:35 evalbot_7751 Can't exec "./pugs": Permission denied at examples/network/evalbot//evalhelper.p5 line 46.
19:36 eric256_ ?eval sub rot13 ($str) { $str.trans(("a-z"=>"n-za-m")) }; rot13("hello");
19:36 evalbot_7751 *** No compatible subroutine found: "&eval"     at -e line 11, column 7-119
19:36 eric256_ ?eval sub rot13 ($str) { $str.trans(("a-z"=>"n-za-m")) }; rot13("hello");
19:36 evalbot_7751 *** No compatible subroutine found: "&eval"     at -e line 11, column 7-119
19:38 r0nny_ i wish for #perl6-bots where all the bosts throw their messages at
19:39 Juerd Regardless, we should encourage people to use it for at most 3 lines
19:39 Juerd eric256_: Please find a command line :)
19:39 theorbtwo It used to be that most people used pugs -e most of the time, and evalbot for quick things and things they wanted other channel-lurkers to see.
19:40 Juerd theorbtwo: I honestly don't see the problem with that
19:44 evalbot_7751 has quit IRC (Remote closed the connection)
19:44 migo___ has quit IRC (Read error: 104 (Connection reset by peer))
19:44 vigen has joined #perl6
19:44 Juerd Woo, new S02 and S06
19:44 evalbot_7752 has joined #perl6
19:45 Juerd http://svn.perl.org/perl6/doc/trunk/design/syn/
19:48 xinming Juerd: hmm, could you please tell me why I shouldn't use class name to create an object?
19:49 eric256_ juerd...ehh i figured no one was talking ;)
19:50 evalbot_7752 has quit IRC (Remote closed the connection)
19:50 evalbot_7753 has joined #perl6
19:50 * eric256_ hangs head in shame... and starts a third login to feather ;)
19:51 Juerd xinming: Simply because that is not how it is done in Perl 6
19:52 Juerd Or Perl 5.
19:52 Juerd Classes are not functions.
19:52 eric256_ mostly posted it here because i couldn't see the error and though someone else could
19:52 eric256_ has left
19:52 wolverian Juerd, didn't you suggest exactly that with the Int() thing? :)
19:54 Juerd Those are types, which aren't necessarily classes
19:54 wolverian right
19:54 Juerd They share names though
19:55 Juerd And explicit conversion(coersion) HAS been done in Perl that way, historically.
19:55 Juerd hex() and oct() are reversed, though :)
19:55 Juerd int() isn't new. I just suggested extending this to types
20:00 Juerd This will put quotes around strings, square brackets around
20:00 Juerd list values, curlies around hash values, constructors around objects,
20:00 Juerd etc., such that standard Perl could reparse the result.
20:00 Juerd eek.
20:00 Juerd "list values"
20:00 Juerd "hash values"
20:00 Juerd "value" isn't handy, as it usually refers to a scalar's value
20:00 Juerd and they are arrays, not lists :(
20:01 eric256_ has joined #perl6
20:02 rashakil has joined #perl6
20:11 r0nny_ does a method have to be multi, if the overridden version of it needs to be ?
20:13 eric256_ you want to over write one method with two multi methods?  /me things r0nny_ might be a little crazy ;)
20:13 eric256_ as the old adage says, try and see ;)  interesting question though
20:14 r0nny_ eric256_: i have a class, then i inherit anoter class from it, wich gets a method with the same name but other signature
20:15 raptorXXX has left
20:16 eric256_ that isn't a very usefull use of inheritance. the point of inheriting methods is so that base code doesn't care weather you have x or y, now your code has to care if its given an x or a y, even though the both supposidly share the same base class.
20:17 eric256_ not saying there isn't a use for such a construct, it just seems counterintuitive
20:17 r0nny_ i want a hash, where i can do array based deep access
20:17 r0nny_ then i want to inherit a class from it, where i can use a separator sequence in the key instead of te array
20:18 vigen733 has joined #perl6
20:18 eric256_ then why not name the method completely different?
20:19 PerlJam r0nny_: it doesn't sound like you want inheritance.
20:19 r0nny_ PerlJam: basically i do split, and then use deep-acces
20:19 r0nny_ with arrays
20:20 PerlJam so you want to parameterize on the separator?
20:20 r0nny_ parameter is set in the instance var
20:21 r0nny_ soeh separator
20:21 vigen733 has quit IRC (Read error: 104 (Connection reset by peer))
20:23 vigen733 has joined #perl6
20:25 PerlJam r0nny_: so you want a method that allows you to get/set the separator and an attribute the stored that value.  I don't see where inheritance comes into play
20:26 r0nny_ PerlJam: well - after the key is split wit the separator, it uses the deep array access
20:27 r0nny_ wich comes from the base class wich deep array access
20:32 saorge_ has joined #perl6
20:33 saorge has quit IRC (Read error: 110 (Connection timed out))
20:39 ajs_ Isn't a multi not the same signature at all? I would not think that "multi method a() {}" would meet "method a() {}"'s signature, and thus there would be no conflict (also one would not satisfy the requirement for the other if an interfacish role required one of them)
20:40 r0nny_ role'S wont work in pugs atm :/
20:41 ajs_ r0nny_: Well that's as may be, but the theory is all laid out in S05 and S12, so I don't think there's any ambiguity on how mutli and non-multi subs and methods interact.
20:42 ajs_ s/5/6/
20:42 ajs_ And S13 for that matter
21:00 vigen has quit IRC ()
21:14 iblechbot has quit IRC (Connection timed out)
21:27 putter has joined #perl6
21:28 putter hi all
21:32 Liz hi
21:33 kolibrie has quit IRC ("/me waves to putter and Liz on the way out")
21:35 fglock__ hi
21:38 putter stevan: messing with fundamental stuff like Class not being an Object strikes me as a very not right thing.  on further reflection (ouch, pun not intended), the right thing is to get signatures via reflection, and an have a confenience method to ask "create a method with this sig which just delegates to autoload".  which I think I can fudge acceptably now (eg, non-reflected static method list, no multi-methods so name is a sufficient si
21:38 putter gnature, Proxy fails to delegate methods added to Object but not it a static ignore-this-one list, etc).
21:38 putter hi Liz, fglock
21:39 putter something to be happy about - when p6l does a spec change, requiring lots of code change, and ones thought is not for the work, but "oh, neat!" :)
21:40 vigen733 has quit IRC (Read error: 110 (Connection timed out))
21:41 Juerd Some people even think: oh neat, a big change that I can implement!
21:42 Juerd If my left arm wasn't red and itchy, and I would know Haskell (without the RSI, I'd certainly have tried learning it!), I would be one of those people.
21:42 Juerd I'm sure there are more people here who have trouble resisting the urge.
21:42 integral the :: to !! was quite fun!  Like discovering and killing an ancient !! binary operator :-)
21:43 xerox integral: what does :: and !! do?
21:43 Juerd And because split keyboards suck for one handed typing, and I have completed the work that needed completion today
21:43 integral xerox: It's the "ternary operator" ??::, which became ??!!
21:43 Juerd I'm gonig home now.
21:43 Juerd going
21:43 integral xerox: it's basically an if as an expression.
21:43 xerox Ah okay.
21:43 integral eg: my $x = $condition ?? $true !! $false;
21:44 Juerd heh, weird formatting would be:
21:44 PerlJam And that's where people started saying that perl6 jumped the shark  ;)
21:44 Juerd $condition ??
21:44 Juerd    $true !!
21:44 integral they changed the second bit from :: to !!, so I spent an hour changing the compiler, and then most of the perl6 in the world ;-)
21:44 Juerd    false;  # :(
21:44 xerox hah.
21:45 Juerd integral: Cherish the convenience of having most of the Perl 6 code in the world all in one place :)
21:45 Juerd afk
21:45 integral it's ace.  makes backwards compatability a total non-issue :-)
21:47 eric256_ PerlJam...hopefully we haven't jumped any sharks, of course i don't think the person doing the jumping knows it till later. ;)
21:47 * eric256_ is amuzed that any saying like that can result from a TV show episode. ;)
21:48 PerlJam eric256_: When you're raised on a TV diet of Happy Days and MASH, what do you think happens?
21:48 eric256_ lol MASH++ ;)
21:49 eric256_ didn't that show last longer than the actual war?
21:49 Liz yep
21:49 Liz 12 seasons if I recall correctly
21:50 putter theorbtwo, autrijus: oh! you didn't mention my favorite, *->p6 !!!  language implementation is hard.  it will be much nicer to use full power p6, and a common set of tools, to do multiple *->p6's.  and *->pil falls out trivially from there.
21:50 Liz eric256_: http://en.wikipedia.org/wiki/​M%2AA%2AS%2AH_%28TV_series%29
21:51 Liz (11 seasons)
21:52 putter autrijus: re plans, hey, its an interesting city, and a chance to relax and recharge.  how aoubt an objective of sleep, eat, work wrappup, conversation, sighseeing, and such hacking as fits with having a vacation. ? :)
21:55 putter re multiple runtimes, just a reminder that you can currently run all three runtimes simultaneously.  piljs, p5, and pugs.  with perl in the middle.  there is eval in both directions (p5_eval p6_eval) out of raw perl.  something crying out to be played with.
21:59 putter just build a p5 linked pugs to get perl5<->pugs, use pilrun as a module, use pil2js as a module to create js to run with... what was it...
21:59 putter JavaScript::SpiderMonkey.
22:00 rashakil has quit IRC ("Clam")
22:01 putter see pugs/perl5/PIL2JS/lib/Perl6/Run/JS.pm
22:02 putter err, I suppose parrot is a fourth runtime.  hasnt been working in a while.  hmm, I wonder if there is a cpan module to run or link a parrot...?
22:05 leo putter: while parrot releases are on CPAN, it's not really a CPAN-like package
22:06 putter gaal: NO, we really really dont want Xanadu.  recent flamage aside, Ted Nelson has the record for persistent vaporware.  It was already a longstanding joke _20 years_ ago.
22:07 putter leo: one of my suggestions on http://sixpan.perl6.nl/sixp​an/index.cgi?BrainStorming - better support for binary packages. ;)
22:07 fglock__ has left "Fui embora"
22:08 leo putter: it's not a binary package at all, but Configure/make is different
22:08 putter r0nny_, whomever: I notice linewrapping on sixpan isnt quite working...
22:10 putter leo: but it could be.  regardless, back to parrot and cpan, there's no reason parrot couldnt get along with perl5 as well as say bin/js (JavaScript::SpiderMonkey) or swi-prolog (Language::Prolog::Yaswi).
22:10 r0nny_ putter: ???
22:10 buu putter: What is xanadu?
22:11 putter r0nny_: lines at the bottom of  http://sixpan.perl6.nl/sixp​an/index.cgi?BrainStorming  arent wrapped.  page now very wide.  template bug?
22:14 Liz buu: http://en.wikipedia.org/wiki/Project_Xanadu
22:15 putter buu: say www, but finer-grained (byte level addressing), better composition ("this 'document' is a combo of 'that one' and 'that' and ...), a micropayment scheme, and a few more bits.  1970's.  Ted Nelson.  But Ted's a bit of a flake, so its been under continuous development and RSN availability since then.
22:16 integral the first bit sounds a bit like XLink + XPath...
22:16 putter of course, there are other things, including other software, named "Xanadu" too.
22:16 buu Bummer.
22:16 putter http://www.xanadu.net/
22:24 putter There were a bunch of folks doing hypertext pre TimBL, but between trying to be commercial, not being... well, feynman pointed out how some subfields attracted the brightest folks the field, and some dont... it was left to Tim to do something on NeXtStep, and Mozaic to get it caught on.  simplicity was a bit part of its catching on.  easy document editing was even lost (still lost?) moving off NeXt to X and building a user base.  and ri
22:24 putter ch things like composable documents were never part of the model.  and rather casually selecting a sgml-like format... has of course had all sorts of concequences for the direction in which things have evolved.  folks observe that choosing the right sized objective, not too easy but not too difficult, appropriate for current capabiilities and environment, is the key to being maximally productive.  hmm, or at least maximally credited wit
22:24 putter h productivity.
22:25 putter s/bit part/big part/ ;)
22:26 Liz has quit IRC ("User disconnected")
22:28 putter Liz: ah, thanks for the wikipedia link.  i looked for it but missed.
22:30 lisppaste3 has quit IRC ("Want lisppaste3 in your channel? Email chandler AT unmutual.info.")
22:30 lisppaste3 has joined #perl6
22:32 Southen has quit IRC (kornbluth.freenode.net irc.freenode.net)
22:34 putter re parrot and perl5, there is Inline::Parrot.   dont know how well it works?  i dont know of any use of p6 on parrot from p5, but it should be possible once parrot is again a working backend.
22:38 putter hmmm, a p5 module  Perl6::Run::Acme::Everyone  ? ;)  ::AFullHouseParty ?    to date, the only runtime interop I know of has been a simple call chain  $piljs->eval('p5_eval(\'p6_eval("say 3")\')   so perl->piljs->perl->p5
22:41 putter but one can export perl(5) (gaaah, we need beter nomenclature) subs into piljs space, so one could easily do piljs<->pilrun.  i havent really tried the pugs/hs<->perl glue.  t/unspecced/p5/*.t
22:43 putter pugs  pugs/parse pugs/compile  pugs/pil/hs pugs/pil/js pugs/pil/p5 pil/p5  p6onP5  p6o5  p6on5 p6onJS  6oJS ...  pilrun atleast is a name I hope is going away soon.  Perlt6::Run::OnPerl5::Mumble.
22:44 putter oops, now running late.
22:44 putter &
22:44 putter has quit IRC ("Leaving")
22:44 * rafl hates Debian servers being down.. :-(
22:45 leo rafl: svn.perl.org is up an running to debianize parrot ;-)
22:45 rafl Well, at least buildd.d.o is up and tells me that pugs built fine on s390, alpha, ppc, ia64, i386 and hppa.
22:46 rafl leo: Right.. I was busy with other things the weeks after I requested a commiter bit and kind of forgot if afterwards. /me sync's his svk..
22:48 leo next parrot release is due in a week (or a bit less)
22:49 leo so you have a few days or a month + a few days left ;-)
22:50 * rafl starts hacking
22:51 rafl I guess you would prefer doing a branch instead of breaking everything before the release, right?
22:51 leo branching sounds reasonable, yes
22:52 leo otoh if you collect all inside a new /debian dir, there shouldn't be any impact on trunk
22:52 Southen has joined #perl6
22:53 rafl I can't do that. The current build system isn't well suited to do clean packages for any distribution, imho.
22:53 leo anyway - adding files needs also an update to MANIFEST
22:53 r0nny_ has quit IRC ("sleep")
22:53 leo ok - then a branch
22:53 rafl I'm not sure where to start, though. I could rewrite half of the build system or simply hack it up in cruel ways..
22:54 * eric256_ starts feather autosmoking every 6 hours. though development is kinda slow right now that might be over kill. ;)
22:55 leo rafl: first over to #parrot
22:55 rafl leo: How about all those branches? Not all of them are needed anymore. Is it OK to remove some of them?
22:55 rafl leo: Aye!
22:56 leo rafl: at irc.pobox.com
22:57 rafl leo: Is that irc.perl.org?
22:57 leo not afaik - dunno
22:57 rafl Well, I joined #parrot on irc.perl.org and there's a leo.
22:58 leo hmm, that's not that #parrot then
23:01 eric256_ has quit IRC (Success)
23:01 Eimi has quit IRC ("Leaving")
23:02 evalbot_7753 has quit IRC (Remote closed the connection)
23:03 evalbot_7754 has joined #perl6
23:06 svnbot6 r7754 | Darren_Duncan++ | /ext/Rosetta-Incubator : following iblech's named argument change, updated Locale::KeyedText to convert any ':$foo is required' to '+:$foo'
23:09 dduncan there may be other code that needs the same change
23:15 renormalist has joined #perl6
23:21 reezer has joined #perl6
23:22 joepurl has quit IRC (Read error: 110 (Connection timed out))
23:23 Southen has quit IRC (Read error: 110 (Connection timed out))
23:34 queldor has quit IRC (Connection timed out)
23:57 reezer has quit IRC (Read error: 104 (Connection reset by peer))

| Channels | #perl6 index | Today | | Search | Google Search | Plain-Text | summary

Perl 6 | Reference Documentation | Rakudo