Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-05-16

Perl 6 | Reference Documentation | Rakudo

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

All times shown according to UTC.

Time Nick Message
00:01 kelan has joined #perl6
00:02 eric256__ is there an array index var for 'for' loops?
00:03 kelan like getting the element and index at once?
00:04 kelan for @arr.kv -> $i, $ele { ... }
00:04 Darren_Duncan no
00:04 Darren_Duncan .kv is for hashes
00:04 Darren_Duncan on the other hand ...
00:05 kelan i'm pretty sure i've seen .kv used on the p6l with arrays too, for this purpose
00:05 Darren_Duncan maybe something like .iv could be used, index+value
00:05 eric256__ that would be interesting...
00:06 Darren_Duncan while an index is functionally like a key, they are different
00:06 kelan how?
00:06 kelan arrays are keyed by integers
00:07 Darren_Duncan but are those named 'keys'?
00:08 Darren_Duncan if we're going to do that, then arrays might as well have .keys and .values and .pairs too, to go with the .kv
00:08 kelan well why not?
00:08 Darren_Duncan put it to p6l and see what they say
00:09 Darren_Duncan if that's done, then simply saying "for @foo ->" is short-hand for "for @foo.values ->"
00:10 Darren_Duncan but then we should have a valid "for %bar ->" that shortens to something useful
00:11 hlen has joined #perl6
00:12 Darren_Duncan I'll see to making a quick p6l posting now ...
00:14 kelan rods s29 draft has kv for arrays
00:15 kelan http://www.rodadams.net/Pe​rl/S29.html#perl6::arrays
00:15 Darren_Duncan looking
00:18 kelan also, here is a fairly recent message from p6l which references: http://www.mail-archive.com/perl6​-language@perl.org/msg18843.html
00:18 kelan and see rod's reply to that message as well
00:18 Darren_Duncan okay, it appears that I don't need to write to p6l after all
00:19 tomyan how can you tell what the titles for synopses 14..28 will be?
00:19 kelan chapter titles from the camel, maybe?
00:20 kelan i've never read the camel, so i'm not sure where larry gets the titles
00:20 tomyan alas my camel has died
00:20 Darren_Duncan I have to leave comp for awhile ... anyway, it looks like the hash/array function parity thing is resolved officially
00:21 eric256__ and it is implemented in Pugs already
00:22 Juerd Goddamn pain keeps me awake
00:22 eric256__ has left
00:23 tomyan does anyone know if there is another synopsis due on introspection, or is the bit at the end of the objects one it?
00:23 tomyan mainly interested if there is an interface to change a class (add remove methods etc.)
00:23 svnbot6 r3273, eric256++ | Making more use of class inheritance! planning for a grand future ;)
00:25 kelan i believe there will be, but i don't know any of the details, or even if the details have been made known
00:25 * Juerd gonna try again
00:25 Juerd afk
00:26 kelan larry has said that there will be very good introspection capabilities
00:31 tomyan has left "Kopete 0.9.2 : http://kopete.kde.org"
00:48 mugwump kelan: using .kv for array indices is problematic with ordered hashes
00:48 svnbot6 r3274, chromatic++ | Improve test coverage of Test::Builder::Test::Fail.
00:48 svnbot6 r3274, chromatic++ | Improve wording of new() test description in T::B::T::Pass test.
00:48 kelan why?
00:49 mugwump well, which does it return?  the index or the key?
00:50 kelan hmm
00:51 kelan i guess i can see how it might cause confusion, but it seems farfetched
00:52 kelan new perl programmers probably won't be using ordered hashes, so they won't see the cross-over concept from using .kv with arrays
00:52 kelan is there currently a way to get the index of a value from an ordered hash?
00:58 mugwump is a for() loop too absurd?  :)
00:58 mugwump for (my $i=0; $i<@foo; $i++) { } ?
01:00 kelan some people, including myself i admit, think its not particularly perlish
01:00 arcady that's not valid perl6 anyway
01:00 arcady for 0.. (@foo - 1) -> $i { ... }
01:01 mugwump thanks arcady
01:01 arcady there's probably a nicer way to write that
01:01 mugwump that's pretty nice actually.  now my rhetorical question doesn't even have an obvious answer, I like it
01:06 f0rth has joined #perl6
01:16 castaway_ has joined #perl6
01:16 mugwump What about, .iv, .ikv, and .kv ?
01:19 kelan has quit IRC ("!")
01:24 Odin-LAP has joined #perl6
01:27 castaway has quit IRC (Read error: 110 (Connection timed out))
01:28 theorbtwo has quit IRC (Read error: 110 (Connection timed out))
02:12 xern has quit IRC ("Lost terminal")
02:13 svnbot6 r3275, chromatic++ | Finish testing T::B::T::Skip.
02:13 svnbot6 r3275, chromatic++ | Add TODO test for *WALK[:super].
02:13 svnbot6 r3275, chromatic++ | Declare invocant in Test::Builder::Test::WithReason::status.
02:13 svnbot6 r3275, chromatic++ | Fix description typo in T::B::T::Pass test.
02:13 svnbot6 r3276, chromatic++ | Finish tests for Test::Builder::Test::TODO.
02:13 svnbot6 r3276, chromatic++ | Mark Test::Builder::Test::WithReason::status() tests as TODO.
02:26 skew has quit IRC (Read error: 110 (Connection timed out))
02:29 stevan mugwump: ping
02:29 mugwump pong
02:30 stevan howdy :)
02:30 stevan I been soaking in the meta-meta classes
02:30 stevan reading a lot about them
02:30 mugwump sure... I've got a large change to meta_meta_classes.pod about to commit
02:30 stevan nice
02:30 stevan I was just going to ask you too look over them :)
02:31 mugwump fundamentally could be summarised as: Classes aren't Objects, MetaClasses aren't Classes and MetaMetaClasses aren't MetaClasses ;)
02:31 mugwump However, they all *look* like Objects
02:31 stevan I was using the term "object" for lack of a better one
02:31 mugwump I understand
02:32 stevan the nomenclature does get a little twisty at times I am sure i messed something up
02:32 * stevan eagerly awaits the commital
02:33 mugwump where "about to commit" is 5-10 mins away
02:33 stevan ok
02:33 stevan well in the meantime I was going to ditch the non-OO modules
02:33 stevan in favor of re-writing them from sractch
02:34 stevan you okay with that?
02:35 mugwump may they rest in peace in revision control
02:35 stevan :)
02:39 stevan mugwump: ok, its gone
02:39 svnbot6 r3277, Stevan++ | Test::Builder - making a Test::Builder::Plan attribute private
02:39 svnbot6 r3278, Stevan++ | Perl::MetaModel - properties and methods are not sets, they should be hashes
02:39 svnbot6 r3279, Stevan++ | Perl::MetaModel - removing all the old code in favor of starting fresh with OO
02:39 stevan I am going afk for a bit, but will check back later
02:43 mugwump ok
02:51 zuulvin_ has quit IRC (Read error: 145 (Connection timed out))
02:58 zuulvin_ has joined #perl6
03:13 meppl has quit IRC (Remote closed the connection)
03:16 Darren_Duncan another missing Pugs feature that I've found is 'is constant'
03:16 Darren_Duncan eg, "my Str $foo is constant = 'abc';"
03:29 mugwump hmm, that was a long 5-10 minutes
03:29 svnbot6 r3280, mugwump++ | Decouple the MetaModel
03:46 stevan mugwump: ping
03:48 mugwump hi
03:48 stevan reading the changes
03:48 stevan I actually think that the first like 100 lines should be in a document of their own
03:48 stevan I want to incorporate the corrections in nomenclature
03:48 stevan and consistency
03:49 stevan but part of my whole idea was to introduce it as simply as possible
03:49 stevan I think the points and ideas you are making the that section
03:49 stevan are good
03:49 stevan but a base model of metaclasses needs to be understood
03:50 stevan by the reader first
03:50 stevan I know for me, getting my head around the "what is a class, wait its a what?" stuff
03:50 stevan was what i needed to get
03:50 mugwump ok.  I guess I should have moved most of that prose down into the section where you describe creating it with code
03:51 mugwump ie, after that line =for EDITING :)
03:51 stevan hmm
03:51 stevan yeah that would work too
03:51 stevan ok I will edit this a bit
03:51 stevan I like what you wrote BTW
03:51 mugwump thanks.  I enjoyed writing it ;)
03:51 stevan this stuff is fun :)
03:51 stevan sick, and twisted
03:51 stevan but fun
03:52 stevan I basically just want to be sure people who read this "get" it early on
03:52 stevan then we can dump the heavier stuff on them :)
03:52 stevan also ,.. you changed the diagram
03:52 stevan which is fine,
03:52 stevan but do you still see it as one set with many nested subsets
03:53 stevan or do you disagree with that?
03:53 mugwump yes, because a Class is not an Object, it's a MetaObject.  They both .does("Object"), but not .isa("Object")
03:54 stevan ok
03:54 stevan the book that I was reading portrayed it as nested sets
03:54 stevan but they made an assumption
03:54 stevan that there was a primative object (which was just the data dictionary)
03:55 stevan however you are correct this does not work with roles as well
03:55 mugwump I think that's bottom-up, we're doing it top-down.
03:55 stevan yes
03:56 stevan did you read the other doc?
03:56 stevan build your own object model?
03:56 stevan I sketched that out this afternoon
03:57 stevan comments, criticisms are much appreciated
03:58 mugwump The application of metaclasses in that document is a new idea to me.
03:58 stevan ok
03:59 stevan this is all coming from this book :)
03:59 stevan they use the ThreadSafe idea as an example many times
03:59 stevan actually do you have an reading recomendations for this stuff?
04:00 mugwump There's a nice object section in TaPL
04:00 stevan ok
04:00 stevan I have been meaning to order that one
04:02 mugwump however, mostly I am just coming from experience with T2 and the brainstorming sessions I had with autrijus in April
04:03 mugwump ie, I haven't read much formal literature on the subject
04:03 mugwump so seeing that create_your_own_object_model.pod was very interesting to me
04:03 stevan well does it make sense?
04:03 stevan (in some twisted way)
04:04 stevan much of the focus of this metaclass book is on using metaclasses to help build class libraries
04:04 stevan one of the guys built large class libs for IBM
04:05 elmex has quit IRC (Read error: 113 (No route to host))
04:05 vitaminmoo has quit IRC ("rebooting for realtime kernel")
04:06 mugwump The document is a good mission statement.  In time no doubt it will be filled with tested code
04:24 eric256__ has joined #perl6
04:28 cognominal hi, what Haskell call a class is encompassed in Perl6 role? do I got that right?
04:28 elmex has joined #perl6
04:30 mugwump yes.  Or a smalltalk "Trait"
04:30 svnbot6 r3281, chromatic++ | Write test footer at end of Test::Builder object's life.
04:30 cognominal they both define  generic signatures for a set of members that can be used in a haskell-type, or perl6-class
04:30 Darren_Duncan I noticed a code style choice in Test.pm that looked wrong ...
04:30 Darren_Duncan generally, containers with all uppercase names are constants
04:31 Darren_Duncan however, they are being assigned to at run-time inside methods
04:31 Darren_Duncan these 'global variables' should be lowercased
04:31 Darren_Duncan I can do that, unless there are objections
04:32 mugwump examples?
04:32 * mugwump looks
04:32 Darren_Duncan my $NUM_OF_TESTS_RUN
04:32 Darren_Duncan that's not a constant, but its style makes it look like one
04:33 Darren_Duncan all of the Test.pm globals are uppercased
04:34 mugwump maybe that's because when that was written there was no such thing as scope
04:34 mugwump go ahead and make the change, I say
04:34 Darren_Duncan regardless, the values are being changed inside methods
04:34 Darren_Duncan will do
04:45 elmex has quit IRC ("leaving")
04:50 Darren_Duncan updated Test.pm is committed
04:51 mugwump does it work?  :)
04:51 svnbot6 r3282, Darren_Duncan++ | updated ext/Test/lib/Test.pm - folded all global variable names into lowercase; they were uppercase and bad style, looking like constants; only ALWAYS_CALLER was unchanged, since it was used as a constant
04:51 Darren_Duncan I ran its own test suite, and that gave the same results as the old version
04:51 Darren_Duncan the change was fairly simple anyway
04:51 Darren_Duncan I also made sure there weren't already lowercased versions of the same vars
04:52 Darren_Duncan note that its #1 test gave 1/77 failed, but so did the old version
04:54 Darren_Duncan will run whole Pugs suite now just to be sure
05:01 Darren_Duncan I noticed a problem; what do you think would cause this ...
05:01 Darren_Duncan when doing 'make': make[1]: *** No rule to make target `lib/Test', needed by `pm_to_blib'.  Stop.
05:01 Darren_Duncan next line is: make: *** [subdirs] Error 2
05:02 Darren_Duncan this doesn't seem to be related to my change, and occurs whether the old or new module is in place
05:12 * mugwump shrugs and wanders off home
05:13 eric256__ has left
05:14 Darren_Duncan I'm also off for the day
05:16 Darren_Duncan has left
05:31 Southen has joined #perl6
05:51 simcop2387 has quit IRC (Remote closed the connection)
05:58 sekimura has joined #perl6
06:01 Shachaf has quit IRC ("So long, and thanks for all the fish!")
06:12 simcop2387-vnc has quit IRC (Read error: 110 (Connection timed out))
06:14 chady_ is now known as chady
06:19 putter has joined #perl6
06:19 svnbot6 r3283, putter++ | Updated x86_64 section of README.
06:22 putter fyi, on amd64, with a current pugs and a day-or-few old cvs snapshot of ghc, both the gc crashes and rules failures are gone.  :)  kudos to the ghc folks.
06:22 putter 'night
06:23 putter has quit IRC (Client Quit)
06:24 SM_ax has joined #perl6
06:26 saorge has quit IRC ("Leaving")
06:37 jiing has quit IRC ("Lost terminal")
06:39 iblechbot has joined #perl6
06:41 x86_ has joined #perl6
06:42 x86_ heya guys
06:42 revdiablo boo
06:42 x86_ hrmmm
06:43 x86_ it's just a perl5 module for the time being?
06:43 revdiablo no
06:43 revdiablo it's a haskell program
06:43 x86_ there is a stand-alone perl6 interpreter?
06:43 revdiablo yes, you compile it to a native binary
06:43 x86_ i went to download and it took me to a CPAN site for Perl6::Pugs
06:44 x86_ which i would assume to be a module?
06:44 revdiablo $ file $(which pugs)
06:44 revdiablo /usr/bin/pugs: ELF 32-bit LSB executable
06:44 x86_ hmm
06:44 revdiablo not a module, just a distribution on CPAN
06:44 integral it's a normal CPAN distribution, but so is perl5
06:44 x86_ so i can install it from cpan then?
06:45 revdiablo I used dh_make_perl at one point, and it worked. nowadays I build it from svn every couple of days, haven't tried the CPAN distribution lately.
06:45 x86_ perl -MCPAN -eshell i mean ;)
06:45 x86_ w00t? they use subversion?
06:45 revdiablo http://svn.openfoundry.org/pugs/
06:46 x86_ nice
06:46 x86_ it needs ghc i guess
06:46 x86_ apt-get is sweet on OS X :P
06:46 x86_ Setting up ghc (6.2-2) ...
06:47 revdiablo afaik it needs a newer ghc than 6.2
06:47 revdiablo I'm using ghc-cvs in debian
06:47 integral you have to use the dmg from www.haskell.org/ghc
06:48 x86_ cool
06:49 x86_ err
06:49 x86_ it's not a dmg, just a pkg
06:49 x86_ it'll work all the same ;P
06:50 x86_ btw, this says it's for panther, but i'll be upgrading to tiger soon, you think it'll break things?
06:50 ingy seen autrijus
06:50 jabbot ingy: autrijus was seen 13 hours 8 minutes 8 seconds ago
07:09 DapperDan has joined #perl6
07:13 jiing has joined #perl6
07:14 larsen has joined #perl6
07:19 DapperDan has quit IRC ()
07:21 integral x86_: afaik the only thing you have to do on tiger is gcc_select 3.3
07:21 svnbot6 r3284, autrijus++ | * tidy up the sample perl 6 code a bit.
07:23 x86_ hmm ok
07:24 x86_ man, pugs takes a minute to build eh?
07:26 integral yep :-)     Although I think I managed 10 minutes once
07:27 vitaminmoo has joined #perl6
07:29 x86_ whoa
07:29 x86_ on a PPC?
07:29 integral yeah.   I don't have much RAM, it's only about 3m40 of CPU time
07:31 x86_ i got 1.25GB of ram
07:31 x86_ it's just an iMac though with a 1.5GHz proc
07:32 integral oh, I was unoptimized on a 1GHz
07:32 * integral keeps forgetting about the optimizer
07:32 Southen[a] has joined #perl6
07:32 x86_ ah
07:32 revdiablo heh yeah, optimized builds take quite a bit longer
07:32 x86_ im doing optimized
07:33 x86_ w00t!
07:33 x86_ done :P
07:34 x86_ took about 15 minutes
07:34 x86_ optimized
07:34 revdiablo yay
07:34 revdiablo pugs -e 'say "Hello, Perl 6"'
07:34 x86_ heh making install now
07:34 revdiablo ...
07:34 x86_ i did make and then i tried to issue a quick 'pugs' to see what it'd do... of course it was like 'pugs: command not found' and i'm like WTF!?!?$!
07:35 x86_ then i realized i forgot to make install ;)
07:35 x86_ im so tired and disoriented because im sick
07:35 integral ./pugs :-)
07:35 x86_ but i cant sleep
07:35 * x86_ orgasms at the l33t ascii art upon just issuing the 'pugs' command with no arguments
07:36 revdiablo figlet++
07:36 x86_ ack! how do i get out of the CLI?
07:36 integral hmm, we need a p6 version!
07:36 integral :q
07:36 revdiablo or EOF
07:36 revdiablo it's ^D on loonix, dunno if it's the same in macland
07:36 * x86_ wonders why 'exit' doesnt work, as that's a valid perl command
07:37 Alias_ with a sledgehammer
07:37 x86_ revdiablo: most of the time
07:37 x86_ # pugs -e 'print "hello world\n"';
07:37 x86_ hello world
07:37 x86_ reet
07:37 integral hmm, anyone remember the apt-get command to get ghc6 from experimental?
07:37 x86_ integral: with fink?
07:37 integral debian
07:37 revdiablo x86_: use 'say', so you don't have to put the newline
07:38 revdiablo x86_: plus, say is shorter than print
07:38 x86_ i like format strings ;)
07:38 x86_ err
07:38 x86_ wtf ever they're called ;)
07:38 x86_ not exactly format strings i gues
07:38 x86_ guess
07:39 x86_ geez, im really messed up
07:39 x86_ wish i could sleep
07:43 x86_ check this out guys
07:43 x86_ # pugs -e 'say "yes" if "hi" ~~ /bye/ or say "no"'
07:43 x86_ no
07:43 x86_ yes
07:43 x86_ did i cornfuse it?
07:44 osfameron has joined #perl6
07:45 arcady perl -e 'print "yes\n" if "hi" =~ /bye/ or print "no\n"'
07:45 arcady no
07:45 arcady yes
07:45 arcady in other words, you've confused yourself
07:46 arcady say "yes if (("hi" ~~ /bye/) or (say "no"))
07:46 arcady is how it's parsed
07:49 Southen has quit IRC (Connection timed out)
07:52 vitaminmoo has quit IRC (Remote closed the connection)
07:54 Aankhen`` has joined #perl6
08:08 scook0 has joined #perl6
08:13 vitaminmoo has joined #perl6
08:13 scook0 has quit IRC (Read error: 54 (Connection reset by peer))
08:13 scook0 has joined #perl6
08:26 umbop has joined #perl6
08:45 wolverian Juerd: ah, Larry seems to be saying that private methods really _are_ private.
08:49 Alias_ oh thank god
08:49 Alias_ We didn't need a special notation to get fake private things
08:50 wolverian there'll be ways to get at the private parts of any object, trust me :)
08:50 Alias_ yes, but it should be fucking hard
08:50 wolverian just not as huffmanised.
09:10 Southen[a] has quit IRC (Client Quit)
09:20 Southen has joined #perl6
09:20 Aankh|Clone has joined #perl6
09:21 Juerd wolverian: S12 very explicitly says something else.
09:22 Juerd wolverian: To access a "private" method you have to use "special" syntax: $object.:method
09:22 Juerd wolverian: Which makes .: an infix thing like ., and creates an expectation of $_-defaulting for prefix .:
09:23 wolverian Juerd: I assume S12 means that you use that when the object trusts you (the caller).
09:23 Juerd It says nor indicates that.
09:23 Juerd Why would you assume this?
09:23 wolverian from Larry's post. I agree that S12 is unclear.
09:23 wolverian (or rather, disagrees with Larry.)
09:25 Juerd I think I'm not going to mix in the whole private/public thing any more than I have.
09:26 Juerd I disagree so strongly that it's blurring my overview, and I'm almost sure someone will eventually come up with a real solution to end the twisted maze of inconsistency.
09:26 wolverian I don't have a strong opinion either way. I just disagree with the inconsistency between S12 and Larry. :)
09:26 Juerd I hate how Damian aligns ./ with .:
09:27 wolverian why?
09:27 Juerd I was very specific about ./ being prefix only, while .: is pre and infix, making it *defaulting* to something when prefix
09:27 Juerd And this defaulting is to self, while Damian himsef very clearly illustrated how that's unexpected
09:27 Juerd So either infix .: must go (which I think is good, because it's private), or it must be ./: to call on self.
09:28 Alias_ aaah... design by committee, you just gotta love it
09:28 Juerd Alias_: It usually works out. At this point, it doesn't.
09:29 Alias_ The day that we got $scalar is Hash, and three sigil on things, a small part of my died
09:29 Alias_ s/my/me/
09:29 Juerd I'm not happy about twigils either.
09:29 scw has quit IRC ("leaving")
09:30 Alias_ and latin-1 characters in the core
09:30 Juerd As long as they all have sane ASCII counterparts, they don't bother me.
09:30 Alias_ that's the point
09:31 Alias_ if they have sane ASCII versions, what is the latin-1 version for?
09:31 Juerd For people who like them, and there are many of those.
09:31 Alias_ Then I say let them have a language mod
09:31 Alias_ use operators::parallel;
09:31 osfameron_ has joined #perl6
09:31 Alias_ or something
09:32 Alias_ cut the dozen craziest operators off and call them use ops::more;
09:32 wolverian and what's the use in that? people would just learn to use ops::more; always.
09:33 Alias_ no they wouldn't... only for sufficiently crazy things/people
09:34 Alias_ is now known as Alias_mentor
09:34 Alias_mentor is now known as Alias_
09:38 Aankhen`` has quit IRC (Connection timed out)
09:39 osfameron has quit IRC (Read error: 145 (Connection timed out))
09:39 scook0 Hey, does anyone know how &next in a C<loop> is supposed to work?
09:39 scook0 Is it supposed to perform the 'post' part of the loop?
09:45 Juerd Okay, one message.
09:51 wolverian :)
10:04 cognominal has quit IRC ("Leaving")
10:05 cognominal has joined #perl6
10:05 cognominal has quit IRC (Client Quit)
10:05 cognominal has joined #perl6
10:23 dada has joined #perl6
10:49 broquaint has joined #perl6
10:54 elmex has joined #perl6
10:58 ChanServ sets mode: -o clkao
10:58 kungfuftr anyone know if there will be a simple way in Perl6 to gain which classes inherit from the current class?
11:02 broquaint There'll probably be a handy-dandy intropsective method like .kids() or something I would imagine.
11:04 kungfuftr yar, would be nice to have an easy way to do Module::Pluggable style things
11:04 broquaint Since we'll have a real OO implementation I shouldn't imagine it'd be too tricky. Some::Class.kids() or some such.
11:05 osfameron_ presumably that would only include classes that are currently use'd though?
11:05 broquaint To begin with, sure. I imagine we'll see the likes of Module::Scandeps too.
11:05 castaway_ is now known as castaway
11:06 theorbtwo has joined #perl6
11:10 zuulvin_ has quit IRC (Read error: 110 (Connection timed out))
11:11 zuulvin_ has joined #perl6
11:25 scw has joined #perl6
11:26 estel has joined #perl6
11:27 Juerd Isn't inheritance a strictly unidirectional thing?
11:28 Aankh|Clone is now known as Aankhen``
11:29 chady is now known as chady_
11:32 kolibrie has joined #perl6
11:41 Boogie has joined #perl6
11:49 meppl has joined #perl6
11:50 Arathorn has joined #perl6
11:51 xern has joined #perl6
11:52 kungfuftr Juerd: yes, but sometimes you really need to know what children you have... for example, if i have a Person superclass, i might want to know what type of Person's there are, etc.
11:54 kungfuftr Juerd: currently i'd have to use something like Module::Pluggable for that
11:55 estel has quit IRC ("Konversation terminated!")
11:57 osfameron_ Also makes sense for some interactive fiction object models
12:04 Boogie has quit IRC ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]")
12:05 svnbot6 r3285, iblech++ | Typo fixes and more PODification of docs/S29draft.pod.
12:05 Arathorn congrats on resolving the ./method() problem, folks
12:05 Arathorn solution rocks :)
12:17 Alias_ has quit IRC ()
12:17 svnbot6 r3286, iblech++ | Added tests for capitalize().
12:18 Limbic_Region has joined #perl6
12:23 svnbot6 r3287, scook0++ | Tests for some strange loop behaviour
12:23 svnbot6 r3288, iblech++ | Implemented capitalize().
12:23 svnbot6 r3288, iblech++ | Note: Lambdafolks may want to review my code.
12:27 ingy :\
12:27 iblechbot has quit IRC (Read error: 104 (Connection reset by peer))
12:27 wolverian capitalize?
12:28 iblechbot has joined #perl6
12:30 integral hmm, couldn't capitalize be implemented in p6?
12:31 ihb is there an equivalent to perlfunc for P6 yet?
12:31 ihb (i'm aware of that they're methods nowdays)
12:32 castaway S29 ?
12:33 scook0 sub capitalize($word) { ucfirst $word ~ uc $word[1...] }
12:35 scook0 sorry, no, that's wrong
12:41 svnbot6 r3289, iblech++ | Moved our AESses to docs/AES, so I can include those via svn:externals from
12:41 svnbot6 r3289, iblech++ | FreePAN Perl6-Bible.
12:41 svnbot6 r3290, iblech++ | Added L<S29> links to t/builtins/strings/*.t.
12:42 Arathorn S29 is MIA atm, no?
12:42 Limbic_Region has quit IRC (Read error: 110 (Connection timed out))
12:45 Limbic_Region has joined #perl6
13:03 ihb so ~ is still the concat op?
13:03 svnbot6 r3291, scook0++ | Revised Haddocks for Monads.hs
13:05 scook0 as far as I know...
13:05 ihb that makes my lazy ~ so sad. :-/ i have to hit "Alt Gr + ~ + space + space" to get "~ ".
13:06 scook0 ouch
13:07 ihb i liked "." a lot better. then i needed just ". + space" to get ". "...
13:08 ihb i guess i just have to create a § operator that's an alias for ~ :-)
13:08 scook0 which kb layout do you use?
13:08 ihb standard swedish.
13:15 jhorwitz has joined #perl6
13:24 nothingmuch seen ingy
13:24 jabbot nothingmuch: ingy was seen 56 minutes 55 seconds ago
13:25 ingy hola
13:27 Limbic_Region como esta ustede?
13:28 Limbic_Region los sientos pero aprendo espanol en la esquala y hace muchos anos
13:28 Limbic_Region I think I said that right
13:28 Limbic_Region considering I only remember the present tense and not a whole lot of vocabulary
13:32 wolverian besides, it's spelled 'capitalise' :)
13:35 scook0 has quit IRC ("must sleep...")
13:37 jhorwitz has quit IRC (Read error: 131 (Connection reset by peer))
13:37 jhorwitz has joined #perl6
13:52 x86_ arcady: i figured that out :)
14:02 malpertuis has joined #perl6
14:07 svnbot6 r3292, iblech++ | Found an extremely weird parsing bug involving ">".
14:07 svnbot6 r3292, iblech++ | Note that it doesn't seem to be a simple predence thing -- look at the comments
14:07 svnbot6 r3292, iblech++ | of new t/pugsbugs/parsing_gt.t.
14:09 SM_ax has quit IRC ("ChatZilla 0.9.61 [Mozilla rv:1.7.7/20050420]")
14:12 svnbot6 r3293, iblech++ | * svnbot6.p6 now supports an additional command, "?check", which triggers
14:12 svnbot6 r3293, iblech++ |   immediate checking for new revisions.
14:12 svnbot6 r3293, iblech++ | * Small cosmetical fix to mklivecd.pl.
14:16 Jonathan_ has joined #perl6
14:25 stevan seen mugwump
14:25 jabbot stevan: mugwump was seen 9 hours 34 minutes 55 seconds ago
14:26 svnbot6 r3294, Stevan++ | Perl::MetaModel - some editing of mugwumps additions to meta_meta_classes.pod; created README; moved some of mugwumps perl6 specific stuff to perl6_meta_model.pod; other misc. reworkings
14:27 elmex has quit IRC ("leaving")
14:28 malpertuis has quit IRC ("Leaving")
14:53 mj41 has joined #perl6
15:11 svnbot6 r3295, autrijus++ | * t/pugsbugs/parsing_gt.t fixed.
15:11 svnbot6 r3295, autrijus++ | * `foo() <3> -1` is now parsed as `foo() < 3 > -1`, instead of `foo()<3> - 1`.
15:11 svnbot6 r3296, autrijus++ | * `use ClassName; ClassName.new` is now parsed correctly.
15:11 svnbot6 r3296, autrijus++ | * hence, changing `::Tree.new` to `Tree.new` in Tree's tests.
15:13 nothingmuch has quit IRC ()
15:14 Shachaf has joined #perl6
15:15 putter has joined #perl6
15:18 x86_ pugs -e 'foreach ( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ) { say rand(rand(100000000)); }'
15:18 svnbot6 r3297, autrijus++ | * refactor varbatimParens into Lexer.hs
15:18 svnbot6 r3298, iblech++ | Thanks to autrijus++ fixing this weird parsefail, I was able to add tests
15:18 svnbot6 r3298, iblech++ | testing rand($n).
15:18 x86_ anyone see a problem with this?
15:19 iblech has joined #perl6
15:19 iblech x86_: Yes, there's no foreach in Perl 6 anymore. s/foreach/for/ and it works fine :)
15:19 iblech (And you might want to say 1..10 instead of 1,2,...)
15:20 x86_ yeah i was just playing around
15:21 putter not ("a" ~~ /b/) is bool::true, but without parens, not "a" ~~ /b/ is a match object...  bug?
15:24 iblech Seems so. not() is very low precedence. Pugs seems to parse this as (not "a") ~~ /b/, which equals "" ~~ /b/, resulting in a matchOk = False match object (as not "a" is bool::false, which stringifies to "")
15:25 putter tnx.  is there an easy way to check how an expression parses?
15:26 iblech There's ". expression" in the interactive shell
15:26 x86_ pugs -e 'for ( 1..9000 ) { say "$_" . rand(rand(10000000)); }'
15:26 x86_ i think i found a bug here...
15:27 x86_ maybe its just me
15:27 putter ah, right.  tnx.
15:27 x86_ but does that expression look ok?
15:27 kolibrie x86_: s/\./~/
15:29 Arathorn string concatenation is ~ nowadays.
15:29 Arathorn the stitch operator :)
15:30 autrijus iblech: parsefail fixed :)
15:32 jhorwitz hey autrijus  :)
15:34 autrijus how goes?
15:35 jhorwitz it goes well.  actually, banging my head against the wall trying to get "module Foo" to output PIR outside of main.
15:35 stevan autrijus: I am changing the Test::Builder tests to not use ::Test::Builder as well
15:35 stevan thanks for fixing that one :)
15:37 autrijus yeah, it was kind of important psychologically :)
15:37 autrijus but I can't get use_ok() to work...
15:37 autrijus for some reason similar to eval_ok()
15:37 autrijus I'm sure you know of the problem also
15:37 stevan autrijus: isa_ok() does some weird things as well
15:37 autrijus worse yet, I don't know ehough perl6 to think of a good fix
15:37 autrijus so maybe ask on p6l
15:37 stevan I will try to isolate the issue first
15:38 stevan I have been having too much fun playing with objects to be bothered by it :)
15:38 autrijus then go ahead playing :)
15:38 autrijus I've been enjoying you and mugwump's docs
15:38 stevan :)
15:38 autrijus they almost look like specs I can implement :)
15:39 * autrijus seriously think they should be in S12 somewhere sometime
15:39 ninereasons has joined #perl6
15:39 stevan maybe
15:39 x86_ holy crap
15:39 autrijus aw, latin1
15:39 x86_ time pugs -e 'for ( 1..9000 ) { say "$_" ~ rand(rand(10000000)); }'
15:39 stevan I think the last doc (which I just created from some of mugwumps comments) is going to be the one to include in s12
15:39 x86_ 1m8s real
15:39 x86_ time perl -e 'for ( 1..9000 ) { print "$_" . rand(rand(10000000)) . "\n"; }'
15:39 x86_ real    0m5.297s
15:40 autrijus x86_: that is really to be expected :)
15:40 x86_ yeah, i know :)
15:40 * autrijus explains again that the interpreter is optimized for feature; the compiler is for speed
15:40 x86_ i knew there would be a speed difference, but seeing such a dramatic difference is somewhat... shocking ;)
15:40 x86_ compiler?
15:41 x86_ oh right, compile into parrot bytecode, right?
15:41 autrijus yeah. or to native haskell (but that's even more immature)
15:41 * x86_ is new to this whole parrot / pugs / perl6 deal
15:41 x86_ how do i compile something into parrot bytecode?
15:42 autrijus I hope it's sane enough that you can pick up quickly :)
15:42 svnbot6 r3299, autrijus++ | * utf8, please
15:42 autrijus x86_: try this:
15:42 autrijus ./pugs -BParrot examples/mandel.p6
15:43 elmex has joined #perl6
15:43 putter shall I add the failing  ok(not "a" ~~ rx:perl5/b/) to t/builtins/not.t?
15:44 x86_ pugs: Cannot compile: App (Var "&substr") [Pos (MkPos "examples/mandel.p6" 58 21 58 23) (Var "$b"),Pos (MkPos "examples/mandel.p6" 58 25 58 27) (Var "$P"),Pos (MkPos "examples/mandel.p6" 58 29 58 30) (Val (VInt 1))] []
15:44 x86_ i'm on MacOS X 10.2 (panther) on a PowerPC cpu if that helps
15:44 x86_ err
15:44 * integral gets the same
15:44 x86_ 10.3 even ;)
15:44 x86_ integral: on your mac?
15:45 integral mac and debian gnu/linux
15:45 x86_ ah
15:46 x86_ im too lazy to go through the install process of ghc, parrot, and pugs all over again on my x86-based development box ;)
15:46 integral it's not going to be a system dependent thing, it'll be coming from Pugs.Compile.Parrot line 303
15:46 x86_ gotcha
15:47 x86_ so its a pugs --> parrot bytecode issue then, not an actual parrot issue?
15:47 autrijus x86_: a sec
15:47 autrijus fixed, committing
15:47 x86_ ack
15:48 x86_ so i have to re-build pugs?
15:48 integral it won't rebuild the whole thing
15:48 integral shouldn't be much either for that module
15:48 x86_ so it's a good thing i kept my build tree then? :P
15:49 * integral just runs straight out of his trees
15:49 autrijus x86_: yes :)
15:50 autrijus so, svn up, make, ./pugs -BParrot examples/mandel.p6 again
15:50 autrijus try it? the compileation time is likely to be quite short
15:50 integral you only need to panic build-wise when AST.Internals, Parser, Lexer or Prim gets modified 8-)
15:50 autrijus which isn't that often nowadays, thanks to some mad refactoring :)
15:50 autrijus (actually only AST.Internals is real pain)
15:51 autrijus x86_: so, run -BParrot mandel once, and run mandel again without -BParrot
15:51 autrijus notice the, uhm, subtle difference in speed
15:52 integral I tried cutting it down even more, but I'm thinking that it's impossible since all the data types left in it (modulo 2 enumerations) are cyclic :-(
15:52 autrijus integral: right, that's what I figured too
15:52 svnbot6 r3300, autrijus++ | * bring parrot codegen up to speed with invs tweak.
15:52 autrijus integral: there are ways around it...
15:52 putter autrijus: I have  ok(not "a" ~~ rx:perl5/b/)  ready to go into pugsbugs.  Any objection?
15:53 autrijus integral: existential types for one, or (gasp) Data.Dynamic
15:53 autrijus hm?
15:53 autrijus oh, not needs to be loost?
15:53 autrijus loose
15:53 integral hmm, the first is one idea I was having.  I haven't been scared by the second yet 8-)
15:54 putter yes.  I could add it to looseOperators, but I didnt want to mindless muck about.
15:54 putter ordering in the Prim.hs list doesn't seem to affect it.
15:58 integral hmmhmm, interesting.  The -BParrot mandel.p6 is slower than mandel.p5 for me
15:59 svnbot6 r3301, Stevan++ | Test::Builder - make all the Test::Builder tests run without the ::ClassName issue
16:01 autrijus putter: the ordering doesn't matter
16:01 autrijus integral: right because the codgen was rewritten
16:01 autrijus integral: all the literals are boxed now (PMC)
16:01 autrijus they were unboxed (int etc)
16:01 putter k
16:02 integral ah
16:04 putter err, is there a one-line summary of how precedence is encoded in pugs?
16:05 putter in the .hs source that is...
16:05 PerlJam putter: magic.
16:05 PerlJam :-)
16:05 putter ;)
16:05 integral there's a howto fior adding ops on the wiki
16:05 putter tnx!
16:06 _metaperl has quit IRC (" HydraIRC -> http://www.hydrairc.com <- The dawn of a new age")
16:08 jhorwitz autrijus: a fail clause in Compile/Parrot.hs is having some type errors.  how to fix?
16:08 jhorwitz autrijus: pugs: cannot cast from VError "fnord" (NonTerm (MkPos "-e" 1 1 1 1)) to [Char]
16:08 autrijus jhorwitz: fail "fnord"
16:09 autrijus doesn't that work?
16:09 jhorwitz autrijus: nope
16:09 autrijus putter: in Parser.hs there's is this big table.
16:09 autrijus jhorwitz: oh. then use an error clause.
16:09 * jhorwitz will try that
16:10 _metaperl has joined #perl6
16:12 putter autrijus: ok.  thanks.
16:12 autrijus putter: I think the problem is that "not" is unary and parsed as an unary
16:13 autrijus so by default it tighter
16:13 autrijus I think you really want to add it to looseOp
16:13 autrijus oh, "not" is billed as listop!
16:14 autrijus wtf?
16:15 autrijus hm, it really _is_ listop.
16:15 _metaperl autrijus what was that thing that made your pc look just like mac os x?
16:15 autrijus _metaperl: flyakite
16:15 _metaperl ok thanks
16:16 * Arathorn uses pearpc for that ;)
16:16 autrijus hm. perl5's not() essentially throws everything but the last arg away
16:16 autrijus and negate the last arg
16:16 autrijus I'm not sure perl6's not() keep that behaviour.
16:18 autrijus putter: so, please fix Prim.hs so not becomes a LIST op
16:18 theorbtwo It does?  Sounds rather crazy -- I'd certianly prefer that it not keep it.
16:18 autrijus putter: and fix the code so it assumes some kind of behaviour.
16:18 autrijus theorbtwo: that's larry's way of having a low prec unary op
16:18 autrijus theorbtwo: not 2,1,0; # needs to mean not(0)
16:19 theorbtwo Why does it need to?
16:19 autrijus theorbtwo: because that's what unary ops do.
16:19 autrijus someunary(2,1,0); # always mean someunary(0)
16:19 autrijus comma in scalar cxt
16:19 putter ok.  working...
16:20 theorbtwo In p5, yeah.
16:20 theorbtwo ...with the parens there.
16:20 theorbtwo -2,1,0 means (-2), 1, 0.
16:21 theorbtwo perl -MO=Deparse,-p -e 'print not 0, 1, 2'   # print((!1));
16:21 theorbtwo # Huh?
16:23 autrijus $ perl -MO=Deparse,-p -e 'print not 3,3,3'
16:23 autrijus print((!1));
16:23 autrijus theorbtwo: !1 is this constant folded thing
16:23 * theorbtwo smacks his forehead.
16:23 theorbtwo OK, I'm an idiot.
16:24 theorbtwo But why should not be low-precidence and not high-precidence?
16:24 autrijus because we have ! for high prec
16:25 autrijus and not is there because and or and not (also xor) are supposed to be very low prec -- that is, same or lower than listops
16:25 * autrijus notices that not-easily-parsitude of the last sentence
16:26 theorbtwo OK, works for me.
16:26 theorbtwo I guess.
16:26 theorbtwo Not really, but at least it's a reason.
16:36 Limbic_Region moving sucks
16:37 theorbtwo Yup, Limbic.
16:37 theorbtwo What bit of suckyness have you just found?
16:37 Limbic_Region oh - lots and lots
16:37 masak perlbot nopaste
16:37 perlbot Paste your code here and #<channel> will be able to view it: http://sial.org/pbot/<channel>
16:37 Limbic_Region most recent problem has been establishing connectivity to the outside world
16:38 Limbic_Region no phone (VoIP), no internet (cable), no cable (digital)
16:39 Limbic_Region oh - glad to see autrijus has gotten long winded on the journal summaries again - enjoyed catching up this morning
16:39 autrijus it's been like that for 3 days :)
16:40 masak i have a question
16:40 pasteling "masak" at 130.238.83.176 pasted "Deep recursion 'hello world' example" (8 lines, 214B) at http://sial.org/pbot/10169
16:40 theorbtwo Sounds like a wonderful vicious loop, limbic.  Have a cell, or have you been completely cut off?
16:40 * Limbic_Region abhors cell phones and wouldn't dream of owning one
16:40 masak is there a way to make $! not collect the whole stack trace in the above script?
16:40 Limbic_Region in fact the only reason I have a phone at all is for emergencies and Jean
16:41 masak Limbic_Region++
16:41 autrijus masak: why would you not want that?
16:41 masak autrijus: mostly just for fun
16:41 masak i thought it would be nice to die with 'hello world'
16:42 masak but it might also come in handy for deep tail calls
16:42 svnbot6 r3302, iblech++ | * Added and updated submethods tests after p6l review.
16:42 svnbot6 r3302, iblech++ | * Updated t/oo/roles/conflicts.t to new "./" method call syntax.
16:42 autrijus die with \n ?
16:42 masak autrijus: i tried that, didn't help
16:42 autrijus masak: well, time to start hacking on the "die" Prim
16:42 masak :)
16:42 Limbic_Region the "di" Prim directive?
16:42 Limbic_Region err - missing both es there
16:42 Limbic_Region but you get the idea
16:43 masak will there be a test involved somehow? in that case i could help
16:44 autrijus masak: sure
16:44 * masak still is a bit haskell-shy
16:44 autrijus eval 'die "foo\n"'
16:44 autrijus and test if $! contains only foo\n
16:44 estel has joined #perl6
16:44 masak right -- which .t file?
16:46 masak builtins/die.t?
16:48 Limbic_Region masak - worry less about getting it in the right place and more on getting it in
16:48 Limbic_Region collaborative effort will result in it getting moved to where it belongs
16:48 Limbic_Region and probably augmented too
16:49 masak true
16:50 masak writing tests is weird business
16:50 masak you want to write a piece of code that fails
16:50 masak so that you can go fix it
16:51 masak there -- committed
16:51 Limbic_Region well - there is always t/pugsbugs
16:51 Limbic_Region that once fixed get moved to appropriate place
16:51 Limbic_Region and stay there to ensure more hacking doesn't re-break them
16:51 masak Limbic_Region: so only passing tests should go in all the other .t files?
16:52 Limbic_Region no - I didn't say that
16:52 Limbic_Region die works for the most part
16:52 Limbic_Region besides - I have only written a half-dozen tests or so myself - just commit
16:53 Limbic_Region it will get moved if it is in the wrong place
16:53 Limbic_Region trust in the anarchy
16:53 masak :) yes, but is there a rule of thumb for where to put stuff?
16:53 svnbot6 r3303, masak++ | Recursive die test
16:53 * masak really likes the addition of "++" on commits
16:54 * autrijus too
16:54 autrijus egoboo++
16:54 autrijus clkao++
16:55 masak karma is such a laid-back metric, a sort of un-currency
16:55 jabbot masak: is such a laid-back metric, a sort of un-currency has neutral karma
16:55 masak that was an unintended funism
16:55 autrijus jabbot++
16:55 masak i thought that someone else had the exact same idea i had, but it was just a bot :)
16:56 Arathorn i dunno - some people can get very worked up about karma
16:56 Arathorn c.f. /.
16:56 masak should i be offended when a bot calls me a laid-back metric? :P
16:57 estel has quit IRC ("Konversation terminated!")
16:57 masak slashdot doesn't have a common goal like the pugs team
16:57 Arathorn true
16:57 masak a person hoarding karma here would just make a fool of emself
16:57 Arathorn still, some people can't handle the the distinction between their ephemeral karma getting a boost and a rabidly competitive fight to the finish line
16:58 masak true
16:58 Arathorn i guess that's what you have to rely on, then :)
16:58 masak i hope i'm right :)
16:58 Arathorn (the idea of the hordes of slashdot trying to implement a programming language spec is highly amusing, either which way :D)
16:59 masak *lol*
17:00 masak the signal to noise ratio would simply be too low for constructive work to take place
17:00 masak slashdot is in itself a work avoidance tool
17:01 masak or so i've heard :)
17:01 osfameron_ has quit IRC ("Leaving")
17:02 Arathorn i wouldn't know anything about that
17:02 * Arathorn looks shifty
17:02 Arathorn that said, following perl6/pugs development is an infinitely better work avoidance tool :)
17:03 masak without a doubt
17:06 x86_ ugh, Parser and Lexer are both compiling again when i did that svn up;make
17:07 x86_ indeed
17:07 x86_ pugs++
17:08 x86_ holy shit Parser takes way too long to compile
17:08 Southen[a] has joined #perl6
17:08 svnbot6 r3304, iblech++ | * Added tests for $?SELF, $?CLASS, and $?ROLE (t/oo/magical_vars.t).
17:08 svnbot6 r3304, iblech++ | * Very minor cosmetical fixes to proxy.t, conflicts.t, construction.t, and
17:08 svnbot6 r3304, iblech++ |   destruction.t.
17:08 svnbot6 r3305, iblech++ | Added the usual svn properties to Stevan++'s and mugwump++'s
17:08 svnbot6 r3305, iblech++ | ext/Perl-MetaModel/docs/*.
17:09 * autrijus smiles at iblech's use of person++ in logs
17:10 simcop2387 has joined #perl6
17:10 x86_ Pugs.Eval takes a while too it seems
17:10 * Arathorn hopes that commiters get autopromoted to bignums of some kind, otherwise there may be some nasty overflow/wraparound bugs on the horizon..
17:11 autrijus x86_: for daily development, "make unoptimised" and "make ghci" are your frinds
17:12 stevan x86_: or you can just take long coffee breaks in between compiles :)
17:12 stevan or even do $work, which is what I do :)
17:12 iblechbot_ has joined #perl6
17:12 iblech_ has joined #perl6
17:13 iblech has quit IRC (Read error: 54 (Connection reset by peer))
17:14 dada has quit IRC ("Living")
17:14 autrijus it's strangely how my @jobs are becoming relaxful breaks.
17:14 autrijus ;)
17:14 stevan :D
17:14 autrijus their specs are nicer, and the @client not as crazy
17:15 stevan but they are not nearly as much fun
17:15 autrijus nope. and I don't have a huge helpful team :)
17:15 stevan autrijus: you should just hire all of us to do your $work
17:15 stevan and leave you to hack pugs :)
17:15 masak a huge team would be useful to have at $work
17:16 autrijus stevan: that will be minimizing the fun ;)
17:16 autrijus "premature pessimisation"
17:16 stevan :)
17:18 x86_ ack!
17:18 x86_ $work!
17:18 * x86_ dies
17:19 x86_ mandel with -BParrot:
17:19 x86_ real    0m3.136s
17:19 x86_ i'm still waiting for the timing without -BParrot ;)
17:20 x86_ what's -B do? compile it to bytecode before running it?
17:20 iblech_ compile using the Parrot bytecode, then run it
17:21 iblech_ there're also the Pugs and Haskell backends
17:21 iblech_ is now known as iblech
17:21 iblech And there's -CBackend, which compiles the source, but does not run it.
17:22 iblechbot has quit IRC (Connection reset by peer)
17:27 Southen has quit IRC (Connection timed out)
17:51 autrijus putter: &not fixed, so in case you're still working on it, sorry :)
17:51 svnbot6 r3306, jhorwitz++ | * fix type error when reporting compilation failure
17:59 autrijus 01:55 <@leo> autrijus: I've read a lot of STM papers recently
17:59 svnbot6 r3307, autrijus++ | * &not is a listOp now. putter++
17:59 Odin- has quit IRC (Connection reset by peer)
17:59 autrijus 01:55 <@leo> I think it should work for parrot too
17:59 * autrijus loves cross-fertilising ideas
17:59 Odin- has joined #perl6
17:59 jhorwitz STM++
17:59 Odin-LAP has quit IRC (Read error: 104 (Connection reset by peer))
17:59 Odin-LAP has joined #perl6
18:07 putter autrijus: np.  just got it working :).  so good exercise, and even better, now I get to see how you did it! :) :)
18:07 x86_ real    2m33.920s
18:07 * putter wishes there was an easy way to get code reviews of haskell snippets.
18:08 x86_ 2m34s (no -BParrot) vs. 0m3s (with -BParrot)
18:08 x86_ holy crapola
18:08 x86_ lol
18:08 jhorwitz hm.  autrijus: instance Compile Exp doesn't seem to be catching "module Foo" in Parrot Compiler anymore
18:09 jhorwitz i uncommented my Syn "module" code to work on it again
18:09 Southen has joined #perl6
18:10 autrijus jhorwitz: k. note also classes etc should be handled in the compile glob place
18:10 jhorwitz ah, okay.  that's a good thing, then.  :)
18:10 theorbtwo Glob place?
18:12 jhorwitz autrijus: it seems to be landing here: instance Compile (Var, [(TVar Bool, TVar VRef)]) -- is that right?
18:12 svnbot6 r3308, iblech++ | Ported Net::IRC to real OO.
18:12 svnbot6 r3308, iblech++ | The only major thing which doesn't work yet in Pugs is support for submethod
18:12 svnbot6 r3308, iblech++ | BUILD. When that is implemented, the real OO Net::IRC should start to work. :)
18:12 autrijus jhorwitz: yeah. if the Var is (':':class)
18:13 jhorwitz giddyup
18:13 autrijus you can then generate a parrot class right there
18:13 autrijus global vars too should go there
18:13 jhorwitz for now i just want to spit out a .namespace op, but i see where you're going
18:14 autrijus a .namespace is probably good enough for now
18:14 autrijus the public attributes can be queried using
18:14 autrijus &ClassName::*
18:14 autrijus which queries methods too
18:15 autrijus more info will be available when the roles/class metametamodel lands
18:15 jhorwitz wow, this is further along than i thought
18:15 x86_ you guys want to see something hilarious?
18:15 x86_ have to email it though, because im not sure how to save it properly
18:15 x86_ its a small video clip
18:15 putter autrijus: if I could impose, would this have been a valid solution?:
18:16 putter op1 "not"  = \v -> case v of
18:16 putter     (VList vs) -> op1 "!" $ last vs
18:16 putter     _          -> op1 "!" $ v
18:16 autrijus putter: yes, that would be completely valid, since I started there :)
18:16 autrijus then I noticed that it would make
18:16 autrijus not @foo;
18:16 autrijus become
18:16 autrijus not @foo[-1]
18:16 autrijus which is very wrong.
18:16 autrijus so I wrote p6l asking what &not's signature should be.
18:16 autrijus :)
18:16 wolverian wow. Net::IRC.pm (OO version) has a lot of 'has $foo' repetition
18:17 putter ah. ok.  fun and games.  thanks for the puzzle and the feedback.
18:17 autrijus putter: thanks for playing
18:17 wolverian does 'has ($.foo, @.bar) is rw;' DWIM?
18:17 autrijus wolverian: it should. feel free to hack it in
18:17 autrijus it's in ruleMemberDeclaration
18:17 autrijus you can look at VarDeclaration's code for supporting multiples
18:18 wolverian hrm. my dev computer is currently offline
18:28 Southen[a] has quit IRC (Client Quit)
18:32 saorge has joined #perl6
18:32 jhorwitz autrijus: we have namespaces.  making sure i didn't break anything before commiting...
18:32 Arathorn is now known as Aragone
18:36 Southen has quit IRC (No route to host)
18:55 Corion has joined #perl6
19:09 putter am I correct in fuzzily remembering that rules tests should be skipped, rather than failing, when running make test on builds which lack rules support?  eg, where !("a" ~~ /a/) is true.
19:14 Corion r3308 - http://datenzoo.de/pugs/win2k.html - an unexpected map() success, subscript parsing also works now,
19:14 svnbot6 r3309, jhorwitz++ | * module|package|class emits Parrot .namespace ops
19:14 svnbot6 r3309, jhorwitz++ | * fix sub invocation
19:17 Corion Weird. Changing a test from ok(eval(...))  to eval_ok( ...) also changes it from True to False ... (t/syntax/subscript/parse_bugs.t)
19:19 Corion Hmmm. And the test also doesn't catch "%hash <foo>" as a syntax error in eval() - I guess that's actually a bug in eval()
19:19 iblech Corion: That's because the code supplied to eval_ok() is called in Test::eval_ok's lexical pad, not in the one of the test, so the code can't find its variables
19:19 svnbot6 r3310, jhorwitz++ | * remove _Pugs:: prefix from Parrot namespace (will revisit this later)
19:19 Corion iblech: Ah, d'oh
19:19 Corion so I'll have to live with ok(eval( then
19:21 nothingmuch has joined #perl6
19:25 osfameron has joined #perl6
19:25 svnbot6 r3311, corion++ | Promote succeeding test
19:27 stevan Corion: I found that a combination of lives_ok, and is work best
19:27 stevan assuming it does not parsefail
19:34 iblech Hm... readdir("."|".") does not produce a result junction.
19:34 svnbot6 r3312, corion++ | map() now partially works with multiple statements in the block, except that it only works on the first value and reuses that for the whole list
19:36 iblech Ah, I see. any(".", ".") is of course any(".").
19:40 svnbot6 r3313, iblech++ | <Pos1> and <End> are now working in the live cd.
19:44 x86_ is now known as x86
19:45 putter On r3307, this  !("a" ~~ /a$/)  explodes (backtrace) and sometimes segfaults.
19:47 * Limbic_Region wonders how one tests for "it explodes but only sometimes"
19:49 iblech putter: It doesn't here (Linux, GHC 6.4).
19:50 iblech (With external Parrot)
19:51 Limbic_Region seen juerd
19:51 jabbot Limbic_Region: I havn't seen juerd , Limbic_Region
19:51 Limbic_Region seen Juerd
19:51 jabbot Limbic_Region: Juerd was seen 8 hours 24 minutes 2 seconds ago
19:51 * Limbic_Region didn't know handles were case sensitive
19:52 broquaint has quit IRC (Read error: 110 (Connection timed out))
19:52 Limbic_Region $Larry sorta ruled on not 4,3,2,1,0;
19:52 putter iblech: thanks.  mine was internal, on x86_64 linux.  I'll try external, and make the test eval_ok.
19:55 wolverian hmm. the &.foo discussion on p6l is interesting.
19:56 Corion Heh - a comment in autrijus' journal: "Most Haskell texts seem to be aimed at the novice/beginning programmer. (e.g they spend chapters describing recursion, and devote only two sentences to using arrays). " -- maybe that is because arrays are not really important in Haskell? :)
19:56 integral you can't write a decent matrix library without arrays...
19:57 Corion integral: Well, you can always use lists instead :)
19:58 * Limbic_Region refrains from making Matrix jokes
19:58 Corion Nobody can tell you what the Matrix jokes are ...
19:58 integral that ruins the complexity of many algorithms though.   Plus then you end up using a different structure of lists for different ones, which is annoying.
19:59 integral mmm, real world perl6: http://svn.openfoundry.org/p​ugs/examples/irclog2html.p6
19:59 Corion integral: "annoying" does not prevent me from doing stuff if I really want to ;-)
19:59 integral err, wrong window
19:59 PerlJam integral: where are you evangelizing perl6 ?
20:00 * integral tried to write a list based LU factorising routine
20:00 integral PerlJam: #perl! :-)
20:00 integral it was not pretty.   Although that was probably perl5's fault =)
20:02 pasteling "putter" at 66.30.119.55 pasted "a backtrace" (70 lines, 4.1K) at http://sial.org/pbot/10173
20:04 putter I get something like this with both internal and external parrot.  Looks like a haskell-side problem?
20:06 iblech putter: Ah! When I tried your snippet, I ran it using "pugs -we '...'". You ran it in interactive Pugs, where "!" has a special meaning (see :h)
20:07 putter sigh.  my thanks iblech.
20:18 zuulvin_ has quit IRC (Remote closed the connection)
20:23 nothingmuch what kind of arrow graphicaly conveys transformation?
20:23 Corion Where is fail() implemented? My grep fu is weak today
20:23 Corion To me, it's an arrow with a curled unpointy side
20:24 Corion or the mathematical finite map arrow, "|->"
20:24 iblech Corion: If you refer to Test::fail, it's in ext/Test/lib/Test.pm. If you refer to Perl 6's core fail(), it isn't yet implemented, IIRC
20:24 nothingmuch http://nothingmuch.woobling.org/sumo_to_ninjas.png
20:24 nothingmuch from that image is it clear that you would like to make ninjas out of the sumo, but the transformation is blocked?
20:24 Corion iblech: No, the Haskell fail(), that is used to implement die() ...
20:24 iblech Corion: Oh. No idea.
20:24 Corion I want to look at making die("\n") work ;)
20:25 Corion nothingmuch: Hmmm. I wouldn't put any "stop" sign there, but an "entry forbidden for cars" sign (-)
20:26 Corion (red-circle-with-horizontal-white-bar)
20:26 nothingmuch yeah, i'm using that one too =P
20:26 nothingmuch elsewhere
20:26 nothingmuch for a more 'do not enter'ish metaphor
20:26 nothingmuch maybe a big red X
20:26 knewt has quit IRC (Read error: 113 (No route to host))
20:26 Corion nothingmuch: Yeah, a big red X is always good.
20:27 Darren_Duncan has joined #perl6
20:27 knewt has joined #perl6
20:27 Corion I remember the PNG acceptance suite using red checkmarks and green X. I never found out what meant "correct" and what meant "incorrect" :)
20:31 Limbic_Region has quit IRC ("bbq time")
20:32 iblech has quit IRC ("gonna sleep &")
20:32 nothingmuch hehe
20:39 rafl_ has joined #perl6
20:40 rafl has quit IRC (Read error: 60 (Operation timed out))
20:41 nothingmuch Corion: reload
20:41 Corion nothingmuch: Yep, much better IMO
20:42 Corion Maybe make the cross over the arrow, so it doesn't cross out the ninjas, but that's only minor
20:43 nothingmuch i tried playing around with that
20:43 Corion Likely you have to move the ninjas and the sumo wrestler further apart for that
20:43 nothingmuch i didn't manage to make it look pretty that way
20:45 Corion nothingmuch: It's Good Enough that way IMO - much less confusing than the STOP sign
20:45 Corion (but I'm tired already and should go to bed ;) )
20:45 Corion &
20:45 Corion has quit IRC ("Chatzilla 0.9.68a [Firefox 1.0.4/20050511]")
20:45 nothingmuch crap
20:45 nothingmuch somebody else reload
20:46 Aankhen`` has quit IRC (Read error: 110 (Connection timed out))
20:51 autrijus journal up. enjoy :)
20:51 autrijus nite &
20:53 osfameron_ has joined #perl6
20:55 osfameron_ has quit IRC (Client Quit)
21:01 osfameron has quit IRC (Read error: 145 (Connection timed out))
21:04 kolibrie has quit IRC ("leaving")
21:07 jhorwitz has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0.4/20050511]")
21:08 mj41 has quit IRC ("Miranda IM! Smaller, Faster, Easier. http://miranda-im.org")
21:18 elmex has quit IRC ("leaving")
21:18 svnbot6 r3314, chromatic++ | Declare invocants for status() methods in Test::Builder::Test.
21:18 svnbot6 r3314, chromatic++ | Fix a typo in a test description.
21:24 broquaint has joined #perl6
21:24 svnbot6 r3315, putter++ | Replaced not with !() in t/rules/Disabled/from_perl6_rules.
21:24 svnbot6 r3316, putter++ | Added "are rules available?" test-skipping guards to t/rules/Disabled/from_perl6_rules.
21:45 elmex has joined #perl6
21:45 svnbot6 r3317, Stevan++ | Perl::MetaModel - commit before refactoring this
21:45 svnbot6 r3318, putter++ | Cleaning up from_perl6_rules/word.t.
21:45 svnbot6 r3319, putter++ | Un-Disabled from_perl6_rules/word.t.
22:11 mugwump dammit, we need a good editor for Perl 6 code
22:11 svnbot6 r3320, autrijus++ | * make ControlEnv prettification less verbose
22:11 mugwump or, rather, I want cperl-mode for Perl 6 !  :)
22:14 stevan hey mugwump :)
22:14 clkao cperl6-mode then
22:14 putter I have very simple tests (eg, ok(   $str ~~ m/^abc/, 'SOS abc' );) which work w parrot embedded, but hang with external parrot (on FC3, amd64).  Is there some way to check whether external parrot is being used, so the tests can be skipped?
22:14 stevan mugwump: I edited the docs again, moving your more perl6 specific stuff to perl6_meta_model.pod
22:14 stevan and kept the nomenclature stuff in meta-meta_classes.pod
22:15 putter mugwump: Re cperl6-mode, do you have some particular file you would like a modified cperl-mode to handle nicely?
22:15 stevan I also just refactored Perl::Meta::MetaClass
22:15 stevan and I have been reading about Smalltalk's metaclass model, which is pretty cool
22:15 stevan but alas, what is morning for you, is dinner time for me
22:15 mugwump well, I just opened stevan's ext/Perl-MetaModel/lib/Perl/Meta/MetaClass.pm and cperl-mode doesn't like it at all...
22:16 stevan so I will be back in maybe 3 hours or so
22:16 svnbot6 r3321, Stevan++ | Perl::MetaModel - refactored names to be more perl-ish; subclasses are now read-only, all adding and removing is now down through private methods and controled by the superclass() method; added an allSuperclasses() method;
22:16 mugwump What happened to MetaProperty et al, stevan ?
22:16 stevan mugwump: removed it
22:16 stevan we can add it later
22:17 stevan it was all the Hack::Instances junk anyway
22:17 stevan its is still in the depths of the VCS
22:17 mugwump sure
22:17 putter mugwump: k.  I'll take a look at it.  (need a break from assorted rules breakage).
22:18 stevan mugwump: you are welcome to re-hack it in Pugs-OO if you like. I was planning on working that later tonight
22:18 stevan dinner &
22:18 mugwump bon appetit
22:20 mugwump putter: the optional ? marker in subroutine signatures is what breaks that file
22:23 osfameron has joined #perl6
22:26 theorbtw1 has joined #perl6
22:26 theorbtw1 has quit IRC (Read error: 54 (Connection reset by peer))
22:30 putter mugwump: ok, I'll use that for a target fruit.
22:38 Juerd Just a little note: if you want quickref to work, please write for it. I'm not able to do it all myself, although I'd love to.
22:53 broquaint_ has joined #perl6
23:06 mugwump hi broquaint_, where in the world are you now?  back in the UK I presume?
23:06 broquaint_ You presume correctly, mugwump.
23:08 mugwump do go on!  :)
23:09 broquaint_ I'm looking for employment and all that sort of thing. Terribly exciting stuff.
23:10 mugwump that's been a while hasn't it?  Or have you been picking up brief contracts?
23:11 broquaint has quit IRC (Read error: 110 (Connection timed out))
23:12 mugwump Alias is still looking for someone in Sydney
23:12 mugwump a bit of a hard commute from the UK I know
23:14 Odin-LAP Half-way around the globe? You mean you wouldn't do that twice a day?
23:15 mugwump yeah.  getting into a low earth orbit for the 90 minute trip isn't the problem, it's just the customs mallarky
23:15 theorbtw1 has joined #perl6
23:16 Odin-LAP Ignore customs, and bring a mercenary company with you. Since you can afford the ride, that shouldn't be any trouble...
23:22 broquaint_ I've only been looking for a month or so, is that a long time these days?
23:22 broquaint_ is now known as broquaint
23:22 mugwump yeah, but by the time you've done that you may as well have chartered the flight
23:22 mugwump oh, I thought you left NZ long ago broquaint
23:22 mugwump no I guess a month is getting standard
23:22 broquaint I did, but I was in Thailand for a few months :)
23:23 _metaperl broquaint where are you now?
23:23 mugwump oh, yeah ... how is the short little bastard anyway?
23:23 broquaint London, UK, _metaperl.
23:23 broquaint Which one, mugwump?
23:23 _metaperl were you born and raised in the UK? do you like Football?
23:23 mugwump Count Erik J Napolean
23:23 _metaperl i've never talked with you broquaint, though I've seen you on perlmonks often
23:24 broquaint Born, no, raised, sorta. Football, yes, but I know little of it.
23:24 _metaperl what does the name "broquaint" mean anyway?
23:24 broquaint Erik is going mad across Thailand and the UK variously. His life is more fucked up these days than usual.
23:25 broquaint No idea, _metaperl, just made it up one day for a unique nick. Seems to have worked so far.
23:25 Jonathan_ has quit IRC ("Leaving")
23:25 Odin-LAP Quaint.
23:26 broquaint Bro.
23:26 mugwump Au.
23:26 _metaperl broquaint, are you a CPAN author?
23:26 broquaint I am, _metaperl.
23:27 _metaperl author ID?
23:27 broquaint BROQ :)
23:27 broquaint I should have a new module up in a few days time too.
23:28 clkao how does overload work in perl6? such as stringifying objects
23:28 _metaperl time to add Module::MagicUse to my list of lazy loaders: http://www.metaperl.com/article-pod/C​atalog-lazy_loaders/lazy_loaders.html
23:29 mugwump clkao: eg, method prefix:<~>($self:) { }
23:29 mugwump however, I don't think it's implemented yet
23:30 clkao can you implement that tonight? then i can write URI.pm6
23:30 elmex has quit IRC ("leaving")
23:30 mugwump I am only an egg
23:30 clkao mugwump: which synopsis covers that
23:30 * clkao overload mugwump to be autrijus
23:31 mugwump S06#Operator Overloading
23:31 clkao mugwump++
23:32 _metaperl lol
23:32 Darren_Duncan I'm working on the Locale-KeyedText test suite now - should be committed in 2 hours or so
23:33 _metaperl we do our i8n via database...
23:35 clkao are we able to identify a particular test with an id? does each test have a unique description now?
23:36 clkao if so we can do some interesting stuff. say i submit a test because i want it to implement certain module. i can subscribe that test result. when it tells me it works i can go back writing what i intended to
23:38 mugwump sort of like lazy implementation
23:39 mugwump perhaps pass :todo<feature> a continuation
23:40 mugwump that encapsulates your development progress for easy resumption of your activity
23:40 mugwump $clkao.develop($code)
23:42 mugwump maybe poll http://use.perl.org/~autrijus/journal/ in the mean time ;)
23:43 clkao is there p6bibles with test result annotated ?
23:44 mugwump I think you need to use one of the scripts in util/
23:44 mugwump like run-smoke.pl
23:47 nothingmuch clkao: i have a small shell script
23:48 clkao ya, i know runsmoke
23:49 pasteling Someone at 212.143.91.217 pasted "p6bible + test annotation + svn up loop" (39 lines, 905B) at http://sial.org/pbot/10177
23:49 nothingmuch s/Someone/nothingmuch/
23:54 putter mugwump: sorry, a cperl-mode patch isn't going to happen tonight.  note that perl-mode doesn't have the ? problem.
23:54 mugwump so perl-mode is better for perl 6?
23:54 mugwump I'm used to the highlighting characteristics of cperl-mode now!  :)
23:57 putter rightthing long term is perhaps to have a fast p6 syntactic/semantic analyzer which can, among other things, spit out
23:58 mugwump AST
23:59 mugwump along with which part of the source corresponds to each piece of the AST
23:59 putter sexps, so an emacs mode can do not only the usual kludged highlighting, but also semantics.

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

Perl 6 | Reference Documentation | Rakudo