Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-05-17

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:00 putter also, if it was a refactoring "server" (eg, "take the variable at point x and lexically raise it two levels"), then emacs and everything else becomes an instant refactoring browser.
00:01 osfameron surely that semantic analyser will be called `perl` ?
00:01 osfameron the emacs mode will merely be plugging into hooks provided by perl
00:01 osfameron look ma, no kludge!
00:03 putter osfameron: well, some module in perl.  Perl::Source::EditorHelperServer ;)
00:03 clkao strangely, i have 3 tests failed. but test.pm says:
00:03 clkao # Looks like you failed 1 tests of 3
00:03 mugwump what will that allow it to do, above and beyond of "normal" highlighting?  indenting, etc?
00:04 osfameron parse perl correctly?
00:04 putter the oneliner being - the right place to do code analysis and transformation is in perl.
00:04 clkao i want something like ecb working
00:04 osfameron ecb?
00:04 clkao emacs code browser
00:05 putter mugwump: where is this variable used?  written to?  read from?  type analysis.  refactoring.
00:05 clkao what's the ':' thing for in sub/method params?
00:05 osfameron clkao: ah, I sometimes use project.vim, except it seems to hang a bit
00:05 svnbot6 r3322, clkao++ | Add todo tests for operator overloading.
00:06 mugwump emacs supports this stuff?
00:06 osfameron mugwump: also, what class is this variable?  (bring on the intellisense!)
00:06 osfameron emacs contains an Eliza implementation, no?
00:07 putter "search for everything in this call tree which touches an object of class foo".
00:08 osfameron rename all methods "foo(Integer, String)"
00:08 osfameron (which will ignore the word "foo" in strings, documentation, variable names, methods of different signatures etc.)
00:09 osfameron no more s/config/user/g giving "useruration"
00:09 * clkao makes another test and  goes to sleep
00:09 clkao good bedside hacks
00:10 osfameron IntelliJ IDEA does all this stuff, rather than the point and click gui-stuff that perl-hackers tend to accuse IDEs of doing
00:10 osfameron clkao++ # hacking *and* chatting on irc
00:10 svnbot6 r3323, clkao++ | Tests for infix operator overloading too.
00:11 nothingmuch http://cheston.com/pbf/PBF0​06BCBallerinaSlippers.html
00:11 clkao why not? just some tests
00:12 putter has quit IRC ("'night all")
00:12 larsen has quit IRC ("later")
00:15 clkao now if i wake up and they are magically un-todoed..
00:19 osfameron you mean if a prince kisses them?
00:19 osfameron oh, todo, not toad.
00:21 clkao p6bible-- # cant do -q to search
00:22 osfameron nor perldoc for that matter
00:23 clkao ? perldoc does -q
00:24 clkao for faq
00:24 osfameron clkao: oh yes, but only in faq
00:24 osfameron :)
00:24 osfameron and when was the last time you found something useful in perldoc -q ?
00:24 clkao but i consider p6bible has a finite set of known document in its territory
00:24 osfameron good point
00:28 kelan has joined #perl6
00:43 kelan has quit IRC ("!")
00:43 svnbot6 r3324, putter++ | Some t/rules/Disabled/from_perl6_rules/anchors.t fixes.
00:56 meppl gute nacht
00:57 osfameron has quit IRC ("Leaving")
01:00 simcop2387-vnc has joined #perl6
01:02 Darren_Duncan the Locale-KeyedText test suite is now uploaded - it compiles but does not execute citing a few Pugs features missing
01:02 svnbot6 r3325, Stevan++ | Perl::MetaModel - adding Perl::Meta::Property and tests;
01:02 svnbot6 r3326, Darren_Duncan++ | updated ext/Locale-KeyedText : added full test suite, which compiles but does not execute yet due to missing Pugs features
01:03 Darren_Duncan while doing this, I noticed these omissions or bugs:
01:03 f0rth has quit IRC ("leaving")
01:04 Darren_Duncan 1. you can not invoke a stateless class method using ClassName.meth_name() ; it says &meth_name doesn't exist
01:04 f0rth has joined #perl6
01:06 Darren_Duncan 2. The documentation for the 'lib' module needs updating to say that you call import() in a BEGIN block if you want it to work for "use Foo;"
01:07 Darren_Duncan 3. The 'Test' module needs to have a can_ok() function like Test::More does, or equivalent
01:08 Darren_Duncan 4. Pugs does not throw an exception when you say "use Foo-0.0.5;" and your Foo module declares "Foo-0.0.4;"
01:09 Darren_Duncan ... it seems to ignore the version entirely
01:09 Darren_Duncan that's fine for now when getting things up and running, but needs addressing later
01:10 Darren_Duncan A lot of introspection doesn't seem to work now, or I'm not using it correctly.
01:11 Darren_Duncan Mainly #1 is the first show-stopper I'm encountering ... the only work around I can see is exporting my functions and I don't want to do that
01:11 Darren_Duncan 5. the introspection features missing
01:14 Darren_Duncan 6. 'is constant' is not implemented
01:15 Darren_Duncan that is, does not compile
01:15 castaway_ has joined #perl6
01:18 meppl has quit IRC (Remote closed the connection)
01:18 theorbtwo has quit IRC (Read error: 145 (Connection timed out))
01:27 castaway has quit IRC (Read error: 110 (Connection timed out))
01:29 ninereasons has quit IRC ("Leaving")
01:30 broquaint has quit IRC ("'z' x $sleep")
01:36 theorbtw1 has quit IRC (Read error: 110 (Connection timed out))
01:43 eric256__ has joined #perl6
02:07 eric256__ quite in here today
02:07 eric256__ is now known as eric256
02:09 eric256 can i do file IO in pugs yet? or should i avoid it for a while?
02:14 mugwump t/builtins/io/io.t is not :todo, so I guess so!
02:15 eric256 hmmm.. there are tests in reduce. that fail...should they be made :todo?  can someone confirm they don't work?
02:15 eric256 thanks mugwump, i'm still getting the hang of this. ;)
02:18 x86 http://macdaddy.shellshark.net/~x86/fire.gif
02:18 x86 wow ;)
02:20 eric256 lol
02:21 eric256 people are amazingly stupid
02:21 mugwump you're supposed to light it AFTER it comes out of your mouth :)
02:25 x86 no
02:25 x86 you light it before
02:25 x86 but you're supposed to blow it out before taking it to the gut ;)
02:25 x86 most of the time
02:26 mugwump oh it's not kerosene, it's sambuca or something
02:26 x86 or at least not spill some of the flammable mixture on your neck ;)
02:34 Schwern has joined #perl6
02:34 Schwern Does Mark Lentczner hang out here?
02:42 Darren_Duncan has left
03:01 simcop2387 has left "Client exiting"
03:36 Schwern has quit IRC ("My work here is done.  If you need me again admit that you're screwed and die.")
03:54 stevan has quit IRC (Read error: 110 (Connection timed out))
04:19 stevan has joined #perl6
04:28 drbean has quit IRC (Read error: 110 (Connection timed out))
04:35 stevan has quit IRC ("Leaving")
04:36 stevan has joined #perl6
05:56 nothingmuch has quit IRC ()
05:56 Shachaf has quit IRC ("So long, and thanks for all the fish!")
05:58 SM_ax has joined #perl6
06:06 chady_ is now known as chady
06:08 PerlJam has quit IRC (Read error: 54 (Connection reset by peer))
06:13 Gruber_ has joined #perl6
06:13 Gruber has quit IRC (Read error: 54 (Connection reset by peer))
06:26 Aankhen`` has joined #perl6
06:26 svnbot6 r3327, corion++ | Fixed wrong test count
06:27 Aankhen`` has quit IRC (Client Quit)
06:27 Aankhen`` has joined #perl6
06:34 elmex has joined #perl6
06:35 nothingmuch has joined #perl6
06:36 simcop2387-vnc has quit IRC (Remote closed the connection)
06:37 Gruber_ is now known as Gruber
06:44 castaway_ is now known as castaway
06:53 nothingmuch morning
06:54 Khisanth night!
06:58 elmex has quit IRC ("leaving")
07:13 Chewie[] has quit IRC (Remote closed the connection)
07:21 Chewie[] has joined #perl6
07:24 larsen has joined #perl6
07:30 Gruber_ has joined #perl6
07:30 Gruber has quit IRC (Read error: 104 (Connection reset by peer))
07:50 autark-jp Has anybody else noticed that the output of examples/mandel.p6 differs depending on whether it is run by pugs or -Bparrot?
07:51 autark-jp (running it through pugs took me 64m 57s btw vs. 5.8s on -Bparrot :)
07:55 estel has joined #perl6
07:56 estel has quit IRC (Remote closed the connection)
08:10 Southen has joined #perl6
08:26 dada has joined #perl6
08:26 osfameron has joined #perl6
08:43 scook0 has joined #perl6
08:47 estel has joined #perl6
08:56 hlafarge has joined #perl6
09:39 autrijus autark-jp: yes, that's because pugs uses infinite precision (bigrat)
09:39 svnbot6 r3328, scook0++ | Style updates for Haddocks
09:40 autrijus autark-jp: and the codegen doesn't use parrot bigrat yet
09:40 autrijus so it's truncated to native float.
09:40 autrijus the output of parrot is currently the same as mandel.p5
09:48 clkao autrijus: hey! i committed 2 tests yesterday and it's still todo! this isn't like you!
09:48 svnbot6 r3329, iblech++ | * EOLs at EOFs.
09:48 svnbot6 r3329, iblech++ | * Usual svn properties added to ext/Locale-KeyedText/t/* and
09:48 svnbot6 r3329, iblech++ |   clkao++'s t/oo/methods/overload.t.
09:49 autrijus clkao: where is svn.elixus.org backed up?
09:49 autrijus clkao: er. where idd you get the as_string idea?
09:49 clkao autrijus: huh? it's in S06?
09:49 clkao autrijus: i have a copy of the dump..
09:49 autrijus oh, you rewrote it as prefix:<~>
09:50 autrijus that's good
09:50 clkao oh, because it doesn't parse, so i changed it to normal function name
09:50 autrijus    method infix:<+> ($a, $b) { return "$a $b" }
09:50 clkao and accidentally committed
09:50 autrijus this sounds very wrong
09:50 autrijus I though it's
09:50 quietus9 has joined #perl6
09:50 autrijus multi sub infix:<+> (Foo $a, Foo $b) { return "$a $b" }
09:51 autrijus multi sub prefix:<~> (Foo $a) { return $a.bar }
09:51 autrijus I don't quite know how it fits into method
09:51 autrijus maybe
09:51 clkao oh. right. but S06 has method form
09:51 autrijus multi method prefix:<~> () { return $.bar }
09:52 autrijus I think all builtins are multi subs
09:52 autrijus ignore the self-inconsistent parts of S06 :)
09:52 autrijus can you rewrite them as multi subs outside the class definition first?
09:52 autrijus and maybe ask on p6l about how to do it methodishly
09:52 clkao ya.. but i am busy now
09:52 autrijus (multi userdefined symbolic subs is easier to do and better speccted)
09:52 autrijus sure, then some helpful gnome please :)
09:53 * autrijus also needs to run to $work
09:53 clkao summon heplful gnomes
09:54 autrijus &
09:57 iblech has joined #perl6
09:57 iblech clkao: /me will do that
09:59 elmex has joined #perl6
09:59 svnbot6 r3330, iblech++ | Added the utf-8 equivalent to >>~<<.
10:00 quietus9 maybe not the most useful thing in world but
10:01 quietus9 i ported roman.pm to perl6
10:01 quietus9 perlbot nopaste
10:01 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
10:02 quietus9 has quit IRC ()
10:08 svnbot6 r3331, iblech++ | * Added more overloading tests (objects in arrays, hyperification).
10:08 svnbot6 r3331, iblech++ | * There're two class definitions now in overload.t, one uses multi methods and
10:08 svnbot6 r3331, iblech++ |   the other uses multi subs to overload operators.
10:13 Aragone is now known as Arathorn
10:29 iblech has quit IRC ("work &")
10:41 theorbtwo has joined #perl6
10:50 Southen[a] has joined #perl6
11:08 Southen has quit IRC (Connection timed out)
11:08 Southen has joined #perl6
11:09 Southen[a] has quit IRC (Client Quit)
11:21 iblech has joined #perl6
11:30 kolibrie has joined #perl6
11:33 estel has quit IRC (Remote closed the connection)
11:38 b00t has joined #perl6
11:43 svnbot6 r3332, iblech++ | Started the OO quickref.
11:48 chady is now known as chady_
11:50 Limbic_Region has joined #perl6
11:56 wilx has quit IRC (Remote closed the connection)
12:00 sekimura has quit IRC ("zzz...")
12:03 svnbot6 r3333, scook0++ | More function type declarations.
12:04 svnbot6 r3334, iblech++ | Some more work on quickref/oo.
12:15 wilx has joined #perl6
12:19 Limbic_Region has quit IRC (Read error: 110 (Connection timed out))
12:19 Limbic_Region has joined #perl6
12:25 nothingmuch truss--
12:28 eric256 has left
12:40 elmex has quit IRC ("mach des, hab dich lieb, *kiss*")
12:43 Gruber_ has quit IRC (Read error: 110 (Connection timed out))
12:45 pupilzeng has joined #perl6
12:48 Gruber has joined #perl6
12:57 alexg_ has joined #perl6
12:57 svnbot6 r3335, masak++ | spelling in perl6_meta_model.pod
13:00 nothingmuch has quit IRC (Read error: 110 (Connection timed out))
13:04 alexg_ I'm trying to build Pugs 6.2.3 on OSX 10.4 (Tiger), but I'm getting link errors (everything seems to compile fine:
13:04 alexg_ Linking ...
13:04 alexg_ ___DISCARD__
13:04 alexg_ collect2: ld returned 1 exit status
13:04 alexg_ make: *** [pugs] Error 1                  
13:04 alexg_ Anyone seen anything similar?
13:04 autrijus alexg_: sudo gcc_select 3.3
13:04 autrijus it's in the README of trunk
13:05 alexg_ Thanks
13:06 autrijus np :)
13:08 alexg_ has quit IRC ()
13:10 wilx Alex G....Ali G.? :)
13:10 svnbot6 r3336, autrijus++ | * be more googleable with the Tiger gcc4.0 hint
13:11 autrijus yay I finally finished reading the poignant guide
13:12 autrijus why++ # and for http://redhanded.hobix.com/inspect/au​trijusRaisingPerl6IntoARealPuppy.html too
13:13 osfameron I couldn't get past the second page
13:13 osfameron it's very self-indulgent
13:14 osfameron (the poignant guide to Ruby, I mean)
13:14 wilx Hehe, nice article :)
13:15 theorbtwo The poingnant guide to Ruby was rather fun, I thought.
13:16 theorbtwo Though it didn't convince me that Ruby was worth the effort.
13:16 autrijus ruby does have lots and lots of good ideas :)
13:16 osfameron I tried really hard to read it...
13:16 wilx Hmm, Ruby seems to me like crippled Smalltalk.
13:16 autrijus (and it's evident that larry .dup, I mean .clone'ed most of them)
13:16 stevan wilx: a smalltalk without the IDE
13:16 autrijus wilx: that is right.
13:17 autrijus smalltalk with a perl5 syntax!
13:17 stevan autrijus: I have been reading a lot about Smalltalk metaclasses
13:17 stevan I think if we add the proper syntax level hooks
13:17 stevan we can make a refactoring browser with ease
13:17 autrijus yup.
13:17 autrijus I've been reading up more and more on smalltalk and lisp too
13:18 stevan I am reading the classic Smalltalk 80 manual
13:18 wilx stevan, IIRC GNU Smalltalk doesn't have any IDE: )
13:18 autrijus there are few languages that can't be said as a crippled version of smalltalk and/or lisp :)
13:18 stevan I alwasy knew it would come in handy :)
13:18 wilx Hehe.
13:18 stevan wilx: never used GNU, I always used Squeak
13:18 wilx Well, there are languages that don't claim everything being object.
13:18 autrijus (but Haskell is one. it looks like Perl 6 can be one, too.)
13:19 stevan SML, Erlang
13:19 autrijus wilx: right, sure, but that may be viewed as "crippled"
13:19 wilx Heh.
13:19 wilx I guess, for somebody.
13:19 stevan FOrth :)
13:20 theorbtwo RPL may be one of them.
13:20 stevan SNOBOL
13:20 stevan APL!
13:20 autrijus forth is a crippled version of itself :D
13:20 theorbtwo RPL is like an unholy alliance of forth and lisp, as I understand it, with some other things thrown in.
13:20 stevan :D
13:20 SM_ax I like "absolutely nothing in common with PHP" about haskell :)
13:20 autrijus SM_ax: thank you. I really tried
13:21 autrijus but can't come up with anything ;)
13:21 svnbot6 r3337, luqui++ | Added an option to specify your own hsc2hs.
13:22 b00t has quit IRC (Remote closed the connection)
13:22 autrijus bbiab.
13:23 autrijus clkao: I'll perhaps do userdefined symbolic first
13:23 autrijus clkao: the finer details of overloading depends on some rulings... I asked on p6l.
13:24 Limbic_Region autrijus - I think you need to add a version level in the roadmap
13:24 Limbic_Region kind of like the "junk drawer"
13:25 autrijus elaborate?
13:25 Limbic_Region reads along the lines of - wait for @larry to finish spec'ing out all the missing chapters
13:25 Limbic_Region :-)
13:26 autrijus nah. we don't wait, we improvise :)
13:26 svnbot6 r3338, kolibrie++ | started quickref/var
13:27 luqui has joined #perl6
13:28 luqui hello
13:28 stevan morning luqui
13:28 luqui it seems my new architecture doesn't like ghc
13:29 luqui I replaced my Fedora x86 with gentoo amd64 and ghc now just dies whenever I run it :-(
13:29 luqui rather, when I run things compiled by it
13:31 jhorwitz has joined #perl6
13:34 autrijus luqui: oh. you want ghc-cvs latest
13:34 autrijus as of at least 4 days ago
13:34 autrijus s/least/most/
13:34 autrijus putter reported that the issue with amd64 was fixed there
13:35 stevan autrijus: do we have multi-methods yet?
13:35 * stevan is looking for tests right now
13:36 autrijus stevan: sure we do
13:36 luqui autrijus, oh... I have to build it again, huh?
13:36 stevan autrijus++
13:36 luqui well, back in two hours.  thanks :-p
13:36 luqui j/k
13:36 stevan autrijus: I dont see any tests though, so I will implement a few :)
13:36 autrijus go ahead :)
13:37 decay__ has joined #perl6
13:37 autrijus luqui: pray tell, what is manhattan mmd?
13:38 decay_ has quit IRC (Read error: 104 (Connection reset by peer))
13:38 stevan its the red thin kind, as opposed to the new englang MMD which is white and creamy with potatoes
13:38 stevan (sorry clam chowder joke)
13:38 autrijus heh :)
13:39 stevan Nice, Test::Builder is looking close to being ready to use
13:39 integral presumably mmd that uses manhattan distance?
13:39 stevan I talked to chromatic already about a Test::Builder::Tester too
13:41 autrijus integral: ahh.
13:41 autrijus instead of straight inheritance distance?
13:41 autrijus i.e. you can count distance with two types that does not belong to each other?
13:41 luqui well, "straight inheritance distance"?
13:42 autrijus (as long as they share a common ancestor)
13:42 autrijus luqui: Foo isa Bar isa Baz... distance(Foo,Baz) = 2
13:42 luqui no.  manhattan isn't really the issue
13:42 luqui but that's how I'm referring to it
13:42 luqui it's inheritance distance at all that bugs me
13:42 luqui but manhattan refers to measuring the manhattan distance in the dimension of the arity
13:43 luqui foo($a, $b)  checks by adding together the distances of $a and $b to each checked type
13:43 autrijus hrm. strangely, pugs does it the other way
13:43 autrijus it mmds with $a first and use $b as tiebreaker
13:43 luqui ahh leftmost
13:44 autrijus right. is that wrong?
13:44 luqui that only happens when $a is followed by a colon in the declaration
13:44 autrijus er
13:44 autrijus I thought the argument types are not used in MMD _at all_.
13:44 autrijus only invocant types cuont.
13:44 autrijus count
13:44 luqui yeah, hang on
13:44 autrijus or are you saying that the sum of inv types uses the args in leftmost order as tiebreaker?
13:44 luqui multi foo(Foo, Bar: Baz);   # manhattan on Foo and Bar
13:45 luqui multi foo(Foo: Bar: Baz);   # leftmost on Foo and Bar
13:45 autrijus wtf?
13:45 autrijus multiple colons?
13:45 luqui yeah... I think that's in an AES somewhere
13:45 luqui maybe it's changed, but I haven't heard anything
13:45 autrijus it's not in s06.
13:45 luqui hmm
13:45 autrijus I don't remember that at all
13:46 Arathorn has quit IRC ("reboot")
13:46 autrijus it strikes me as borderline insanity ;)
13:46 luqui well, invocants at all are starting to strike me as insanity
13:46 svnbot6 r3339, Stevan++ | Perl::MetaModel - adding allSubclasses() method (and tests)
13:47 luqui I'll p6l it.
13:47 autrijus please do.
13:47 scook0 has quit IRC ("bye")
13:47 autrijus I'm switching to manhattan as you said.
13:47 autrijus (for (Foo, Bar: Baz))
13:48 luqui okay
13:48 luqui do you have an inheritance metric?
13:49 clkao autrijus: ok..
13:49 autrijus luqui: bottom of http://svn.openfoundry.org​/pugs/src/Pugs/Context.hs
13:50 autrijus it's likely All Wrong but I can't find a reference :)
13:50 autrijus I'll bbiab :)
13:51 luqui looking
13:53 luqui er, this cvs repository doesn't come with a configure.  It just configure.ac and stuff (I have no idea how to use autoconf)
13:53 luqui I've determined that I have to run autoconf and aclocal
13:53 luqui what else?
13:53 integral they don't have a autogen.sh file?
13:54 luqui doesn't look like it
13:54 luqui cerainly not named that
13:54 jhorwitz luqui: usually automake too.  those three usually get the job done in absence of an autogen.sh
13:55 luqui * going to #haskell
13:57 theorbtwo aclocal && automake && autoconf, IIRC.
14:11 x86 i read that as "alcohol" :P
14:11 svnbot6 r3340, autrijus++ | * switch to Manhattan distance for MMD dispatch on invocants.
14:11 svnbot6 r3341, autrijus++ | * minor patch to quickref/var
14:13 luqui ugh, building ghc is such a pita
14:13 luqui and not the tasty kind
14:13 stevan little hummus, some babaganoush
14:14 SM_ax has quit IRC ("ChatZilla 0.9.61 [Mozilla rv:1.7.7/20050420]")
14:19 Vaevictus has joined #perl6
14:23 luqui and they're off building haskell with haskell
14:25 luqui and it dies
14:25 * Vaevictus wonders about the pugs ebuilds
14:25 luqui damnit, even my 6.2.1 build doesn't work
14:26 Vaevictus lol ... 6.0.11
14:26 luqui fairly old
14:27 Vaevictus yeah. :( ... it did build... now to make a new one in my overlay
14:27 Vaevictus how old is it, specifically?
14:27 Arathorn has joined #perl6
14:27 stevan autrijus: just commited the test for multi methods
14:28 stevan it does not do the type based dispatching though
14:28 luqui well, there was no 6.1, so it's not as old as it seems
14:28 stevan it behaves very similar to the way old multi-subs did,.. always going to the Bool method
14:30 Limbic_Region $larry just commented on the multi-colon multi-method thing leaving it a bit less clear
14:30 luqui haha
14:30 luqui how was that unclear, though?
14:30 svnbot6 r3342, Stevan++ | t/oo/methods/multi.t - tests for multi-method dispatching
14:31 Limbic_Region I didn't say unclear - just less clear
14:31 luqui oh... does anything need clarifying though
14:31 luqui I'm pretty sure I grok it
14:33 Vaevictus lol
14:33 Vaevictus ghc is old in portage too
14:34 luqui 6.4.2?
14:34 theorbtwo YAPC::NA hackathon is 23-26, right?
14:34 Limbic_Region luqui - I think the part where $larry says "maybe" leads me to believe it is subject to change
14:35 stevan theorbtwo: yes
14:35 * Limbic_Region mumbles something about "what isn't subject to change"
14:36 luqui ohhhh that reply
14:36 svnbot6 r3343, Stevan++ | Perl::MetaModel - Spelling error :)
14:36 luqui I was behind
14:37 Vaevictus hmmm
14:37 Vaevictus 6.4 looks masked
14:37 luqui autrijus, on the final one, no tiebreaking is used
14:37 luqui multi foo(Foo: Bar: Baz)
14:37 luqui multi foo(Foo: Bar: Quux)   # illegal, already a foo:(Foo: Bar:)
14:38 luqui everything interesting is masked
14:41 lumi has joined #perl6
14:41 lumi Hi
14:41 svnbot6 r3344, Stevan++ | Perl::MetaModel - "You cannot instantiate an AbstractClass" in docs/create_your_own_object_model.pod
14:42 Limbic_Region Lo
14:43 lumi I'm having trouble building parrot
14:43 lumi Where are the parrotians hiding?
14:44 lhooq has joined #perl6
14:46 * luqui is kind of a parrotian
14:46 lumi I tried both the svn and the release, and make dies a horrible death
14:46 luqui how?
14:47 lumi Er, paste?
14:47 lumi perlbot: nopaste?
14:47 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
14:47 Limbic_Region perlbot nopaste
14:47 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
14:47 luqui lumi, we could also retire to irc.perl.org#parrot
14:48 pasteling "lumi" at 62.90.49.81 pasted "Parrot make dies like so" (26 lines, 1.3K) at http://sial.org/pbot/10196
14:48 lumi I'm there as well
14:48 luqui yikes
14:49 Limbic_Region lumi - you could hide the problem by not compiling the switched core ;-)
14:49 lumi It's a Mandrake linux with Perl 5.8.6
14:49 luqui what gcc?
14:49 lumi gcc (GCC) 4.0.0 (4.0.0-3mdk for Mandriva Linux release 2006.0)
14:49 * Limbic_Region bets 4.0
14:50 lumi Gosh
14:50 luqui 4.0... hmm
14:50 luqui can't say I have any experience with that
14:50 luqui are you compiling with optimization?
14:51 lumi Just plain vanilla Configure and make
14:51 luqui I don't think that defaults to optimization
14:51 lumi Can't imagine that turning on optimization would help
14:51 luqui certainly not :-)
14:51 luqui It looks like a gcc bug though
14:52 luqui so just don't compile the switch core
14:52 lumi Okay
14:52 lumi Umm
14:52 lumi How?
14:52 luqui 'cept, I don't know how to tell it to do that
14:52 Limbic_Region scary - that's what I said
14:52 * luqui goes to #parrot
14:52 * Limbic_Region thinks it is a perl Configure.pl option
14:53 * Limbic_Region hasn't compiled parrot in months though
14:53 luqui yeah, but it's undocumented
14:53 Limbic_Region perl Configure.pl --help
14:53 Limbic_Region oh
14:54 * Limbic_Region was thinking of the computed goto core
14:54 Limbic_Region --cgoto=0
14:55 * luqui is researching the problem
14:55 * Limbic_Region hopes luqui and the #parrot folks can help
14:58 PerlJam has joined #perl6
14:59 luqui hmm, looks like it's on by default
15:00 * Limbic_Region thought the switched core was THE default?
15:01 pupilzeng has quit IRC ("See you!")
15:01 luqui grr
15:01 luqui it seems that nobody figured the switch core would fail to build
15:02 luqui lumi, do you have gcc-3.3 or something that you could use instead?
15:03 dada has quit IRC (Read error: 110 (Connection timed out))
15:04 lumi I do now
15:04 * lumi tries it
15:05 lumi Same
15:05 lumi Oh mh
15:06 ajs Side note on colons: S29 as it stands still relies on colon delimeters for optional parameters. As I understand it, that's now dead, correct? I'm working up a huge diff to change it, but don't want to finalize that until I'm clear.
15:07 lumi No, same
15:08 luqui really?... really?
15:08 luqui that doesn't make sense
15:08 lumi The "oh mh" was "I didn't make clean"
15:08 lumi But it still does the same
15:10 ajs Nevermind. I was mistaking invocants on a sub for the old style ";" (not colon) separator for optional params
15:11 ajs now if I just knew what invocants on a sub were all about :-/ ... so many edge P6 things I have not absorbed...
15:11 lumi Subs have invocants?
15:13 ajs multi subs can... but I'm not sure what that means
15:13 ajs S6: "Multimethod and multisub invocants are specified at the start of the parameter list, with a colon terminating the list of invocants:"
15:14 luqui invocants are things that get multimethod dispatched on
15:14 luqui non-invocants are ignored by mmd
15:15 gaal has quit IRC ("goodbye")
15:16 ajs Right... so if I have "class Foo { ... }" and "multi sub x(Foo $i:)", then I still have to call it as "x($obj)", correct? Or can I invoke it on $obj as $obj.x and "steal" that method slot from the class?
15:16 ninereasons has joined #perl6
15:17 luqui I think x($obj) and $obj.x are equivalent in that case
15:17 lumi Thanks, luqui
15:17 lumi Or is that spelt luqui++ ?
15:18 luqui the latter is better :-)
15:18 luqui nah, doesn't matter
15:18 luqui I don't think our bot keeps track
15:18 ajs So if module A defines "class A { method x() {...} }" and module B defines "multi method x(A $inv:)" who wins?
15:18 luqui an ambiguity error?
15:19 luqui or redefinition error
15:19 hlafarge has quit IRC ("KVIrc 3.2.0 'Realia'")
15:19 ajs This seems like a kind of slippery slope. I worry about modules not bothering to sub-class because they can just be full of methods that get added to the increasingly bloated base classes.....
15:20 ajs But it does allow for what I see in S29, so I'll revise my view of it, and re-read from scratch
15:20 Shachaf has joined #perl6
15:20 ajs thanks luqui!
15:20 luqui yeah, and perl's not going to keep you from designing a particular way
15:20 luqui maybe the bloated base class is the right idea for My Project
15:21 * luqui has been pushed into working on a Java project
15:21 * luqui is annoyed at being forced to design software a particular way
15:21 * luqui especially when it's the wrong one
15:21 Vaevictus has left
15:21 ajs Well, perl does keep you from designing some ways... for example, you can't just re-defined a constant or change someone's private attributes... I just assumed you couldn't add methods to a class from outside the class definition in the same way....
15:22 lumi Mixing in stuff in classes is good
15:22 luqui ajs, well, you can change someone's private attributes
15:22 luqui but you have to work hard at it
15:22 ajs Hrmm... "mixing in" has a special meaning WRT P6
15:22 lumi Java tries awfully hard to stop people from doing fun stuff
15:23 lumi As in Roles?
15:24 luqui I like C++ because I can convince macros and templates to do what I want in a type safe way most of the time
15:24 luqui roles at runtime
15:25 ajs Roles are the core mechanic behind mixins, but you don't usually create a mixin out of someone's metaclass in-place, which is what this sounds like
15:25 ajs That's some ugly black magic, and I'm a little scared about how easy we're making such dark deeds
15:25 luqui wait, what does it sound like?
15:25 luqui 'splain more
15:26 lumi I saw this done in Smalltalk
15:26 lumi Basically I guess it's safe as long as you are either expanding, or wrapping, or really knowing what you're doing
15:27 ajs Ok, so by adding a method to an existing class, you're saying "class A does role { method mynewmethod (...) {...} } {...}", but you're donig it once the class is defined. The only way to do that would be to add a role to the metaclass at run-time
15:27 lumi Extending maybe
15:27 PerlJam ajs: er, no.
15:27 luqui not to the metaclass, just to the class
15:27 ajs PerlJam: how so no?
15:27 Shachaf has quit IRC ("So long, and thanks for all the fish!")
15:28 luqui and not at runtime, just at post-class-definition time
15:28 PerlJam ajs: lots of ways probably.
15:28 lumi No, you're talking about defining a method on a class, at compile time
15:28 PerlJam ajs: what you add a method to an existing class ... you're adding it to the class.
15:28 PerlJam ajs: or you could add it to an anonymous clone
15:28 PerlJam ajs: or you could add it to just the object (if that is your wont)
15:29 luqui it helps to think of classes in perl simply as data types, not collections of methods or anything any fancier
15:29 ajs Sorry, lumi, I was taking the long view on "run time" vs "compile time". That is, relative to any piece of code, "run time" is that time that other code is executed after you are.
15:29 luqui then your definitions describe how those classes behave
15:29 ajs lumi: I know that's not the usual P6 definition, but it's one that works well for p6-like dynamic languages
15:30 putter has joined #perl6
15:30 TSa-Perl6 has joined #perl6
15:30 luqui hey thomas
15:31 TSa-Perl6 HaloO
15:31 ajs PerlJam: I think you came in late. We're describing a particular thing that happens when you say: "multi sub x(Foo $invocant:)" as perl S6. That, as far as I can tell, modifies the *class object* (I stand corrected, not the metaclass) directly, from outside of the class derf
15:31 TSa-Perl6 actually it's TSa
15:31 ajs er class def
15:31 ajs and "as per S6" not "perl S6"
15:31 luqui TSa-Perl6, what do you mean?
15:31 putter luqui: The README contains some hints on building w amd64.  Let me know if you have any questions.
15:32 luqui mmk
15:32 * luqui goes back to trying to build
15:32 PerlJam ajs: okay.  Perl lets you modify classes at will.   So what's the problem?
15:32 luqui putter, which README?
15:33 putter pugs
15:35 luqui ohhh
15:35 ajs PerlJam: My problem is that without that syntax, modifying a class object requires some very scary looking direct manipulation of the class object. With "multi sub"s that have invocants, we just gift-wrap it and practically beg programmers to use it. I'm not CONVINCED that that's a huge deal... but I've got goosebumps I didn't have 5 minutes ago
15:36 PerlJam Hmm.  Can you give an example of the "scary looking direct manipulation"?
15:36 ajs It's also very bad for the maintainer. You never know where to look to find the code that is invoked for a particular class
15:37 luqui Scary direct manipulation in Perl 5:
15:37 luqui sub Foo::mymethod { ... }
15:37 luqui :-)
15:38 luqui ajs, maybe that's a good thing.  After all, the code for MySpecialAddition probably belongs in MySpecialAddition, not the Nums it acts on
15:38 putter wilx: re ruby and st, it's odd how much figuring out a languages strengths seems to be an "art form"... in the
15:38 ajs luqui: that's a sub. I'm not SO worried about a static sub being defined that way (though it also seems kind of odd outside of a class def)
15:39 luqui ajs, that's a method in Perl 5
15:39 luqui it's exactly the same thing as what you're talking about using the Perl 5 model
15:40 ajs Yeah, I know... but in P6, I don't think you can just say "class A { method B::mymethod(){...} }"
15:40 luqui and worse, that sub is allowed to access private data in Foo, which Perl 6 multis are not
15:40 ajs or can you...?
15:40 putter case of ruby, its perlish text handling facility and very powerful eval make it one of the best metaprogramming environments ive seen.
15:40 osfameron in what way is its eval powerful ?
15:40 luqui you spell it  multi sub mymethod(B $b)
15:41 putter For example, one can create a text table (here doc) with a description, optimized for clarity, of what you want to do,
15:41 PerlJam ajs: read the section of S12 entitled "Open vs Closed Classes"
15:41 ajs luqui: and thus, we're back to my concern
15:41 luqui you're concerned about spelling it with a multi instead of two colons?
15:41 PerlJam luqui: yeah, that's what I'm thinking
15:41 PerlJam (that he's concerned about)
15:41 PerlJam I just don't get it I guess.
15:41 putter pull it apart with regexps, and eval the software into existence.  I like it better than even CL for some things.
15:41 ajs PerlJam: open vs. closed classes are different. I have no beef with someone saying "class A {...} class A {...more...}".
15:42 luqui maybe we could allow method B::mymethod() as an alternative.
15:42 luqui oh, by the way, in perl 6 you can't define methods on another class within a definition of a class
15:42 luqui it would assume that the first invocant was the current class
15:43 luqui ... maybe  (/me thinks about the class Foo;  form (as opposed to the class Foo { } form) )
15:43 putter osfameron: compile time equivalence.  create lexicals, etc (though that may be going away).  I guess the part I didnt mention is
15:43 ajs I guess I'll just have to stand back and watch, and hope that most users don't think to use this tool. I simply can't imagine any code that would have reason to use it
15:44 luqui MySpecialAddition
15:44 luqui ?
15:44 luqui How else do you define new behavior on Nums?
15:44 putter things which are syntax in other languages (eg "has") are simply normal functions.  so the runtime ruby code is very much operating on itself.  another aspect
15:44 ajs By modifying Num?
15:45 luqui putter, in perl 6, has is syntax, but it is really just a compile time sub call stated as a macro
15:45 ajs Or sub-classing, or mixing in to an instantiated object, or....
15:45 TSa-Perl6 is now known as TSa
15:45 luqui ajs, I mean existing Nums
15:45 luqui to catch code that uses them unawares
15:45 putter of the nice evals is that they are a couple of variants targeted at different scopes (eg, "eval in class" etc).
15:45 ajs Existing Nums (an instance) or existing "Num" (the class)
15:46 luqui code that uses "Num" without marking it special in any way
15:46 ajs Modify Num
15:46 putter luqui: the point is in ruby one doesnt have a compile/run-time macro/not distiction.  makes things nicely cleaner.
15:46 luqui and add multis on it?
15:47 luqui okay, so you're basically advocating that we define all relevant multis within the classes that it uses (horrible sentence)
15:47 luqui hmm
15:47 osfameron putter: sounds interesting and vaguely lispy.
15:47 ajs Yes and no... given polymorphism and mixins, then yes, but that's a huge given, as it allows you to:
15:47 lumi So Ruby basically has a different flavour of no syntax than lisp?
15:47 luqui putter, how can ruby not have a compile time?
15:48 putter Anyway, my point simply being "ruby isnt merely a smalltalk w defects", but has some nifty strenths st doesnt.
15:48 ajs my Num $x = something(...); $x.somemethodthatNumneverheardof;
15:48 luqui exactly
15:48 luqui that's what we want
15:48 lumi It's Smalltalk with p5re?
15:48 ajs That requires exactly no modification of Num
15:49 luqui when you define a multi on Num, you're modifying it, if you want to look at it that way
15:49 ajs That's just garden variety polymorphism
15:49 ajs Who said $x is a Num?
15:49 luqui your declaration
15:49 ajs Nope
15:49 luqui oh
15:49 luqui right
15:49 luqui the question is, how do you get something() to return a Num that can do somemethodthatNumneverheardof without knowing it
15:50 ajs Add in mixins, and your options expand exponentially without ever touching the base class
15:50 ajs It doesn't return a NUm
15:50 luqui let's say it does
15:50 luqui let's say somethingelse() returns a plain old Num, and I'd like to do this:
15:51 ajs And now you're back to what I said I can't imagine a need for
15:51 luqui my $x = somethingelse();  $x.somemethodthatsomethingelseneverheardof()
15:51 luqui custom operators?
15:51 luqui my $x = somethingelse();  my $y = $x (+) 1;
15:51 lumi Look perhaps at the Squeak code, it does this often
15:51 ajs Custom operators can be defined on your own sub-class of Num just fine
15:51 lumi Although it doesn't have mixins/traits by default
15:51 luqui but somethingelse() doesn't return your special sub-class
15:52 luqui it returns a regular old Num
15:52 ajs And can be polymorphically handed to things that don't know anything about your class
15:52 lumi You could mix it in,
15:52 ajs ok so, you: my $Num = MyNum.new(somethingelse());
15:52 lumi my Num $x = something(...) but CrazyNum;
15:52 ajs or: my $Num = somethingelse() but MyNumRole;
15:53 ajs lumi: yes
15:53 ajs and "my Num $x" in my example, not "my $Num"
15:53 luqui sure, but you don't want to do that, because (+) is a perfectly good operator that can be used on any Num
15:53 ajs luqui: what's special about a Num?
15:54 luqui it's the example I'm using
15:54 luqui (+) doesn't make sense on anything but nums (until some module says otherwise)
15:55 ajs right, but what's specail about it that makes you want to modify it vs. using polymorphism or mixins. There's something that makes you want to modify it from the outside that I'm not seeing
15:55 putter luqui: err, because the language design has emphasized hiding the distinction?  eg, in p5, you could edit @ISA, but the docs warn you off it as having flakey caching issues (or once did).  in rb, that kind of thing is much more accepted, and so is made to work.
15:55 ajs luqui: No, (+) makes sense on every sub-class of Num that doesn't explicitly prevent it from working
15:55 luqui ajs, sure
15:56 PerlJam ajs: so ... in order to use an operator that operates on Num but wasn't conceived of at the time that the Num class was created, I have to subclass?  or what?
15:56 luqui so you're saying I should modify Num to have that operator in it?
15:56 ajs and of course on every mixin (which is just a run-time anonymous sub-class)
15:56 ajs PerlJam: you have a very large number of options. Depends on what you want to do
15:57 luqui we want to add (+) to operate on Every Num Ever
15:57 PerlJam ajs: what if I just want to define the operator that operates on Num and never touch the Num class?
15:57 PerlJam "never touch" is probably a bit of an overstatement :-)
15:58 luqui I think the misconception might be that the definition of a new method is touching the class somehow
15:58 ajs Then do so. Nothing stoping you. It's just: multi sub infix:(+) (Num $a, Num $b) {...}
15:58 luqui it's not, it's just defining the method
15:58 ajs no modification of Num there
15:58 luqui ajs, exactly
15:58 ajs no modification of num there
15:58 luqui so what's the problem?
15:58 PerlJam ajs; Then I remain in a state of non-understanding the problem you're getting at
15:58 luqui how is a method any different from an operator?
15:59 PerlJam luqui: because "it modifies the class"
15:59 luqui the operator could very well do that too
15:59 luqui and the method could very well not do that :-)
15:59 luqui oh
15:59 PerlJam indeed
15:59 ajs Now, if you wrote: "multi sub mymethod(Num $inv:) {...}" you directly modify an existing class, potentially violating assumptions that other classes had (e.g. that it did not offer some feature, and thus would throw an excpetion)
15:59 luqui nevermind
16:00 luqui ajs, an assumption about *not* providing a feature is liskov-incompatible
16:00 ajs luqui and PerlJam: please keep your questions to one at a time each. I can't answer 10 questions that fast
16:00 luqui okay, we'll wait
16:00 PerlJam ajs: I'll just shut up and let you guys hash it out if one of you summarizes to p6l  :-)
16:01 ajs I think this would be better on p6l anyway... Let me just pop over there...
16:01 luqui yeah, now you know what about your problem we're not understanding, so you can explain it better
16:01 lumi An operator is just a pretty method
16:02 luqui lumi, that's how I think of it
16:02 lumi Or not, in the case of [>>+~$<<] or however that went
16:02 luqui well, no, I think a method is a pretty operator
16:02 luqui [>>+^=<<]? :-)
16:02 lumi Yes, that
16:02 * luqui envisages the anti-perl world loving that one
16:03 TSa has quit IRC ("ChatZilla 0.9.61 [Mozilla rv:1.7.5/20050210]")
16:03 putter has quit IRC ("later...")
16:04 * luqui personally is opposed to that operator because you can't describe what it does to a computationally literate person in one sentence
16:06 lumi It reduces over a list of lists by xoring the items' numeric values?
16:06 lumi Am I close?
16:06 lumi In place?
16:06 PerlJam luqui: I challenge you to adequately describe reduce in one sentence
16:06 luqui lumi, that's pretty close
16:06 luqui PerlJam, touche
16:06 luqui maybe that comes with computationally literate?
16:06 PerlJam well, define that term a little then  :)
16:07 luqui that "one sentence" thing is a principle I made for myself just now
16:07 luqui it clearly sucks
16:07 lumi Is my one sentence too computationally unfeasible? :P
16:07 TSa has joined #perl6
16:07 luqui lumi, I just didn't think it was precise enough
16:07 PerlJam I know many people who are "computationally literate" but have no idea about reductions or lambdas or big-O or even recursion.
16:07 luqui you could do what you described a number of ways
16:08 luqui PerlJam, programattically literate?
16:08 ajs Ok, S12 cleared it all up
16:08 PerlJam luqui: yes.
16:08 PerlJam luqui: these things are just outside their realm of experience.
16:08 wolverian PerlJam: the mathematical definition of reduce is trivial to describe in one sentence
16:08 ajs multi subs DO NOT modify the class at all
16:08 luqui PerlJam, computersciencely literate?
16:08 PerlJam And not having a CS background, they didn't get exposed to them in school either.
16:08 wolverian PerlJam: however, the binary combinator approximation is not :)
16:08 luqui anyway, I've rejected my principle
16:08 luqui ajs, if you want to think of it that way
16:09 luqui that's how I think of it
16:09 ajs multi subs define multiple dispatch methods, normal methods define single dispatch. dot-nottation searches single dispatch first, and then looks off in the MMD tables
16:09 arcady has quit IRC ("Leaving")
16:09 lumi The type system and the dispatch on it are orthogonal I guess
16:09 PerlJam wolverian: Heck, that makes me respect perl6 even more because it can describe all of that in one compound operator!  ;)
16:09 luqui ajs, nowdays we're considering single dispatch just to be multi dispatch with one invocant
16:09 ajs lumi: yeah
16:09 ajs luqui: S12 says no
16:10 wolverian PerlJam: I respect perl6 mostly because it is the first language I know of that lets you use the mathematical definition
16:10 lumi Call it a "type" and not a "class" and you've solved the class altering problems :P
16:10 luqui ajs, where?
16:10 ajs quote: The caller indicates whether to use single dispatch or multiple dispatch by the call syntax. The "dot" form and the indirect object form default to single dispatch. Subroutine calls with multiple arguments and operators with multiple operands default to multiple dispatch.
16:10 * luqui pulls up S12
16:10 ajs it's an ordered search
16:10 TSa has quit IRC (Client Quit)
16:10 luqui but you can't ever define a multi method and a single method on the same single invocant
16:10 * PerlJam wonders how often people will use multiple dispatch vs. single dispatch  :)
16:10 luqui so the two pieces of the search merge into one
16:11 Limbic_Region PerlJam - I have the feeling that most people who start using p6 will have very p5ish looking code
16:11 luqui basically class A { method foo(B) }  is converted exactly into multi sub foo(A: B)
16:11 ajs luqui: that has to be wrong. Do you search the entire class heirarchy to find a conflict? What the the tree changes after you define your multi?
16:11 Limbic_Region and just like in p5 - as you explore and begin to be exposed to "new things", they will slowly become adopted
16:12 luqui ajs, all I know is that's how larry seems to be referring to it
16:12 ajs Ok, so I have a DIFFERENT p6l message to compose ;-)
16:12 ajs thanks
16:12 luqui sure
16:12 Limbic_Region so to provide my answer to your musing - I would say very few at first and after a couple of years - quite a few
16:13 * luqui pianos
16:13 * Limbic_Region is basing this off the fact that most of his p6 to date has been very p5ish
16:14 PerlJam Limbic_Region: perhaps.
16:15 PerlJam I think some people view multiple dispatch as a step backward in a way because it "feels less OOPy" :)
16:15 Limbic_Region I don't
16:15 Limbic_Region people have been using multi-method dispatch in p5 forever (without knowing it)
16:15 PerlJam Or maybe it's just a concept that people have to get used to in order to use it.
16:15 Limbic_Region the top part of the sub is argument handling
16:16 PerlJam like recursion
16:16 Limbic_Region the portion of code that gets executed is based off the result of that handling
16:16 Odin- I think people will get used to it.
16:16 * Limbic_Region does too
16:16 Odin- Most of the new features will get used ... it's just a question of time.
16:17 PerlJam the more examples of it, the better IMHO though.  Show people the power where ever you can.
16:17 Limbic_Region as soon as you tell them that instead of making 1 huge clunky looking sub, you can modularize it and have it "just work"
16:17 * PerlJam wanders off to meet with a contractor
16:17 umbop will perl6 handled reference / derefence in a completely different way?
16:17 * Limbic_Region really sees MMD as being important when people don't use named args in p5
16:17 Odin- Perl already is a unique mix of features and you're adding several unusual features in. That'll take a while to sink in...
16:17 Limbic_Region umbop - when/where possible, p6 will autodereference for you
16:18 umbop ahh
16:18 umbop how handy
16:18 Limbic_Region so my $foo = hash {};  $foo<key> = 42;
16:18 Limbic_Region does what it is supposed to
16:19 umbop cool
16:19 zuulvin_ has joined #perl6
16:23 luqui some people are of the impression that it does that too much
16:23 svnbot6 r3345, Stevan++ | Perl::MetaModel - Property handling methods coded and tested
16:24 Limbic_Region luqui - is that because they are lumping other sub/method functionality in with MMD?
16:26 luqui no, the too much referring to the autodereferencing
16:26 Limbic_Region oh
16:27 Limbic_Region I just think it will take getting used to
16:28 iblech has quit IRC ("going home &")
16:32 Limbic_Region luqui - so with the Ss coming out before the As and Es, what is the process for asking about the gritty details (enhanced pack/unpack in [AES]09 for instance)?  - Just send a note to p6.l ?
16:32 luqui yeah, or ask me, and if I don't know, ask p6l
16:32 luqui in the case of pack/unpack, go straight to p6l
16:33 Limbic_Region ok - well, I was just looking at http://perlmonks.org/index.pl?node_id=332117
16:33 luqui small correction - with the Ss coming out *instead of* the As and Es
16:33 Limbic_Region "Perl6 Timeline By Apocalypse"
16:33 Limbic_Region oh
16:34 luqui hmm, I hadn't seen that
16:34 Limbic_Region lot's of great stuff in there that hasn't been documented yet
16:35 Limbic_Region aside from p6.l that is
16:35 Limbic_Region and I have only recently started following the list
16:35 luqui oh, that was before A12 huh?
16:35 Limbic_Region given the post date - yes
16:36 luqui actually I have seen that, but it was in text only form
16:36 luqui that was before we decided to abandon the apocalypses
16:36 Limbic_Region right - but the subjects themselves still need to be spec'd well enough to be generalized in the Synopsises right
16:37 luqui sometimes
16:37 knewt oooh. the p6 periodic table printed out on a colour laser looks rather nice
16:37 luqui with pugs here, some things are just obvious enough not to need speccing
16:37 luqui that needs to be modified to include [] :-)
16:38 Limbic_Region I agree, but everytime I mention something not in pugs - autrijus says "where is that spec'd"
16:38 knewt well, the periodic table is a year old now
16:38 Limbic_Region I reply - in unwritten chapter X
16:38 luqui Limbic_Region, good point
16:39 luqui yeah, he does generally only bite on things that are documented somewhere
16:39 luqui anyway, any time he does that, you can write an obvious spec to p6l, say "is that reasonable", and Larry will probably say "mostly, except ..."
16:39 luqui and there's your spec
16:39 Limbic_Region and everytime I write the list saying "what behavior should x have so that I can write tests so that it can be implemented" - I mostly get "it hasn't completely been spec'd yet"
16:41 Limbic_Region anyway - I am not complaining - really
16:41 luqui well, the design team moves slowly, but we tend the lists pretty well, so the best way to get things fleshed out is to ask questions
16:41 luqui I don't think you're complaining
16:41 Limbic_Region It is just that there really isn't much I feel capable of helping with - but writing tests is one
16:41 luqui I know exactly how you feel
16:41 luqui being the fellow who said, before pugs, "I'd love to work on the compiler"
16:41 * Limbic_Region was truly disapointed with the coroutines thread he initiated
16:42 luqui I'm pretty disappointed that it's in a language that I'm still unable to understand
16:42 Limbic_Region heh
16:42 elmex has joined #perl6
16:42 alice-black has joined #perl6
16:43 luqui well, that one came down to one of the few debates that went unresolved among @Larry
16:43 Limbic_Region well, my argument is two fold
16:43 Limbic_Region 1.  Parrot already provides the functionality that mostly resembles coroutines in other languages
16:44 Limbic_Region 2.  People from other languages looking for coroutines aren't going to be looking for it to be spelled the way p6 apparently is spelling it
16:44 luqui "gather" ?
16:44 luqui well, we're also saying "coro" or something, but that's where the debate came up
16:44 Limbic_Region gather/take versus plain jane yield
16:46 luqui well gather/take is really for generators, which happen to be related to coroutines
16:46 luqui coroutines with yield are really a different abstraction, and we're not sure how to do it yet
16:46 Limbic_Region that didn't really come across in the thread
16:46 Limbic_Region what came across from my perspective is that the same thing can be accomplished with gather/take
16:47 Limbic_Region and that's how p6 is going to do it
16:47 luqui mostly because coroutines in non-generator context, it seems to me, Larry doesn't care about much
16:47 luqui hmmm...
16:47 luqui well, p6 does provide continuations, so we could always leave it up to a module
16:47 luqui I think that ended up being my point
16:47 luqui I don't remember
16:47 Limbic_Region well a continuation isn't really the same thing
16:48 luqui but with continuations you can easily implement coroutines
16:48 Limbic_Region yeah - I keep forgetting source filters won't be uber black magic
16:48 luqui especially if you stick it right in there alongside sub and whatnot
16:50 Limbic_Region ok - so let me explain my understanding of how/why coroutines are useful and not apply a context (generator/iterator or otherwise)
16:51 Limbic_Region you have a routine that has work to do - at some point it can no longer continue working and has to relinquish control
16:52 Limbic_Region upon relinquishing control, it can return information about what it has done up to that point
16:52 Limbic_Region when control is returned, it leaves off right where it stopped
16:52 Limbic_Region remembering everything about what was going on
16:52 Limbic_Region this process can happen as many times as needed to finish the work
16:52 Odin-LAP That's what continuations do, isn't it?
16:52 Limbic_Region sound right?
16:52 Limbic_Region no
16:52 luqui well, sortof
16:53 * Odin-LAP just came in, btw, and is largely clueless.
16:53 Limbic_Region on the surface they seem very similar
16:53 Odin-LAP I just remember the parrotfolk making lots of noise on the subject...
16:54 lumi How is returning a continuation different from being a coroutine?
16:54 luqui not very.  a coroutine can be thought of as a sort of stateful continuation
16:54 Limbic_Region the continuation IS the return in continuations
16:54 luqui such that when you invoke it, it updates itself so that the next time you invoke it it does something different
16:55 Odin-LAP Hmm. I see.
16:55 luqui well, not with CPS
16:55 Limbic_Region in a coroutine, any arbitrary return
16:55 lumi Stateful continuation?
16:55 luqui technically, you call subs with your current continuation, along with some other stuff
16:55 lumi Retur a tuple, (value,continuation)
16:55 luqui the subs you call may themselves be return continuations
16:55 luqui lumi, exactly
16:55 lumi Return
16:56 lumi Or return $value but CurrentContinuation or something
16:57 luqui ugh
16:57 lumi :P
16:57 luqui that's not what properties are for
16:57 * Limbic_Region laughs
16:57 Limbic_Region but that really is in essence what a coroutine does from a naive perspective
16:57 luqui (on p6l people seem to be thinking that properties are for things like that, though)
16:57 lumi I must dash, have fun
16:57 Odin-LAP luqui: Any use opens up the potential for abuse.
16:57 luqui sure
16:57 Limbic_Region return @thesvalues but remember how to keep processing from this point forward
16:58 Limbic_Region now return @thosevalues and keep now remember this point
16:58 luqui but the "but" is referring to "return", not @thesevalues
16:58 Limbic_Region finally return $theanswer and know that we are done
16:58 Limbic_Region luqui - I wasn't being realistic
16:58 Odin-LAP Riddle me this. Why not place this in 'core'?
16:59 luqui place what in core?
16:59 Odin-LAP Coroutines. Is the problem lack of consensus on *how* to do it, or..?
16:59 Limbic_Region a continuation is more like a 1 and done sorta thing (from my understanding of things)
16:59 luqui Odin-LAP, that's precisely the problem
17:00 luqui a continuation is a pure object--it doesn't mutate
17:00 luqui that's the main difference between it and a coroutine
17:00 * luqui realizes that he should stop saying 'pure', because he's never really sure what it means
17:02 * Limbic_Region isn't sure why gather/take has to preclude also having traditional style coroutines
17:02 luqui Limbic_Region, it doesn't
17:02 Limbic_Region well - I am glad to hear the door isn't closed
17:02 luqui we know this
17:03 Odin-LAP Hm. What's gather/take do, precisely?
17:03 Limbic_Region that thread was 22 messages deep
17:03 luqui like I've been saying, the reason we're don't yet have coroutines in the core is because we're in disagreement about how to do them
17:03 luqui Odin-LAP, it creates generator arrays:
17:03 Limbic_Region ok - here is where my confusion came in
17:03 luqui my @values = gather { for 1..10 { take 2*$_ } }
17:04 Limbic_Region it sounded to me like the gather/take were being used synonomous with coroutines
17:04 luqui ahh
17:04 Limbic_Region so when you were saying you were in disagreement
17:04 Limbic_Region you get the idea
17:04 luqui yeah
17:04 * Limbic_Region is clear now
17:04 Odin-LAP luqui: Ah, I see.
17:04 Limbic_Region ok - /me is off for $work
17:05 luqui Odin-LAP, it just happens to do that lazily, which is where the coroutine behavior comes from
17:05 luqui bye limbic
17:11 osfameron has quit IRC ("Leaving")
17:11 svnbot6 r3346, Stevan++ | t/oo/inheritance.t - some basic tests for inheritence
17:11 svnbot6 r3347, Stevan++ | t/oo/attributes.t - TODOing a test
17:11 Limbic_Region luqui - so would it be worth while to go through the p6 timeline by A, look at the Ss that are out so far and indicate where/what the S doesn't cover that was expected to be there?
17:12 Limbic_Region IOW - if the S doesn't cover something that was outline for the A - mention it
17:22 G2 has joined #perl6
17:24 ajs Question: sub x( Num $?p = $CALLER::_, Num $+q ); &y := &x.assuming:q(0); for @x { y; }
17:24 ajs what does x get for $p?
17:28 G2 has quit IRC ("oops")
17:28 iblechbot_ has quit IRC (Client Quit)
17:33 svnbot6 r3348, iblech++ | EOL at EOF and usual svn properties.
17:33 svnbot6 r3349, iblech++ | More work on quickref/oo (added section about roles and fixed two XXXs).
17:34 iblechbot has joined #perl6
17:35 luqui ajs, syntax error near $?p ;-).  (it's ?$p)
17:35 * luqui now reads the actual question
17:36 luqui I think it gets 0
17:36 luqui oh
17:36 luqui no
17:36 luqui I'm an idiot
17:37 * luqui didn't see the :q part of the assuming call
17:37 luqui Hmm... I think curries are supposed to be caller-invisible, so it should get elements of @x
17:37 perdix has joined #perl6
17:37 luqui that seems only reasonable
17:43 ajs luqui: heh thanks, I hyad just given up and passed that on to p6l ;-)
17:43 svnbot6 r3350, jhorwitz++ | * compile namespace declarations (module/package/class) before sub definitions
17:45 luqui ajs, okay, then I'll wait for Larry to answer this one to see if we agree
17:46 ajs It's a hard one. All tied up in the question of where the default happens and what the currying routine can know about the curried routine.... byte code libraries make this really hard
17:46 Limbic_Region luqui - did you see my earlier question?
17:46 luqui I did now
17:47 luqui Limbic_Region, perhaps.
17:47 luqui I think we just need to get our asses in gear for updating the Ss
17:47 luqui so that when something gets resolved on p6l it goes in
17:47 luqui then as you folks find things that need to be specced for implementation, they go into a visible place after we discuss them
17:50 Limbic_Region luqui plus plus
17:50 svnbot6 r3351, kolibrie++ | specify in quickref/vars which synopsis to view for more detail
17:53 Limbic_Region well, what I will do (time permitting) is outline the things I know aren't in the Ss for the Ss that are already out and send that to you.  You can then know if there has been discussion on the list or if it is indeed something new that has to be discussed.
17:53 Limbic_Region sound fair luqui?
18:08 luqui (sorry I've been in and out)
18:08 svnbot6 r3352, jhorwitz++ | * clean up formatting
18:08 svnbot6 r3352, jhorwitz++ | * note problems when declaring multiple namespaces in same pad
18:08 luqui Limbic_Region, sure
18:13 meppl has joined #perl6
18:13 Arathorn has quit IRC ()
18:15 rafl has joined #perl6
18:19 rafl_ has quit IRC (Read error: 101 (Network is unreachable))
18:22 jhorwitz mod_pugs now works like mod_perl, using Apache::RequestRec objects passed in from mod_parrot.  woot!
18:22 stevan jhorwitz++
18:22 stevan jhorwitz++
18:22 stevan jhorwitz++
18:22 stevan that RULES
18:22 integral is this for apache 1.3 or 2 ?
18:22 jhorwitz perlbot nopaste
18:22 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
18:22 jhorwitz stevan: apache 2
18:23 * stevan starts counting the days till he can use Pugs in production :)
18:23 pasteling "jhorwitz" at 216.52.77.2 pasted "simple mod_pugs handler" (7 lines, 92B) at http://sial.org/pbot/10206
18:24 stevan jhorwitz: so does this run on top of mod_parrot?
18:24 jhorwitz yes
18:25 stevan so it will be fast too :)
18:25 stevan jhorwitz++
18:26 jhorwitz i still need to make some changes in mod_parrot before a release is possible, but i should have on in the next day or two.
18:26 jhorwitz s/on/one/
18:34 Aankhen`` jhorwitz++ # Woo hoo!
18:34 svnbot6 r3353, Stevan++ | Perl::MetaModel - adding method support (and tests)
18:38 pasteling "Aankhen``" at 61.246.18.236 pasted "Would this work as expected?" (13 lines, 183B) at http://sial.org/pbot/10208
18:38 Aankhen`` Argh.
18:39 Aankhen`` I have a Perl 5 regex in there...
18:39 Aankhen`` $#@!*)(()#!%&!#)_&%#!)&%()​#!&%_!#)&%*#&!%_(#&!%*#!%
18:39 theorbtwo Hm, anybody looked at the new hat?
18:39 pjcj ooh - a new hat!
18:39 pjcj does it work with pugs?
18:40 pjcj or is that the question?
18:40 Aankhen`` Pretending that I actually used the right syntax for substitution, is that valid Perl 6?  Would it work as expected?
18:41 luqui Aankhen``,  yeah, that looks fine
18:41 theorbtwo That is, indeed, the question.
18:42 Aankhen`` So basically any Str object gets &bar as a method?
18:42 luqui I think you need to say "Str does $foo" instead
18:42 luqui but yeah
18:43 Aankhen`` Hrm, I was going according to an e-mail from Autrijus on p6l.
18:43 luqui well it's close enough so that we know what you mean
18:43 pjcj theorbtwo: I'm not sure the new hat supports enough for pugs, but I don't have pugs source handy to be sure
18:43 Aankhen`` OK.
18:43 luqui new hat?
18:43 pjcj http://www.haskell.org/hat/
18:44 luqui ahh.
18:47 Aankhen`` Man... lotsa failed tests while compiling Parrot.
18:51 Odin-LAP has quit IRC (Read error: 104 (Connection reset by peer))
18:51 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
18:51 Odin-LAP has joined #perl6
18:51 Odin- has joined #perl6
18:58 nothingmuch has joined #perl6
18:59 * luqui runs make test on parrot
19:00 nothingmuch evening
19:00 luqui hi nm
19:00 nothingmuch what's cooking?
19:00 simcop2387 has joined #perl6
19:01 luqui My wish for the ability to run pugs
19:01 * nothingmuch discovered that prokofiev is at fault for many mediocore pizzas
19:01 luqui prokoviev made pizzas?
19:01 PerlJam luqui: Are you going to patch it too?
19:01 nothingmuch when sister plays "diabolic intentions" or whatever it's called the dough won't rise
19:01 luqui no, it's a problem with ghc
19:01 luqui haha
19:02 luqui "diabolic intentions?"  is that part of a larger piece?
19:02 default has joined #perl6
19:04 chady has joined #perl6
19:06 spd1snd has joined #perl6
19:06 default has quit IRC (Remote closed the connection)
19:08 spd1snd has quit IRC ()
19:10 theorbtwo jabbot: nopaste?
19:10 jabbot theorbtwo: nopaste is http://irc.csie.org:8888/
19:10 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
19:10 Odin-LAP has quit IRC (Read error: 104 (Connection reset by peer))
19:10 Odin-LAP has joined #perl6
19:11 Odin- has joined #perl6
19:13 Aankhen`` Uhh...
19:13 default has joined #perl6
19:13 default has left "Konversation terminated!"
19:13 Aankhen`` GHC crashed on "Compiling Pugs.Parser".
19:13 Aankhen`` What the heck?
19:13 G2 has joined #perl6
19:14 integral what error?  The fromJust one?
19:14 nothingmuch oh, i see why
19:14 nothingmuch diabolic suggestion
19:14 Aankhen`` I dunno, integral.
19:15 integral you could always try a make clean, and see if it happens again
19:15 nothingmuch not intentions
19:15 * nothingmuch confused
19:15 pasteling "Aankhen``" at 61.246.18.236 pasted "Compilation fails" (8 lines, 224B) at http://sial.org/pbot/10209
19:15 Aankhen`` I ran an `svn up` before this, then `nmake clean`, then started the process.
19:16 autrijus Aankhen``: try "nmake unoptimised" ?
19:16 Aankhen`` OK.
19:17 autrijus rehi \camels, btw.
19:17 Aankhen`` Hrm, now it seems to be proceeding.
19:17 jhorwitz greetings
19:17 Aankhen`` Although it skipped all the ones that were done... would that cause problems?
19:18 nothingmuch damnit, can't find mp3
19:19 autrijus Aankhen``: usually not. if it does, then you can always clean and remake.
19:19 Aankhen`` OK.
19:19 Khisanth autrijus: your greetings seem to get more and more abstract :)
19:19 Aankhen`` Welp, it's going through the tests now, so I guess that's alright.
19:19 autrijus Khisanth: \/\/\...
19:19 PerlJam Khisanth: I thought it was a clear "lambda camel" greeting.
19:19 Limbic_Region autrijus - http://perlmonks.org/index.pl?node_id=457952 # Parrot, Java, and Harmony (though there is a pugs reference you may be interested in)
19:20 autrijus ooh harmony.
19:20 * autrijus likes harmony. more free code to learn language implementation from
19:20 nothingmuch luqui: i'm ripping a copy for you
19:20 nothingmuch ogg ok?
19:20 nothingmuch it's an old recording, but still very nice
19:20 autrijus Limbic_Region: it all depends on a Champion really
19:21 autrijus I wonder if I can convince jserv to be the ->Parrot champion... he's this hardcore Kaffe guy who found parrot a "perfect text-book case of good VM design"
19:21 * autrijus is also in search of a Ruby/Cardinal champion
19:21 Limbic_Region I have a tendency to not voice my opinions
19:21 autrijus because they are inflammatory?
19:21 Limbic_Region no - not at all
19:22 autrijus I just thought of a iThreads design. I think I can implement it in ~10 minutes.
19:22 * autrijus sees how long it actually takes
19:22 Limbic_Region Faith without works is dead
19:22 Limbic_Region line from the Bible
19:22 Limbic_Region applying it here
19:22 autrijus work without faith is boring ;)
19:22 Limbic_Region Having an opinion without contributing in any other way is fairly meaningless
19:22 theorbtwo "Ideas are cheap, show me the code"?
19:22 theorbtwo I don't think that's so much the case.
19:23 theorbtwo Ideas are good when they make somebody else write code.
19:23 Limbic_Region theorbtwo - I know - see my Pugs advocacy post stating the exact same thing
19:23 theorbtwo If ideas weren't important, the S* docs wouldn't be so hard a dep.
19:24 Limbic_Region but if I said "I think p6 should have coroutines"
19:24 ajs "show me the code" would seem to be a bit harsh in a project on which the original designer has spent years producing some of the finest documentation I've ever seen for a language design spec ;-)
19:24 Limbic_Region that's a lot different than if I said
19:24 ajs "show your work" is fair
19:24 Limbic_Region "I feel p6 should have coroutines because then I could do X and Y and it would make Z a whole lot easier"
19:24 Limbic_Region so in part - the reason you have an opinion IS work
19:24 PerlJam Limbic_Region: "...and by the way, here's an implementation"  helps too  ;-)
19:25 Limbic_Region right
19:25 Limbic_Region I don't vote so I don't bitch about the laws
19:25 Limbic_Region actually, I tend to abstain from all political discussions
19:27 Limbic_Region I guess what I am saying is that the degree to which I voice my opinion on subject X is directly proportional to the effort I am willing to put into supporting subject X
19:29 nothingmuch http://xrl.us/f47u is a shortcut to http://nothingmuch.woobling.org/Prokofi​ev%20-%20Plays%20-%2004%20-%20Suggestio​n%20diabolique%20Op.%204.%20No.%204.mp3
19:29 chady has quit IRC (Read error: 145 (Connection timed out))
19:30 nothingmuch my sister says it's performed by prokofiev himself,
19:30 nothingmuch the recording is from the 1930s
19:35 Aankhen`` I failed 19/260 tests.
19:35 luqui nothingmuch, thanks
19:36 nothingmuch http://www.amazon.com/exec/obidos/AS​IN/B00005NUP1/qid=1116358576/sr=2-1/​ref=pd_bbs_b_2_1/102-1908120-7794521
19:36 nothingmuch perlbot: shorten
19:36 autrijus hm. so it took 15 minutes, but I'm firmly convinced it's a bad idea now :D
19:36 * autrijus goes back to 5005 threading
19:37 nothingmuch who has a shorten command?
19:37 stevan ouch
19:37 nothingmuch 5005 threading should work out OK in p6
19:37 autrijus nothingmuch: no, ithread is the default
19:37 luqui that's cool
19:37 luqui I have some rachmaninoff pieces with rachmaninoff... I don't like them that much
19:37 autrijus nothingmuch: it's just it will be too disruptive for Pugs to maintain its arena code
19:37 nothingmuch autrijus: as I see it ithreads are an aweful way to get fork with shared memory
19:37 autrijus nothingmuch: so it's best to take what GHC has and let parrot codegen handle ithread
19:38 nothingmuch and this is necessary because too much is unsafe
19:38 Aankhen`` autrijus >> Are tests supposed to fail on Win32?
19:38 nothingmuch ithreads--
19:38 nothingmuch slow, and cumbersome
19:38 autrijus Aankhen``: tests are supposed to fail a lot
19:38 autrijus Aankhen``: we are not in preflight.
19:38 Aankhen`` OK.
19:38 nothingmuch and you need to recursively share, which is STUPID!
19:39 * luqui agrees
19:39 * autrijus doesn't disagree
19:39 nothingmuch luqui: i think we have a CD performed by a rachmaninof which is ne the composer rachmaninof, buteither way I don't like rachmaninof that much =)
19:39 luqui though you do need to recursively lock, so it seems to make sense
19:39 nothingmuch autrijus: shouldn't sharing a single reference be enough?
19:39 autrijus luqui: lock is so 20th century
19:39 luqui what's used nowadays
19:39 autrijus we're in the age of STM :)
19:39 theorbtwo ithreads would be much nicer if you didn't have to manually recurse.
19:39 * luqui has *never* worked with threads
19:40 obra STM comes after STL, right?
19:40 nothingmuch my $structure = ....;
19:40 * autrijus STN's obra
19:40 nothingmuch share($structure);
19:40 nothingmuch blammo, some other thread can have at it
19:40 nothingmuch theorbtwo: semantically there's no difference, methinks, but i'll be happy either way
19:40 nothingmuch and when that is dereferenced it should work
19:40 nothingmuch s/but/so/
19:40 * theorbtwo has worked with threads enough to not want to work with threads any more then I need to.
19:40 nothingmuch ithreads would be much much nicer if they weren't soooooo sloooooow to start
19:40 autrijus nothingmuch: hey, it clones the whole arena, what do you expect
19:40 theorbtwo Indeed.
19:41 nothingmuch autrijus: COW or something
19:41 nothingmuch i'd like both threading models
19:41 theorbtwo autrijus: COW.
19:41 autrijus ...which is native in parrot :)
19:41 autrijus (which is why I don't want it in Pugs.)
19:41 luqui Rach 3 is luqui's favorite piece
19:41 nothingmuch autrijus: that's why I don't really mind ithreads like behavior in parrot based whatever, but i would like proper ways to share
19:42 nothingmuch even so, cow is still going to be somewhat costly
19:42 autrijus we are again in vehement agreement ;)
19:42 nothingmuch has to mark everything, i think
19:42 * nothingmuch would like to be able to have closure like threads
19:42 autrijus nothingmuch: you mean like forkIO {...}
19:42 nothingmuch i.e. they snapshot the parent's lexical scope, and mess with that asynchroneously
19:42 theorbtwo nothingmuch: async {} is already extant, no?
19:42 autrijus that's exactly what GHC does. Ruby too.
19:42 alice-black has left
19:42 autrijus and yes, async{} too :)
19:42 nothingmuch theorbtwo: i mean in perl5, to get that kind of work done
19:42 autrijus (because it's based on GHC's forkIO)
19:43 autrijus nothingmuch: you can do that in perl5, using (surprisingly) async{}
19:43 autrijus that is, threads::async{}
19:43 nothingmuch that's not lightweight, señor
19:43 luqui you never said anything about lightweight
19:43 autrijus use forks;
19:43 autrijus # lightweight!
19:43 theorbtwo Indeed; I wish use fork was default/builtin.
19:43 nothingmuch yeah, and you get your data serialized too =P
19:44 nothingmuch beh
19:44 theorbtwo It's like they tried as hard as possible to ignore the capabilities that sane OSes gave them.
19:44 autrijus theorbtwo: yeah. latency suffers
19:44 autrijus but arena manipulation is _so_ better.
19:44 luqui nothingmuch, that's a really short piece
19:44 theorbtwo Latency suffers when you go into swap, too.
19:44 autrijus theorbtwo: that's why I mandate 2G+ memory with dual Xeon for all my poor clients ;)
19:45 nothingmuch luqui: i'm amazed every time by how short it is
19:45 autrijus (running modperl2+ithreads in win32.)
19:45 nothingmuch it fits so much in
19:45 nothingmuch win32! eeek!
19:45 * nothingmuch needs posix for sanity
19:45 autrijus nothingmuch: I deal with win32 and aix as my day job ;)
19:45 autrijus (not exactly proud of it.)
19:45 jhorwitz aix! eeek!
19:46 autrijus heh... at least if you start running perl and ghc, you can pretend aix to be a really slow freebsd or something
19:46 autrijus not so on win32 ;)
19:47 autrijus and soon, win64. *shudder*
19:47 theorbtwo If forced to use a non-GNU OS, I'd probably end up installing much of a GNU system in my ~/bin (or local equiv).
19:47 theorbtwo ls --sort=size is just too nice.
19:48 autrijus oh, you can do that? ;)
19:48 autrijus <- alias to `ls -l | sort -n +4`
19:49 autrijus maybe I should switch to gnuls too.
19:49 * autrijus installs ports/misc/gnuls/
19:49 theorbtwo The ls manpage on freebsd gives a snippet something like that.
19:49 theorbtwo But it's just inconvient.
19:49 autrijus very true.
19:50 autrijus I think the gnu userland is wonderful... although from what I heard, I'm glad I don't know anything about glibc :)
19:50 nothingmuch things I get very sad without:
19:50 nothingmuch grep -[ABC]
19:50 nothingmuch less
19:50 nothingmuch find -delete
19:50 nothingmuch find's nicer features
19:50 nothingmuch like relative times, and regexen
19:50 theorbtwo less++
19:50 nothingmuch grep -r
19:50 theorbtwo I just recently found out about grep -r -- it's quite nice.
19:50 * nothingmuch will look at `history` to be sure
19:50 * castaway mumbles something about less not being in the path in our un*x machines
19:50 nothingmuch rsync saves me lots of time each day
19:51 nothingmuch but it's not like it has a crappy alternative on HPUX or something
19:51 nothingmuch you just have to install that
19:51 nothingmuch oh, a flexible hexdump is nice
19:51 castaway or live with it
19:51 theorbtwo castaway: Change your rc file.
19:51 nothingmuch hexdump -C is good
19:51 * castaway already did
19:52 theorbtwo Hm, od does everything I want it to do...
19:52 nothingmuch watch
19:52 svnbot6 r3354, Stevan++ | Perl::MetaModel - larger tests of actual object model, however doing this has caused me to hit a barrier in my understanding, so back to the books I go :)
19:52 castaway (cos we can install stuff on our machines, but not on customer ones, so better to get used to the "normal" tools)
19:52 nothingmuch lately also 'gvimmodule', which opens the right thing for 'gvimmodule Foo::Bar' by searching @INC
19:52 theorbtwo watch is very nice.
19:53 castaway right thing?
19:53 nothingmuch castaway: uses the find in INC routine from Test::TAP::HTMLMatrix
19:53 nothingmuch and then execs gvim with that path
19:53 autrijus yay. switched to gnuls. now to learn its 16,384 options...
19:53 nothingmuch • [syeeda:~] nothingmuch % echo $PERL5LIB  | tr ':' '\n' | wc -l
19:53 nothingmuch 79
19:54 nothingmuch see why it's good for me?
19:54 clkao *yawn*
19:54 nothingmuch oh, awk, and bash for loops are wünderbar together
19:55 theorbtwo There's only 39 of them!
19:55 nothingmuch can't remember anything else at the top of my head
19:55 theorbtwo ls --help |cut -c3-4|grep '^-'|wc -l
19:56 castaway ouch
19:56 castaway 799paths in inc?
19:56 nothingmuch uhuh
19:56 castaway 7. even
19:56 castaway gah!79
19:56 castaway why?
19:56 domm has quit IRC (Remote closed the connection)
19:57 nothingmuch for i in `find many paths -name lib` /some/path/*/lib `find ~/Perl -name lib | grep -v _darcs` `find ... | grep -v branch | grep -v tag` ....
19:58 adehohum has joined #perl6
19:58 autrijus luqui: hey
19:58 nothingmuch i have dayjob
19:58 autrijus luqui: if I declare infix:<foo>
19:58 nothingmuch and afternoon job
19:58 autrijus what prec does it have?
19:58 nothingmuch each has about 15 modules
19:58 autrijus (by default)
19:59 nothingmuch and there's ~/Perl which is another 10 moduels or so
19:59 autrijus luqui: also, sorry, I misparsed your "ahh leftmost... that only happens when $a is followed by a colon in the declaration"
20:00 nothingmuch /usr/local/src has a few svn co's
20:00 nothingmuch that's why there's 79 =)
20:01 nothingmuch shower time
20:02 nothingmuch biked 4km up hill, and back down again, and then made pizza... /me deserves it!
20:02 nothingmuch actually pizze
20:08 domm has joined #perl6
20:11 _metaperl nothingmuch, ping
20:11 _metaperl I am about to start reading your slides
20:14 * autrijus notices domm for the first time :)
20:15 jhorwitz autrijus: you see good news about mod_pugs?
20:15 autrijus jhorwitz: yes. amazing!
20:15 autrijus jhorwitz++
20:15 autrijus <- writing it into today's journal
20:15 * autrijus dreams a ModPugs::Registry
20:16 autrijus SetHandler parrot-script
20:16 * jhorwitz dreams in bytecode now.  not sure what it means...
20:16 autrijus ParrotResponseHandler ModPugs::Registry
20:16 autrijus Options +ExecCGI
20:16 autrijus something like that
20:17 jhorwitz we're not far from it.
20:17 autrijus we're not.
20:17 autrijus that's the scary part.
20:18 Limbic_Region what I find scary is the result of all the very soon to be hackathons
20:18 autrijus that too.
20:18 autrijus rumour has it that 3 more hackers will join autrijus leo and chip in the .au hackathon
20:18 Limbic_Region autrijus - considered a schedule of "upcoming events"
20:18 * jhorwitz is sad he won't be at the hackathon.  but he will be at YAPC.
20:19 zuulvin_ has quit IRC ("Leaving")
20:19 jhorwitz do we have a list of lambdacamels going to YAPC::NA?
20:19 * jhorwitz ponders putting it on the YAPC wiki
20:19 autrijus I think so, somewhere
20:19 svnbot6 r3355, iblech++ | More work on the live cd generator. It now displays an introduction to Pugs
20:19 svnbot6 r3355, iblech++ | before booting, and I've fixed some minor other things as well.
20:19 svnbot6 r3356, Stevan++ | Perl::MetaModel - its really a Perl::Meta::Class, not a Perl::Meta::MetaClass (at least I think it is, if not i can always svn revert)
20:20 adehohum hi guys, should () capture in named rules, then be accessible as $0 after the match? e.g. rule fishy { (.*)shark }; "whaleshark" ~~ m/<fishy>/; say $0.perl; gives undef
20:24 autrijus adehohum: $<fishy>.perl ?
20:25 Limbic_Region sounds fishy to me
20:26 adehohum Nope, I am still fishless
20:27 * jhorwitz heads home
20:27 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.4/20050511]")
20:27 autrijus adehohum: $/<fishy> ?
20:27 autrijus adehohum: thanks for the bug report. fixing
20:27 autrijus fixed. committing
20:28 wilx Whee.
20:28 wilx What a speed :)
20:28 adehohum whee ;-)
20:29 nothingm1ch has joined #perl6
20:29 autrijus done
20:29 autrijus try again? :)
20:29 nothingm1ch updating smoke loop for parrot etc
20:29 nothingm1ch anybody want to integrate our YAML harness to parrot's t/harness?
20:29 autrijus what's the win of this?
20:29 nothingm1ch that way we could have smoke reports for parrot too
20:29 autrijus oh, pretty smoke graph for parrot?
20:30 nothingm1ch yup
20:30 autrijus probably not me. but that'd be nice :)
20:30 Limbic_Region nothingm1ch - you are familiar with the performance graphs of Parrot right?
20:30 Limbic_Region I worked with matt on them
20:30 nothingm1ch no
20:30 nothingm1ch i have never ever tried parrot.
20:30 Limbic_Region if a particular test is broken - it just shows a gap
20:30 nothingm1ch don't know what it's about =)
20:30 Limbic_Region let me see if I can find the link
20:30 svnbot6 r3357, autrijus++ | * initial check in of user-defined symbolic unary (does not work yet)
20:30 svnbot6 r3357, autrijus++ | * `$<foo>` now actually means `$/<foo>`.
20:30 svnbot6 r3357, autrijus++ | * fix named subrule handling in run_pge.pir
20:31 Limbic_Region http://www.sidhe.org/~timeparrot/graphs/
20:31 Limbic_Region fwiw - I haven't worked on that or anything else parrot related since late November
20:32 * Limbic_Region is off
20:32 Limbic_Region has quit IRC ("hometime")
20:32 nothingm1ch ah, that's more of a benchmark
20:33 nothingm1ch btw, i can't compile haddock
20:33 adehohum that's fishy too
20:33 adehohum sorry
20:34 autrijus adehohum: have you tested that fishiness works?
20:34 adehohum my ancient G4 takes a while to rebuild Parser.hs...
20:34 autrijus "make unoptimised"
20:34 adehohum yeah... bit late now
20:39 Aankhen`` has quit IRC ("Sleep [Time wasted online: 14hrs 11mins 47secs]")
20:49 mj41 has joined #perl6
20:50 nothingm1ch does anyone mind making run_smoke.pl inline the css?
20:50 autrijus please do
20:50 nothingm1ch if not i'll commit after I see that it works OK
20:51 osfameron has joined #perl6
20:52 vcv-- has joined #perl6
20:54 autrijus pugs> sub postfix:<!> { $_ ?? $_ * &?SUB($_-1) :: 1  }
20:54 autrijus undef
20:54 autrijus pugs> 10!
20:54 autrijus 3628800
20:55 autrijus works.
20:55 clkao ebwahahahah
20:55 clkao overload now works?
20:55 clkao mad autrijus++
20:55 autrijus :)
20:56 _metaperl what does the :<> do
20:56 clkao so is my tests passing?
20:56 _metaperl ":<!>" --- that part
20:57 theorbtwo MP: Mostly just syntax, I think.
20:58 Forth_ has quit IRC (Read error: 110 (Connection timed out))
20:58 * theorbtwo wonders if there's a purticular reason autrijus used the slow defintion of !.
20:58 nothingm1ch ok, haddock stituation fixed
20:59 autrijus theorbtwo: easiest to write
20:59 stevan _metaperl: <> are just brackets (i think)
20:59 vcv-- :<!> defines the operator
20:59 G2 has quit IRC ("oops")
20:59 svnbot6 r3358, autrijus++ | * user-defined symbolic post- and prefix unary functions.
20:59 theorbtwo sub postfix:<!> { $_ ?? [*] 1..$_ :: 1 }
21:00 autrijus theorbtwo: I forgot I had [*].
21:00 stevan what no infix :P
21:00 _metaperl oh, so he defined the operator "!"
21:00 stevan _metaperl: yes
21:00 _metaperl so he could do 7!
21:00 _metaperl so the colon is not just for adverbial blocks
21:01 autrijus stevan: I don't know what the default prec should be.
21:01 stevan _metaperl: I think the colon is more part of the "postfix" part then it is of the <> part
21:01 _metaperl but also adjective descriptors I guess you could call them
21:01 stevan prec?
21:01 stevan precedence
21:01 stevan autrijus: when has something "unknown" stopped you before :)
21:02 _metaperl so how far along are hyperoperators?
21:04 stevan autrijus: any good meta-class papers you can recommend? I am in need of some new literature on the subject
21:04 nothingm1ch I'm thinking of checking in my monolithic script
21:04 Akiyuki has joined #perl6
21:04 Akiyuki Is there a way to transfer someone to another page using perl? Like Location.href..
21:04 wolverian http://www.zegeniestudios.net/ldc/ # nice page.
21:04 wolverian (linux distribution chooser. pretty, at least.)
21:05 obra Akiyuki: you want #perl, not #perl6
21:05 simcop2387-vnc has joined #perl6
21:05 adehohum autrijus: I'm having build problems so I will check out your capturing fix tomorrow
21:05 Akiyuki :(
21:06 x86 whoa, you cant 'chomp $_' yet with pugs?
21:06 Akiyuki has left
21:06 ninereasons right, x86.  it's buggy in some contexts.
21:06 x86 wow
21:07 x86 but you can 'chomp $somevar' ?
21:07 osfameron shouldn't we kill chomp already?
21:07 x86 just not $_ ?
21:07 osfameron or at least turn it into a function?
21:07 osfameron you have "is chomped" on filehandles anyway
21:08 autrijus hm? how is it buggy?
21:08 ninereasons the issue is, x86, that in some contexts, $_ is still read-only.  
21:09 autrijus ahh.
21:09 ninereasons or was the last time I checked, autrijus
21:09 autrijus well then it's the same with perl5.
21:09 autrijus $ perl -e 'for ("\n") {chomp}'
21:09 autrijus Modification of a read-only value attempted at -e line 1.
21:10 ninereasons it's unexpected when reading lines from a file though, that $_ can't be chomped.
21:10 svnbot6 r3359, autrijus++ | * unicode too.
21:10 svnbot6 r3360, autrijus++ | * oops, left debug statements in
21:10 wilx has quit IRC (Read error: 104 (Connection reset by peer))
21:11 autrijus pugs> sub prefix:<£U> (@_) { [+] *@_ };
21:11 autrijus undef
21:11 autrijus pugs> £U [1..1000]
21:11 autrijus 500500
21:11 autrijus :D
21:11 ninereasons neato
21:12 nothingm1ch http://nothingmuch.woobling.o​rg/pugs_test_status/haddock/
21:12 ninereasons do infix and suffix work, also, autrijus ?
21:12 theorbtwo No infix yet?
21:13 autrijus ninereasons: postfix work
21:14 autrijus theorbtwo: what is the default assoc for infix?
21:14 Shachaf has joined #perl6
21:14 autrijus if you know the answer I'll do it right away ;)
21:14 ninereasons very nice!
21:14 kolibrie has quit IRC ("leaving")
21:15 theorbtwo Require an explicit associativity for now, and put the defaulting in when we find out which it is?
21:15 autrijus I had not yet parsed Precidence ;)
21:15 autrijus precedence, even
21:15 autrijus "tighter" etc
21:15 ninereasons postfix postfix postfix - I've made that s/post/suf/ mumble mistake repeatedly
21:15 * theorbtwo wonders if you can define an infix ø and get [ø] for free.
21:16 autrijus what does Èû do?
21:16 autrijus (and yes, eventually)
21:16 theorbtwo Donno, it was just an example.
21:16 autrijus I'll put it to the additive layer for now
21:17 x86 kill it would be fine by me, people should learn regular expressions anyway
21:17 x86 (chomp)
21:17 nothingm1ch smoke has hs-plugins too now
21:18 theorbtwo Cool, NM!
21:18 iblech has joined #perl6
21:18 nothingm1ch err, not yet it doesn't
21:18 nothingm1ch how do i tell makefile.pl the path to it?
21:18 adehohum autrijus: built at last. $0 is still undef after the match but I can do $/<fishy>[0] to get the phrase I want that was captured in the named rule. is that what is expected?
21:18 nothingm1ch oh, i see
21:19 autrijus adehohum: yes.
21:19 autrijus adehohum: named doesn't count in positional
21:19 autrijus also $<fishy>[0] too
21:19 autrijus have you tested that?
21:19 adehohum I have now, that works too
21:19 nothingm1ch ok, now it does
21:19 theorbtwo Oh, good.
21:19 iblech autrijus++: Yay! :)) But: sub prefix:<€>(Num $x) {...} doesn't create a "€" prefix operator (but when s/€/some-ordinary-char/ it works)
21:20 nothingm1ch autrijus: is embedding perl5 a good idea?
21:20 * theorbtwo was half-way through answering your question, then got distracted.
21:20 autrijus iblech: have you tried latest?
21:20 autrijus r3359 fixed that
21:20 iblech a sec
21:22 adehohum cheers autrijus, goodnight all
21:22 adehohum has quit IRC ("Leaving")
21:22 svnbot6 r3361, Stevan++ | Perl::MetaModel - some method sketches,.. nothing like a hot shower to clear out the meta-meta-cobwebs and get the brain moving again
21:22 iblech r3361 still doesn't work -- see http://sial.org/pbot/10211 to reproduce
21:22 cjn has joined #perl6
21:23 autrijus fixed.
21:23 autrijus r3362
21:23 autrijus did I mention this is very sick? :)
21:24 autrijus but very slick, too
21:24 theorbtwo Sick how?
21:24 autrijus theorbtwo: let me show you the sickness
21:24 autrijus pugs> sub prefix:<((> (Num $x) { $x + 9}
21:24 autrijus undef
21:24 autrijus pugs> (((1)
21:24 autrijus 10
21:24 theorbtwo Oh.
21:24 iblech autrijus++ # yay! works now :)
21:24 theorbtwo Yeah, that's pretty sick.
21:25 autrijus talk about obfu. :)
21:25 wolverian sub prefix:<sub> { ... }
21:25 ninereasons heh
21:26 wolverian hmm. sub infix:<;>? :)
21:26 wolverian does the compiler have any hope there of understanding the code?
21:27 theorbtwo wolverian, at a guess...
21:27 iblech the compiler will understand the code, but humans will not :p
21:27 svnbot6 r3362, autrijus++ | * iblech reported that € doesn't work for some reason. fixed.
21:27 svnbot6 r3363, iblech++ | Added test involving the (should not happen) death of a bare block if it
21:27 svnbot6 r3363, iblech++ | contains $_.
21:27 theorbtwo It does, but you can no longer access the syntax ;, meaning you can no longer use things that are not proper expressions.
21:27 wolverian svnbot6-- # utf doesn't work?
21:27 theorbtwo Ah, good, that's not just me.
21:28 wolverian is this a pugs problem (it does run on pugs, right?) or something else?
21:28 nothingm1ch wolverian: there is no other impl of perl 6 =)
21:28 iblech wolverian: No, (svn log)--, as svnbot6 only pipes svn log's output to IRC. (I think.)
21:29 wolverian nothingm1ch: right; I just wasn't sure if it was written in perl6.
21:29 wolverian iblech: hmm. svn writes non-utf logs? can't that be configured?
21:29 theorbtwo I can't seem to input utf8 to pugs via readline.  This may be a local problem of mine, though...
21:29 iblech wolverian: No idea.
21:30 iblech theorbtwo: Works here fine ($LC_ALL=de_DE.utf8)
21:30 theorbtwo LC_ALL is not set for me.
21:30 theorbtwo I should possibly change that.
21:30 wolverian "The Subversion repository stores log messages in UTF8, and assumes that your log message is written using your operating system's native locale."
21:30 autrijus pugs> sub prefix:<say"> { [*] (1..$_) }
21:30 autrijus pugs> sub postfix:<!"> { say $_ }
21:30 autrijus pugs> say"10!";
21:30 autrijus 3628800
21:31 wolverian autrijus: sub prefix:{'say "'} # works?
21:31 Odin-LAP has quit IRC (Read error: 104 (Connection reset by peer))
21:31 sbkhh has joined #perl6
21:31 Odin-LAP has joined #perl6
21:32 ninereasons what fun :)
21:32 nothingm1ch is there anything interesting to do with parrot smoking?
21:32 Odin- has quit IRC (Read error: 104 (Connection reset by peer))
21:32 autrijus wolverian: the space throws off parsing
21:32 svnbot6 r3364, nothingmuch++ | Smoke script
21:32 wolverian autrijus: is that a feature or a bug? :)
21:33 autrijus wolverian: it's a neccessity ;)
21:33 autrijus imagine
21:33 autrijus sub infix:< >
21:34 autrijus ;)
21:34 autrijus or, even better!
21:34 autrijus sub infix:<>
21:34 autrijus if you want this sort of thing, use a macro
21:35 wolverian right. :) thanks.
21:35 autrijus np
21:38 theorbtwo So macro 'else if' {'elsif'} will Just Work?
21:38 theorbtwo BTW: In ~/.inputrc "set convert-meta off".
21:38 wolverian what does that do?
21:39 autrijus theorbtwo: yes, that's the idea.
21:40 theorbtwo wolverian: The inputrc thing keeps it from trying to interpret ord('x') & 0x80 as ESC x.
21:41 wolverian is that bad? :)
21:41 theorbtwo (Where it == readline.)
21:42 autrijus breakfast. bbiab :)
21:43 jhorwitz has joined #perl6
21:45 iblech has quit IRC ("gonna sleep, cu tomorrow &")
21:46 mj41 has quit IRC ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org")
22:31 theorbtwo hm, it looks like the Ok bit of mkMatchOk is meaningless?
22:31 svnbot6 r3365, nothingmuch++ | Small fix to smoke loop and inline CSS
22:31 svnbot6 r3365, nothingmuch++ | requires newest Test::TAP::HTMLMatrix, which supports inlined css properly
22:31 theorbtwo Er, nevermind.
22:32 * mugwump jumps up and down like a monkey on crack
22:42 iblechbot has quit IRC (Read error: 104 (Connection reset by peer))
22:42 * nothingm1ch summons castaway to ruffle mugwump
22:42 nothingm1ch scheiße
22:43 nothingm1ch sorry for committing crap
22:44 x86 better be!
22:44 x86 :P
22:45 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.4/20050511]")
22:46 nothingm1ch http://nothingmuch.woobling.org/pugs_test_status/ is back
22:46 nothingm1ch meaner than before
22:48 vcv-- has quit IRC (Read error: 110 (Connection timed out))
22:48 svnbot6 r3366, nothingmuch++ | remove leftover Dumper from test graph script
22:57 nothingm1ch has quit IRC ()
23:09 revdiablo I wonder what it would take (no pun intended) to get gather/take working
23:10 mugwump lots of scripts, for a start
23:10 mugwump tests even
23:10 revdiablo well, there's one test that's :todo<feature>
23:19 revdiablo I suppose I could play with Perl6::Gather, and work up a few more tests to add
23:19 svnbot6 r3367, mugwump++ | Add test script for set operations
23:40 revdiablo Perl6::Gather doesn't appear to be working lazily. understandable, but that kind of loses a lot of the fun of it. :-/
23:42 autrijus journal up :)
23:42 autrijus revdiablo: hook it up with Coro.pm?
23:42 * autrijus needs to sleep a bit
23:42 autrijus *wave* &
23:42 revdiablo ciao
23:43 nothingmuch has quit IRC ()
23:44 perdix has left "closing this world"
23:44 nothingmuch has joined #perl6
23:46 perdix has joined #perl6
23:47 vcv-- has joined #perl6
23:47 Boots has joined #perl6
23:47 Boots hello?
23:47 vcv-- Hello
23:48 Boots A while back Rob Kinyon was working on getting Pugs support on Cygwin.  The email thread ends with him asking if he should commit his stuff.  Does anyone know the resolution of that?
23:52 stevan Boots: Rob still has not gotten things to compile
23:52 stevan it is suggested to just use Win32 instead
23:52 Boots thanks
23:55 Boots On a side note, I recall that someone was working on a kwid <-> POD converter.  I would like to start writing the summaries in kwid but would prefer to continue providing them to the website as POD.  Poking on the internet seems to indicate that kwid has stalled a little.  Does anyone know anything more specific?
23:59 xinming has joined #perl6

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

Perl 6 | Reference Documentation | Rakudo