Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2005-03-07

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 saorge has joined #perl6
00:00 trexy_ has joined #perl6
00:00 Odin-LAP has joined #perl6
00:04 nothingmuch *yawn*
00:04 * nothingmuch goes to bed
00:05 lucs See ya.
00:06 justatheory has joined #perl6
00:07 * nothingmuch looks at svn log and thinks he may be a bit trigger happy
00:07 nothingmuch someone remind me to fix quoting.t and write smartmatch.t tomorrow
00:30 justatheory has quit IRC ()
00:35 revdiablo has joined #perl6
00:37 Burgergold has quit IRC ()
00:56 sorje_ has joined #perl6
01:03 lucs Do we have a bot servant here?
01:05 sorje has quit IRC (Read error: 60 (Operation timed out))
01:14 nothingmuch bot servant?
01:14 * nothingmuch should shut up
01:14 nothingmuch shower et al are done
01:14 nothingmuch now covering up sofa with newspapers so cats won't give it a different color
01:15 nothingmuch ciao
01:16 lucs Aren't you sleeping yet? :)
01:16 nothingmuch well, sleeping depends on higene
01:16 nothingmuch hygene
01:16 nothingmuch and hygene depends on warm water
01:16 nothingmuch and sleep also depends on a non-empty stomache
01:17 nothingmuch and i am usually very very slow at going to sleep
01:17 nothingmuch *poof*
01:18 Darren_Duncan has joined #perl6
01:19 Darren_Duncan Hello, is this thing on?
01:22 lucs what?
01:22 lucs Er,
01:22 lucs On what?
01:34 Darren_Duncan that answers my question - I've been on private with nothingmuch the last few minutes to hash that out
01:34 nothingmuch shutup, i'm sleeping
01:34 nothingmuch you're ruining my credibility
01:34 nothingmuch ;-)
01:34 Darren_Duncan yes, he's sleeping -- sshh
01:35 lucs :)
01:35 Darren_Duncan ... for real in a few minutes
01:35 Darren_Duncan to prove you're asleep, you must not reply to anything said here
01:35 nothingmuch Darren_Duncan:  http://mark.stosberg.com/Tech/darcs/cvs_switch/
01:35 nothingmuch has quit IRC ()
01:41 xern has quit IRC ("leaving")
01:41 xern has joined #perl6
01:50 Darren_Duncan back later ...
01:50 Darren_Duncan has left
01:56 Darren_Duncan has joined #perl6
02:00 ingy hola
02:00 ingy MakeMaker is kicking my ass
02:00 Darren_Duncan how hard?
02:01 ingy not too hard yet...
02:01 ingy hard for an amateur
02:01 ingy but I've been here before
02:01 ingy I will prevail
02:01 ingy and we will be able to write Perl6 modules
02:02 Darren_Duncan I haven't seen most of the uglies yet, since a very short WriteMakefile() has done what I need.
02:03 Darren_Duncan I still haven't written the missive on Perl6 modules naming that I was planning to send to the email list, but maybe I'll say a bit here first, if that's better.
02:03 Darren_Duncan In brief ...
02:03 * ingy listens
02:04 Darren_Duncan 1. I agree with what was said here that Perl 6 code should be kept off CPAN for now ...
02:04 Darren_Duncan and just include it in the Pugs repository 'til we have time to do CPAn right
02:04 Darren_Duncan 2. I think that Perl 5 module names shouldn't be a limitation for Perl 6 ...
02:05 edgewalk1r has joined #perl6
02:05 Darren_Duncan We should be able to learn from the decade plus of actual modules that were put into CPAN as it currently is, to get an idea what kind of stuff actually gets made and used.
02:06 Darren_Duncan The current perl 5 module organization is very ad-hoc, ...
02:06 Darren_Duncan The main categories as they exist today were planned many years ago, when the major uses of Perl were a bit different ...
02:06 ingy I agree with both points. I also don't mind the  ad-hoc ness
02:06 lucs s/ness/mess/ ?
02:06 Darren_Duncan Ad-hoc isn't bad per se, but let me finish ...
02:06 ingy I think policing  the namespaces is futile
02:07 ingy hi lucs
02:07 lucs BOnsoir ingy
02:07 Darren_Duncan What I propose is a separate CPAN name space for Perl 6 modules, which starts out with zero names used or reserved ...
02:07 Darren_Duncan No old module name is sacred ...
02:08 * ingy nods
02:08 Darren_Duncan The new one can still be ad-hoc
02:08 Darren_Duncan But it will start over, with stricter entry requirements from the start ...
02:08 Darren_Duncan Kind of what [email@hidden.address] is trying to do with Perl 5 modules, but that is hampered by all the legacy stuff ...
02:09 Darren_Duncan With Perl 6, legacy stuff isn't a holdback right now ...
02:09 obra stricter entry requirements?
02:09 mugwump How about "has read and reviewed alternate solutions that exist on CPAN already" as a strict entry requirement :)
02:09 Darren_Duncan What I mean, is that to get a lock on a module name, you need to convince people that it should be used, rather than it just being yours by default
02:09 obra so you want to get rid of first come first serve?
02:09 Darren_Duncan This speech now is a draft, grammer isn't my biggest concern
02:10 ingy imo, much of the cpan mess could be untangled with metadata
02:10 Darren_Duncan Some aspects of the current system are fine
02:10 Darren_Duncan But if we start over, we should have some approval process for when the first person comes along and wants a "prime" name.
02:11 mugwump cpan-fuhrers@perl.org
02:11 obra I think this is something larry will really need to comment on
02:11 Darren_Duncan anyway, how I suggest we start off ...
02:12 Darren_Duncan Examine what modules currently exist on CPAN, and pretend we have free reign to reorganize and rename them into more logical ways, not worrying about backwards compatability ...
02:12 Darren_Duncan We don't have to do every module per se...
02:12 mugwump That's a mammoth task in itself, Darren.
02:12 ingy and a boring one
02:12 * rooneg thinks it sounds like a long, pointless argument just waiting to happen, for little gain
02:12 Darren_Duncan But essentially come up with, say, 50-100 categories that they could fit into, and or semi-formal schemes for grouping
02:13 mugwump But what about modules that don't fit cleanly into one category or another?
02:13 Darren_Duncan That will be adapted to
02:13 Darren_Duncan My main point is that things don't have the exact same categories as now just because that's the way it always was ...
02:13 ingy I am going to opt out of this can of worms for now, and go back to fighting MM
02:14 Darren_Duncan This can and should be done and agreed to as a community of course, though a few individuals can make suggestions to start off...
02:14 Darren_Duncan The suggestion doesn't have to be exhaustive
02:14 mugwump OK.  First of all, I think that you need to remove the conceptual hard link between module namespaces and module "categories", whatever that means
02:15 mugwump The names of individual modules need to be carefully considered, for sure.  But too much emphasis on categorising by names leads to overly long package names
02:15 rooneg I really don't see what's wrong with the current scheme...  The one thing I think is probably worth worrying about is a "land grab" effect when you open up the new namespace and people start running to stake a claim on top level useful sections of the namespace.
02:15 Darren_Duncan When I say "category", I mean that hierarchy you see on search.cpan.org
02:16 mugwump I agree that modules shouldn't be *indexed* (ie, automatically installable via perl -MCPAN -e'install Foo' without the module being announced
02:16 Darren_Duncan Mainly I propose re-evaluating what the top-level namespaces are
02:16 Darren_Duncan The new one could be loosely similar, but we can be free to "clean up"
02:17 Darren_Duncan For example, move the DBI Drivers from "DBD::*" to "DBI::DBD::*, to more clearly illustrate their relationship to DBI.
02:17 obra darren, how long have you been involved with modules@ and the current module list?
02:17 Darren_Duncan I've been a CPAN contributor for almost 5 years now.
02:18 obra differerent question
02:18 mugwump Darren, if you think about it - do you think that if the "categories" on the front of the CPAN page were actually generated from modules, each with seperate maintainers, that the *real* problems would be fixed?
02:18 obra I mean volunteering to help keep things sane.
02:18 obra (by answering inquiries on modules@)
02:18 mugwump ie, the problems of not being able to see all the modules that solve a particular or related set of problems...
02:18 Darren_Duncan I'm just throwing ideas out there ... some that other people seem to agree with.
02:19 Darren_Duncan If nothing else, the idea is that things would be as if [email@hidden.address] vetted all module names, and not just the newer modules.
02:20 obra Fear. That would imply that they'd have to approve every name. 95% of the time, they don't even acknowledge a request for namespace reservation
02:20 ingy due to the nature of MM, putting perl6 modules in blib is problematic. does `blib6` sound reasonable?
02:20 Darren_Duncan Sure, groupings and lookup on the search web sites are a separate issues from actual module namespaces
02:20 mugwump sounds good to me, ingy
02:21 edgewalker has quit IRC (Read error: 110 (Connection timed out))
02:21 Darren_Duncan I think that part of the fear is because so many people are trying to get in, and there is some legacy cruft to deal with ...
02:22 ingy unfortunately, a pugs `make install` installs perl5 *and* perl6 modules, which is making life hard for me
02:22 obra Also, I thought that perl6 would allow us to have, for example, two entirely different versions of a module in use within a single program
02:22 obra so, module names become much less important than distnames
02:22 Darren_Duncan I am at least hoping for the "good practice" namespace choices of the Perl 6 modules to be looked at like Perl 6 itself was, and consider fixing things.
02:22 ingy obra: distnames are articial too
02:22 ingy they aren't important
02:23 obra well, they'll still need to be unique for 6pan to not be terribly hurtful to build
02:23 ingy say they are prefixed with ingy/Foo-Bar and  obra/Foo-Bar
02:23 Darren_Duncan I consider Perl 6 module names to exist in a completely separate namespace from Perl 5 ones anyway, just as each is a completely separate namespace from Python or Ruby etc modules. ...
02:24 Darren_Duncan Hence, a Perl 6 module "foo::bar" can be completely unrelated to a Perl 5 module with the same name, and programs in either language that include the module won't be confused ...
02:24 Darren_Duncan By default, if you require "foo::bar", you'll get the one in the same language ...
02:24 Darren_Duncan You require the one in the other language the same way you require, say, a Python module
02:24 Darren_Duncan does that make sense?
02:25 Darren_Duncan the 'require' has a namespace addition to specify language
02:25 obra unless transparently calling perl5 code from perl6 actually ends up being a requirement.
02:25 Darren_Duncan I hope that it doesn't
02:26 Darren_Duncan While Perl 6 is itself quite similar to Perl 5, each should regard the other as if it were Python or Ruby etc
02:26 mugwump why?
02:26 Darren_Duncan that's simpler, isn't it?
02:26 Darren_Duncan I'm just talking about linking
02:26 theorbtwo has quit IRC (Read error: 110 (Connection timed out))
02:26 ingy Darren_Duncan: nobody says we're going to do things the same. almost everything will change.
02:27 ingy I plan on replacing cpan for instance :)
02:27 Darren_Duncan is that different than what I said?
02:27 Darren_Duncan re replacing cpan?
02:27 ingy but you are talking in terms of cpan
02:28 ingy instead of thinking way beyond it
02:28 Darren_Duncan So you are starting more from scratch while I was talking about deltas?
02:29 Darren_Duncan Is there still a need, in your new system, that the community coordinates what each person uses for their module names, so they don't conflict and group together nicely?
02:29 ingy probably not
02:32 ingy I need to know a bit more about perl6 namespacing
02:32 Darren_Duncan So then each person can name their module anything they want, and it won't cause anyone trouble?
02:32 ingy not from the dist sense
02:32 Darren_Duncan okay, I'll wait
02:32 ingy from the internals sense
02:33 mugwump read S10-S12 if you haven't already, Darren
02:33 Darren_Duncan I'll review them
02:33 mugwump I see quite a few situations in which a module with the same name might potentially have multiple candidates;
02:33 Darren_Duncan even when those modules are unrelated?
02:34 mugwump 1. another programmer releases another version of a module without there being an official torch-handover
02:34 obra Sub::Versive
02:34 mugwump 2. different production levels (live vs dev vs test...)
02:34 Darren_Duncan Take, for example, one person using "Db::Simple" for a general debugging module, and another uses the same for a database module ... is this a problem?
02:34 mugwump 3. programs *requiring* old versions of a module
02:35 obra it's unlikely anyone will want to compete with tim bunce for DBI::, but I can see different people doing a module called, for example, "Test"
02:36 Darren_Duncan I'm hoping for at least a bit more controls in the community to prevent big namespace abuses.
02:36 mugwump 4. two completely different modules that happen to be named the same
02:36 mugwump One observation;
02:36 Darren_Duncan Eg, most existing modules use 'Db' for debug, but a largeish distro from 2000- uses it for databaase
02:36 mugwump - when you "use Foo", you are requiring an *API*, not a module
02:38 mugwump that API might be provided from several places
02:38 Darren_Duncan Re DBI, sure, while nothing's sacred, we can probably assure that this is one of the few that stays with its previous owner
02:39 Darren_Duncan If 'use' refers to an API requirement, do we need to register API names then, instead of modules, so several unrelated modules don't pick the same one?
02:39 Darren_Duncan I see that as being loosely the same kind of problem
02:39 tmoertel has joined #perl6
02:40 obra I think that "control" is one thing the perl community has been good at avoiding.
02:40 obra and that it's one of the reasons that perl has flourished.
02:40 Darren_Duncan It doesn't have to be strict.
02:41 obra what's the advantage of having "loose" control? making sure that unknowns don't grab "useful" namespace?
02:41 Darren_Duncan I just mean having [email@hidden.address] (eg) type discussion prior to people uploading modules
02:41 obra but having it be required and having the group have to say "ok", If I understand you right.
02:41 Darren_Duncan 'control' as in 'more encouragement and feedback to developers as to what would be good descriptive names for their modules
02:42 Darren_Duncan in the end, developers can still upload what they want
02:42 Darren_Duncan as they do now
02:42 Darren_Duncan maybe 'control' was the wrong word
02:42 obra so, you just want [email@hidden.address] to continue to exist?
02:42 obra possibly, as a more open forum?
02:42 Darren_Duncan yes, I just prefer that every Perl 6 module use it, rather than just the newer ones
02:42 obra but what does "use it" mean?
02:43 obra "Hi, I have a module that I call HatePerl. I'm uploading it!" 'that's a bad name, it should be Perl::Hate' "Too late, I uploaded it"
02:43 Darren_Duncan Unless I'm wrong, the earlier CPAN modules were created prior to the modules@ forum existing, ...
02:43 obra modules@ doesn't add much value
02:43 obra most inquires get blackholed.
02:43 Darren_Duncan Okay, a replacement for modules@ that does what it was intended to do
02:44 obra and authors just upload anyway, without any feedback
02:44 rooneg so you want people to ask modules@ before uploading, but you don't want to require aproval?  i fail to see how this is any different from what we have today?  nothing requires people to ask, and nothign requires people on modules@ to respond, so what have you gained?
02:45 rooneg i'm not saying that something more strict is needed, but if the consensus is that it is, then you aren't going to change anything by saying "please do this, it's the right thing to do".
02:45 Darren_Duncan details aside, I hope that it would be easier for developers to get more feedback on their namespace choices early, prior to new legacy code being made that creates a lock on a name change
02:46 mugwump OK, I've put a little brainfart at svn://utsl.gen.nz/trunk/Guide, probably only lib/Guide.pod is worth reading, even though it contains completely unfinished sentences in places :)
02:46 Darren_Duncan As I said, a fair number of modules have less than optimal names, at least by current standards, but they stay as they were because legacy code expects it
02:46 mugwump The idea is, that the "Guide::" namespace is for reviews and maps of CPAN
02:46 mugwump the namespace remains in its current state of anarchy
02:46 mugwump people who do research can put stuff in that namespace
02:47 mugwump (ie, research into options on CPAN)
02:47 mugwump There's also Review:: for individual module reviews, and HOWTO:: for task-oriented stuff
02:47 obra but I want to use Guide:: for tools for the blind
02:47 Darren_Duncan perhaps a better solution could be to have an elegant technical way for people to rename modules later, and old code not break ...
02:47 * mugwump wedgies obra
02:48 Darren_Duncan because something in Perl will automatically translate requests for the old module name to the new name ...
02:48 obra actually, I believe there are symbol table alias modules in cpan now that will do that, darren
02:48 Darren_Duncan are they elegant and simple to use?
02:48 obra dunno. I've never renamed a module.
02:48 Darren_Duncan and old code doesn't have to be modified to employ them?
02:48 obra maybe it makes more sense to spend time on that question
02:49 mugwump So, anyway ... in these "Guide" modules (or whatever namespace is eventually picked, bearing in mind that namespace clashes aren't a problem per se), the One True namespace is mapped out...
02:49 Darren_Duncan if this can be done elegantly, then the names people pick will become a lot less important, and anarchy can reign without problem
02:49 mugwump The only thing special about the "One True" namespace is that you don't have to "use lib" (or an equivalent) to specify it
02:50 metaperl has quit IRC (Read error: 110 (Connection timed out))
02:50 mugwump ie, make it a common practice that if you want to include non-"Core" modules, then you have to include a namespace administered by someone else
02:50 Darren_Duncan On the other hand ...
02:50 mugwump The terms are all a bit hazy there.  So, you could go, 'use Namespace "DUNCAND"' or something like that
02:51 Darren_Duncan Perhaps it would be useful to maintain a FAQ-like document that works sort of like a standards committee ...
02:51 Darren_Duncan Pre-define some suggested namespaces for Perl 6 ...
02:51 Darren_Duncan people can still do what they want, but if a lot adapt that suggestion, things can be much cleaner
02:53 Darren_Duncan If such a document were made and worked on by the community now, before any Perl 6 modules exist, then it can be a lot more beneficial
02:53 mugwump or you could go, "namespace FreePAN;" to default to ingyful delights
02:53 mugwump something like a meta-@INC
02:56 Darren_Duncan In any event, the new Perl 6 module collection should be free of abandoned modules and have a much higher signal-to-noise ratio ... at least for a little while
02:57 mugwump the biggest problem is creating the map of cpan to use as a base for this new improved list, imho
03:01 * mugwump re-reads http://dev.perl.org/perl6/synopsis/S11.html
03:04 obra the Versioning section is an interesting read
03:05 mugwump sure is
03:05 obra I'm pretty sure we can do that today
03:05 mugwump in pugs?
03:05 obra perl5
03:05 Darren_Duncan still reading S11
03:05 obra now I want that in perl5. badly
03:06 mugwump ok.  one thing I think is missing in S11's versioning section is the implementation rules for what (Any) means...
03:07 obra you mean a precedence?
03:07 obra I'd bet on "first in search path"
03:08 mugwump sure.  Which is a nice system, especially if it's guaranteed that you can install modules to non-Perl locations (ie, not just site_perl)
03:08 mugwump it's simplicity and principle of least surprise may mean that it will be the final answer,
03:10 obra it should get specced, though
03:10 mugwump This comes back a bit into the @INC problem that ingy's bashing his head against, too
03:13 Odin-LAP has quit IRC ("What's this button do?")
03:13 mugwump there is a *lot* of systems integration behaviour that needs to be covered by the design
03:14 b6s has joined #perl6
03:23 rooneg has quit IRC ("Leaving")
03:26 mugwump see also http://dev.perl.org/perl6/rfc/78.html
03:27 Darren_Duncan Right, so from what I've seen in S11, the Versioning section, it is easy enough to get rid of any technical problems from multiple individuals giving their modules the same name.
03:28 Darren_Duncan So then what I was discussing earlier just relates more to best practice suggestions for module names, to make them descriptive, evoke similarity in related modules, and dissimilarity in unrelated modules.
03:29 mugwump Again, I think that the amount of space in a module name is too short for that to work all the time
03:29 Darren_Duncan Obra, I agree with wanting this Versioning feature in Perl 5.
03:30 mugwump tie @INC, 'Muahahaha'
03:30 Darren_Duncan I haven't read the part where name size limitations are mentioned, will get to it ...
03:30 metaperl has joined #perl6
03:31 obra tied @INC is very doable
03:32 obra that wasn't what I had in mind though. to do thsi right, you need to do some deep symbol table magic
03:32 obra "Tied symbol table"
03:32 mugwump tying stashes works, apparently - for some definition of "to work", that is
03:33 mugwump multiple versions of the same module in memory at once is probably not a good idea right now
03:33 mugwump But hey - there's nothing to say that Perl 6 features can't be backported to Perl 5 :)
03:33 obra -freenode2 mugwump, you know about only.pm, right?
03:35 mugwump no, I didn't.  that is probably the most relevant Perl 5 module that relates to what we're talking about, I guess
03:35 obra there's other stuff out there, but I don't recall where
03:36 mugwump that's ok, ingy's officially cargo cult afaik
03:37 mugwump looks like a decent enough API for Perl5
03:37 fayland has joined #perl6
03:38 fayland autrijus, can i ask u something about the translation work of Apocalypse.
03:39 obra fayland, he'll see it when he wakes up. you should just ask
03:39 fayland I'm Chinese. and I heard from hoowa that u guys are doing this work, i want to join.
03:39 fayland Thanks obra
04:00 Darren_Duncan has quit IRC ()
04:06 edgewalk1r is now known as edgewalker
04:21 fayland has quit IRC (Read error: 113 (No route to host))
04:30 autrijus greetings lambda camels.
04:30 * autrijus finished backlogging
04:30 autrijus needs to be at $client_site for $silly_meeting
04:31 autrijus in an hour.
04:31 * autrijus tries to lift a finger and get off bed
04:31 autrijus nothingmuch++ # absolutely fantastic rate of productivity
04:34 obra call in sick, autrijus?
04:35 autrijus not going to happen
04:37 obra :/
04:37 * autrijus sighs and starts to get up
04:38 lucs Morning autrijus.
04:38 mugwump has quit IRC (Read error: 60 (Operation timed out))
04:39 lucs Say, can you point me to which file(s) you needed to change to correct the int() bug please? (Just trying to get a handle on the code.)
04:39 autrijus sure
04:40 autrijus AST.hs governs casting
04:40 lucs Oh, it was a casting issue?
04:40 autrijus yup, since int() is a caster
04:40 autrijus like ~ and ?
04:40 lucs Ah. Thanks. I need to keep reading about Haskell :)
04:40 autrijus so "instance Value VInt" is the caster
04:40 autrijus I just changed "round" to "truncate"
04:41 lucs Aha.
04:41 autrijus so the block starting liene 16 reads:
04:42 autrijus "to cast a VInt type into a Val, apply the VInt constructor to it"
04:42 autrijus "to cast a Val into a VInt type, analyze its constructor:
04:42 autrijus if it is a VInt, simply take its value
04:42 autrijus if it is a VStr, try to read a int from the beginning of the string; if fails, yield 0
04:43 autrijus otherwise, cast it into a floating number, then truncate that number."
04:43 autrijus clear as ink :)
04:43 lucs Er, right :)
04:44 lucs Hmm... Are you reading that in AST.hs? I don't seem to have such text in my copy...
04:44 autrijus I'm commenting on it
04:44 autrijus the code is
04:44 autrijus instance Value VInt where
04:44 autrijus    castV = VInt
04:44 lucs Oh, sorry, I thought you were quoting the code.
04:45 autrijus I didn't add any comments in the code :) if you'd like to start docs/src/AST.(kwid|pod), be my guest
04:45 lucs Hehe :)
04:47 autrijus hmm nothingmuch is not here
04:47 autrijus but I know he backlogs, so here goes:
04:47 lucs He went to bed about an hour ago.
04:47 autrijus nothingmuch: I've set up http://pugscode.org/donate.html at your request; it's not linked from anywhere; it's just there to save you from programming WWW::Mechanize to do the same thing :)
04:51 * autrijus ponders whether linking to it from pugscode page is a good idea.
04:51 autrijus but, work. &
05:15 bd_ has quit IRC (Read error: 110 (Connection timed out))
05:24 Aankhen`` has joined #perl6
05:42 Steve_p has quit IRC (Read error: 60 (Operation timed out))
05:43 nothingmuch has joined #perl6
05:44 nothingmuch morning
05:45 lucs Wow. You didn't get much sleep, did you.
05:46 nothingmuch no
05:46 nothingmuch =
05:46 nothingmuch P
05:47 nothingmuch nevermind, i had fun
05:47 lucs Heh
05:49 Aankh|Clone has joined #perl6
05:50 Aankhen`` has quit IRC (Read error: 60 (Operation timed out))
05:52 Aankh|Clone is now known as Aankhen``
05:54 Darren_Duncan has joined #perl6
05:55 Darren_Duncan Okay, personal status report ...
05:56 Darren_Duncan 1. I completed the rt.openfoundry.org registration
05:56 Darren_Duncan 2. Installed SVN and checked out Pugs.
05:56 Darren_Duncan 3. There is no #3.
05:56 Darren_Duncan Fairly soon I'll upload the start of Locale-KeyedText under /ext, such as tomorrow.
06:03 nothingmuch Darren_Duncan++
06:04 Darren_Duncan les'un I'm confusing names, weren't you supposed to be in bed?
06:04 nothingmuch time to go to working
06:05 nothingmuch as you can see by my typing, i've clearly slept enough
06:06 Darren_Duncan sounds good -- on my end, I was last talking to you around 17:30h; it is now 22:00h here, and *I* will soon go to bed
06:06 Darren_Duncan anyway ...
06:06 Darren_Duncan svn seems easy enough to use so far
06:06 * nothingmuch started talking to you at 3:30
06:06 nothingmuch it's now 8:06
06:06 nothingmuch =/
06:06 nothingmuch svn indeed is rather simple
06:07 nothingmuch if you know cvs,
06:07 Darren_Duncan my next step is to actually run the Pugs program, which I haven't done yet ...
06:07 nothingmuch get the GHC binary on mac
06:07 nothingmuch it tends to work the best
06:07 Darren_Duncan I see you stayed up late ... I'm up 'til 3am sometimes, usually just to 1am though
06:07 Darren_Duncan Oh yeah, actually I downloaded GHC yesterday
06:07 Darren_Duncan just have to install and run it ... or just run it
06:08 nothingmuch well, good luck then
06:08 nothingmuch anywho, i have to go to work
06:08 nothingmuch see you when i get there
06:08 Darren_Duncan right then
06:08 Darren_Duncan is your work connected with this?
06:08 nothingmuch no
06:08 nothingmuch that's why i stay up till 3 am to work on hobbies
06:08 nothingmuch since at work i must do other things ;-)
06:08 nothingmuch err, 4 am
06:09 Darren_Duncan I'm on the verge of starting my own business, and so "this" plus work are connected
06:09 Darren_Duncan gotta do what you love
06:09 nothingmuch indeed
06:09 * nothingmuch doesn't see himself starting a carreer in sw engineering though
06:09 nothingmuch academia... math & linguistics
06:09 Darren_Duncan what do you do then?
06:10 Darren_Duncan or maybe you answered that
06:10 nothingmuch maybe make extra playing at some sleezy nightclub
06:10 nothingmuch and writing screenplays every once in a while
06:10 nothingmuch oh well, we'll see
06:10 nothingmuch my whole life is ahead of me
06:10 nothingmuch ride is here
06:10 nothingmuch *poof*
06:10 nothingmuch has quit IRC ()
06:24 justatheory has joined #perl6
06:39 ingy autrijus: ping
06:39 Darren_Duncan ping ping ping
06:40 Darren_Duncan maybe this was already said, but on my first install of Pugs just now, the Makefile gives a missing file error: t/op/assign.t
06:44 joejiang has joined #perl6
06:45 lucs Yeah, it's just an error in the MANIFEST.
06:46 Darren_Duncan I think I know what needs doing ... is it fine if I make this MANIFEST change as my first commit?
06:47 Darren_Duncan Regarding revision 483, it looks like t/op/assign.t became t/syntax/decl_vs_assign_prec.t  ... maybe.
06:48 lucs Yes. nothingmuch did that.
06:48 Darren_Duncan The change note said assign.t was moved to syntax, and this is the most similar looking file name.
06:48 joejiang has quit IRC (Client Quit)
06:48 joejiang has joined #perl6
06:49 Darren_Duncan nothingmuch is currently on his way to work; he said he would check in on arrival but no comment yet; he left home 39 minutes ago
06:49 Darren_Duncan do you see any problem if I perform this MANIFEST change?
06:49 Darren_Duncan don't want to step on someone else's section
06:50 ingy it's a MANIFEST  for fook sake
06:50 ingy just commit it if you want
06:50 Darren_Duncan just being cautious, but I'll go ahead
06:52 joejiang has quit IRC (Client Quit)
06:53 joejiang has joined #perl6
06:53 luqui has quit IRC ("leaving")
06:56 nothingmuch has joined #perl6
06:57 * nothingmuch works now
07:05 * lucs &#ZZ
07:05 nothingmuch good night, lucs!
07:05 lucs Thanks, see ya.
07:05 Darren_Duncan right then, my first commit seems to work, r486 ... very trivial MANIFEST update
07:06 Darren_Duncan more important stuff to go in later
07:07 Aankhen`` has quit IRC (Read error: 60 (Operation timed out))
07:07 justatheory has quit IRC (Read error: 60 (Operation timed out))
07:07 Aankhen`` has joined #perl6
07:10 * nothingmuch argues that make manifest should be used
07:10 nothingmuch i wonder why it isn't
07:12 Darren_Duncan who knows ... to be honest, I didn't know that command existed ... just updated it manually this time, as with every other time
07:13 nothingmuch dear god
07:13 nothingmuch s02 is giving me the heebie jeebies about quoting
07:14 Darren_Duncan I ran it now ... and it added 12 more files (actually 14, but I'll get rid of the .DS_Store ... or I'll add that to SKIP)
07:14 nothingmuch always add to MANIFEST.SKIP
07:14 nothingmuch MANIFEST should be in the VCS list of files never to add to revision control
07:18 Darren_Duncan I added .DS_Store to MANIFEST.SKIP, and a subsequent "make manifest" then deleted the 2 such lines the previous one added.
07:19 Darren_Duncan About your last comment, does this indicate something I should do?
07:19 Darren_Duncan Don't see why, though, since distros need that file.
07:19 nothingmuch make manifest will do it properly
07:20 nothingmuch 'make manifest' should be part of the release making shell script
07:20 nothingmuch in darcs it goes into 'darcs prefs predist "blah blah"'
07:20 nothingmuch other VCSs prolly have other hooks
07:20 nothingmuch the point is, you're supposed to be able to say 'sh make_dist.sh'
07:20 Darren_Duncan anyway, I'll commit the 2 updated files in a minute
07:21 nothingmuch and get a complete release, with correct version info, correct MANIFEST, SIGNATURE, META.yml
07:21 nothingmuch and there are good, reliable tools to do this
07:21 Darren_Duncan I know that "make dist" did the META.yml for me
07:25 nothingmuch my ($foo, $bar) = ("FOO", "BAR"); say "foo=-$foo- bar=-$bar-"
07:25 nothingmuch ugg
07:25 Darren_Duncan svn question ...
07:25 nothingmuch ask away
07:25 saorge has quit IRC ("Bye les gens")
07:26 Darren_Duncan on asking "svn status", I got a line saying "? MANIFEST.bak"; do I need to do anything special to prevent this from being included in the commit; the .SKIP file mentions it, if that matters
07:26 nothingmuch it won'
07:26 rgs It's not part of the working copy, so it won't be committed (as the ? indicates)
07:27 nothingmuch t be committed
07:27 nothingmuch it has no A at the begining
07:27 nothingmuch that is to say, you did 'svn add' on it
07:27 Darren_Duncan okay
07:27 Darren_Duncan I did not "svn add" it
07:27 Darren_Duncan right, that's good
07:30 Darren_Duncan okay, that commit is done; and I see you did one too
07:30 * nothingmuch commits like a madman
07:30 nothingmuch in fact, 3-4 of luqui's commits from yesterday were patches i submitted =)
07:31 Darren_Duncan I'll add+commit the first Locale::KeyedText in a few days, after I've completed my current round of Perl 5 module CPAN uploads, and have more time to think about the details of Perl 6
07:31 nothingmuch good luck!
07:31 nothingmuch note that we have many many missing features
07:31 nothingmuch objects
07:31 nothingmuch rules
07:32 nothingmuch proper quoting
07:32 nothingmuch it won't be easy
07:32 Darren_Duncan I don't expect the code to run the first time
07:33 Darren_Duncan so it's now 23:32h here, I'll sign off and try to sleep at normal hours, see youse later
07:33 nothingmuch what I really really hope you do is write a test for every feature you want to use while you write it
07:33 nothingmuch and also write unit tests for that module, making use of a broad range of features
07:34 Darren_Duncan my Perl 5 unit tests should, while I didn't test it, give 100% code coverage ... or maybe 98%
07:34 nothingmuch well, good night!
07:34 nothingmuch welcome aboard!
07:34 Darren_Duncan and I'm glad
07:35 Darren_Duncan this is the closest to core Perl 6 development I've ever been ... previously I was hanging out in the database modules groups mainly
07:35 luqui has joined #perl6
07:35 Darren_Duncan ... or the core list for SQLite itself, and having some influence there
07:36 nothingmuch morning luqui
07:36 luqui evening nothingmuch
07:36 Darren_Duncan evening luqui
07:36 nothingmuch many tests for you to implement, if you feel like it =)
07:36 nothingmuch a few bugs
07:37 luqui any requests?
07:37 Darren_Duncan my "make test" says t/parser.t is dubious but yet "all tests pass"
07:37 luqui that's the kwid thing... weird
07:37 Darren_Duncan t/parser....v-strings are deprecated at t/parser.t line 1.
07:37 Darren_Duncan Perl v6.0.0 required--this is only v5.8.1, stopped at t/parser.t line 1.
07:37 Darren_Duncan BEGIN failed--compilation aborted at t/parser.t line 1.
07:37 nothingmuch r489
07:38 nothingmuch r487 (should be trivial)
07:38 nothingmuch r484
07:38 nothingmuch get commented out things in r485 to parse, but perhaps be no ops
07:38 luqui trivial... I like the sound of that
07:39 nothingmuch what about r482? you were working on that yesterday
07:39 nothingmuch i guess it's just a matter of the allowed charset in what is an variable name molecule
07:39 luqui this morning, yeah...
07:39 luqui I couldn't get it
07:40 nothingmuch your morning, my yesterday... same thing ;-)
07:40 hoowa has joined #perl6
07:40 hoowa good afternoon!
07:40 Darren_Duncan updated to r489, which said t/assign.t was added ... didn't you move it elsewhere in 483?
07:40 nothingmuch that's a different t/assign.t
07:40 nothingmuch it checks an operation bug
07:40 Darren_Duncan I meant /op
07:40 nothingmuch the previous tested a parsing bug
07:40 nothingmuch that happenned to have to do with assignments
07:41 nothingmuch since that was moved to t/syntax/.... another file was added
07:41 Darren_Duncan ok, same filename, different reason
07:41 nothingmuch otherwise they would have been one file
07:41 nothingmuch uhuh
07:42 Darren_Duncan "make test" on v489 gave same error
07:42 Darren_Duncan wasn't sure if your "r489" comment meant you fixed it or not
07:42 luqui uhh... it looks like ! is explicitly included in the list of characters to match
07:42 luqui I wonder why...
07:42 nothingmuch Darren_Duncan: perl Makefile.PL
07:42 ingy Darren_Duncan: did you check in a MANIFEST?
07:43 Darren_Duncan yes
07:43 Darren_Duncan to the MANIFEST
07:43 nothingmuch that should look for tests again
07:43 ingy It seems wrong
07:43 nothingmuch VCSing MANIFEST files /is/ wrong ;-)
07:44 Darren_Duncan that policy wasn't set by me
07:44 luqui ahh.. autrijus added ! because of $!
07:44 nothingmuch oh, right
07:45 nothingmuch i think that's a special case, not a general rule of how var names are allowed to be named, is it?
07:45 luqui right.  that might be the only punctuation variable
07:46 luqui no, there's $/ also
07:46 nothingmuch $/ is still there?
07:46 luqui it's what I said $0 was earlier
07:46 luqui the match object
07:46 nothingmuch ah
07:46 nothingmuch so what is $0?
07:46 luqui the first match :-)
07:46 luqui (it's zero-based now)
07:46 nothingmuch heh
07:47 Darren_Duncan that's more normal
07:47 nothingmuch that's bound to make people cry
07:47 nothingmuch it is
07:47 Darren_Duncan pfft
07:47 nothingmuch but the question is whether you're consistent with your past or others'
07:47 nothingmuch nevermind, i prefer consistency over backwards compatibility
07:48 Darren_Duncan I do too
07:48 Darren_Duncan waaaay better that Perl 6 is consistent with itself than it is with Perl 5
07:48 nothingmuch luqui: so, will var be now a punct | \w?
07:48 luqui hmm?
07:48 nothingmuch ruleVarNameString = do
07:48 nothingmuch ...
07:48 luqui ahh
07:48 luqui yeah
07:48 nothingmuch name    <- many1 (choice [ wordAny, char ':', char '!' ])
07:49 nothingmuch should it be made so that name is either that, or that?
07:49 luqui hmm, $*!?
07:49 nothingmuch don't ask me
07:49 nothingmuch =)
07:49 luqui let's say no
07:49 luqui so it's either $!, $/, or [$@%&]\w+
07:50 nothingmuch uhuh
07:50 Darren_Duncan okay, I'm really outtahere this time
07:50 nothingmuch ciao, Darren_Duncan!
07:50 Darren_Duncan same to you
07:50 Darren_Duncan 3
07:50 Darren_Duncan 2
07:50 Darren_Duncan 1
07:50 Darren_Duncan has quit IRC ()
07:52 nothingmuch ok, i'm moving that test into t/syntax/var_names
07:52 metaperl has quit IRC (Read error: 60 (Operation timed out))
07:52 nothingmuch and also testing that $! parses, despite the fact that $fo!o does not
07:53 luqui okay, i just fixed it... running a test before ci
07:53 luqui of course, $fo:o::b:ar still parses, and it certainly should not
07:54 rgs has quit IRC (Remote closed the connection)
07:54 rgs has joined #perl6
07:54 nothingmuch oi oi oi
07:55 luqui what?
07:55 nothingmuch your comment
07:56 nothingmuch it's ouchy
07:56 luqui fix committed
07:57 nothingmuch ok, i'm actually going to zap the change to t/op/string_interpolation.t and move it to t/syntax/varnames.t
07:57 nothingmuch with a test for $! is ok, $f!ao is not, and $fo:o::b:ar is not
07:57 nothingmuch the latter todo
07:58 luqui okay
07:58 nothingmuch and for $/ too, as todo
07:58 luqui I made $/ parse
07:58 luqui but I don't think it means anything yet
07:59 nothingmuch hmm
07:59 nothingmuch it's not parsing
07:59 nothingmuch i think
07:59 nothingmuch or maybe that's because it's undefined
07:59 luqui yeah it's parsing, it's just undefined
07:59 nothingmuch ok
07:59 luqui you might be able to declare it an assign to it.
08:00 nothingmuch ok((eval 'my $!; 1'), '$! parses ok');
08:00 nothingmuch ok((eval 'my $/; 1'), 'as does $/');
08:00 nothingmuch how will that handle if these become undeclarabe?
08:00 nothingmuch they pass now
08:01 luqui it'll probably die
08:01 luqui but we'll cross that bridge when it falls over
08:01 larsen has joined #perl6
08:01 nothingmuch morning larsen!
08:01 larsen Good morning.
08:02 nothingmuch i'll leave string_interpolation.t in place, i think
08:02 nothingmuch regression can't hurt
08:02 nothingmuch if some day the logic for interpolated and non interpolated var name parsing is split, this can serve as a sanity check
08:04 luqui good
08:05 nothingmuch now back to t/op/quoting.t
08:05 nothingmuch yuck
08:06 luqui umm, the first test in quoting.t is wrong
08:06 nothingmuch yup
08:06 ingy I WON!!
08:06 luqui really!?
08:06 nothingmuch won what?
08:06 luqui the race?
08:06 ingy I beat MakeMaker
08:06 luqui oh
08:07 nothingmuch Beat it?
08:07 ingy perl6 modules are installable now
08:07 luqui schweet
08:07 nothingmuch ingy++; # all though i don't really know what happenned ;-)
08:07 ingy nothingmuch: obviously you've never wrestled with MakeMaker
08:08 nothingmuch never
08:08 nothingmuch not going to either
08:08 ingy I have Test.pm in ext/
08:08 nothingmuch unless i get paid, like, $200 an hour
08:08 ingy as a regular Perl6 module
08:08 ingy and it still gets used properly for pugs tests
08:09 luqui very nice
08:09 ingy and then gets installed properly
08:09 ingy I also wrote Pugs::MakeMaker in ext
08:09 ingy for 3rd party perl6 modules
08:10 ingy drop in replacement for ExtUtils::MakeMaker
08:10 ingy I need to clean up a bit then checkin
08:11 joejiang has quit IRC (Read error: 60 (Operation timed out))
08:12 iblechbot has joined #perl6
08:13 nothingmuch wow, we have <word word2>!
08:14 nothingmuch coolness
08:22 nothingmuch beh
08:22 * nothingmuch can start weekly build at work
08:22 nothingmuch pugs is going on hold,,
08:22 nothingmuch want to see quoting.t so far?
08:22 joejiang has joined #perl6
08:24 flw has joined #perl6
08:26 larsen does 02atoms.t need a plan ?
08:28 nothingmuch i bet it does
08:35 whiteg has quit IRC (Read error: 110 (Connection timed out))
08:35 flw has quit IRC (Read error: 104 (Connection reset by peer))
08:37 nothingmuch larsen: are you a committer?
08:37 larsen no
08:38 nothingmuch sign up at openfoundry.org
08:38 ingy perlbot: seen autrijus
08:39 nothingmuch perlbot seen autrijus
08:39 nothingmuch beh
08:39 Khisanth perlbot does not have such a function
08:39 nothingmuch info says idle: 3 hours 39 minutes
08:40 nothingmuch larsen:
08:40 nothingmuch http://rt.openfoundry.org/Foundry/
08:42 wolverian wolverian@chronoa:~/code/remote/pugs$ svk
08:42 wolverian Weak references are not implemented in the version of perl at /usr/share/perl5/PerlIO/via/dynamic.pm line 61
08:42 wolverian ouch.
08:42 nothingmuch 5.005_3?
08:43 wolverian 5.8.4
08:43 larsen nothingmuch: I'm registered
08:43 wolverian this is on ubuntu; trying debian now.
08:44 larsen but I esitate to begin committing 5 minutes after my first checkout
08:44 nothingmuch larsen++
08:44 nothingmuch if you have input, why not?
08:44 nothingmuch no one will shoot you if you make an error
08:49 flw has joined #perl6
08:49 nothingmuch http://nothingmuch.wooblin​g.org/pugs/t/op/quoting.t
08:51 luqui has quit IRC ("leaving")
08:56 joejiang help
08:58 joejiang has quit IRC ("À뿪")
08:58 sorje_ is now known as sorje
09:02 cls_bsd_ 1/1 skipped: No Kwid parser yet
09:02 cls_bsd_ ok, sync again
09:05 cls_bsd_ http://nopaste.snit.ch:8001/2001 # hmm
09:12 domm has joined #perl6
09:16 wolverian okay, svk works on debian. :) (I have to ask someone why ubuntu's perl doesn't have weakrefs..)
09:17 hlafarge has joined #perl6
09:27 wolverian interesting, ghc on debian sid depends indirectly on gcc-2.95
09:27 wolverian that is pulling in too much on this poor old computer :)
09:28 ingy hola
09:28 ingy is pugs repos down again?
09:28 wolverian works here.
09:28 fayland has joined #perl6
09:29 ingy hmm. worked 2nd time
09:29 ingy stoopid intarweb
09:30 fayland is autrijus here?
09:31 ingy no
09:31 search__ has joined #perl6
09:31 fayland when will he come back?
09:32 ingy I don't know
09:32 fayland o, Thank u anyway.
09:32 ingy ok
09:32 ingy huge patch incoming....
09:33 ingy anyone around to test?
09:33 fayland me.
09:33 ingy ok good. give me a couple minutes
09:33 fayland fine.:)
09:33 trexy_ has quit IRC (Read error: 110 (Connection timed out))
09:35 joejiang_ has joined #perl6
09:35 marcusT has joined #perl6
09:36 sorje has quit IRC ("leaving")
09:36 sorje has joined #perl6
09:39 joejiang_ has quit IRC (Client Quit)
09:49 ingy fayland: still there
09:49 ingy 492 committed
09:50 fayland ya
09:50 ingy Perl6 module support is here
09:50 ingy could you up and  test for me
09:50 fayland ya, i'm just svn update
09:50 cls_bsd_ test?
09:50 hoowa has quit IRC (Read error: 104 (Connection reset by peer))
09:50 cls_bsd_ svk up -s
09:50 cls_bsd_ oops
09:51 ingy what is -s?
09:51 theorbtwo has joined #perl6
09:51 ingy ah... svk
09:51 fayland Simple::Module?
09:51 ingy ?
09:51 ingy Sample::Module
09:52 fayland o ,i see.
09:52 * clkao waves at ingy
09:52 ingy hi clkao
09:52 ingy I just added module installation and authoring support to pugs
09:53 ingy the tests for Sample::Module fail because pugs can't use a multinode module, like 'use Foo::Bar'
09:54 ingy we now have Pugs::MakeMaker
09:55 theorbtwo Don't you need to quote that, or put a :: sigil on it?
09:55 fayland perl makefile.pl? Cann't locate Pugs/MakeMaker.pm
09:55 fayland forgot to add path to lib?
09:55 ingy no
09:55 ingy fayland: you need to install pugs first :P
09:56 fayland ya, i install it
09:56 fayland installed
09:56 fayland pugs test.t?
09:56 ingy where did Pugs::MakeMaker get installed?
09:57 fayland the svn folder
09:57 ingy what?
09:57 fayland need cpan Pugs::MakeMaker?
09:57 cls_bsd_ No tests defined for Pugs::MakeMaker extension.
09:57 cls_bsd_ No tests defined for Test extension.
09:57 cls_bsd_ oops, wrong way
09:58 ingy gah, listen all
09:58 ingy svn up; make purge; perl Makefile.PL; make test; make install
09:59 fayland make purge? what's that? i'm new to svn
09:59 ingy gah... it's not svn
09:59 ingy it's a *make* target
09:59 ingy anyway, just do it
10:00 fayland o ,i use nmake , it don;t know 'purge'
10:00 ingy make purge resets your dist
10:00 ingy deletes all the intermediate build files
10:01 ingy oh good, windows
10:01 ingy need to test this on windows
10:01 theorbtwo has quit IRC (Read error: 104 (Connection reset by peer))
10:01 fayland and cd the modules/Sample-Module?
10:01 fayland then perl makefile.pl?
10:02 ingy did you do the other stuff?
10:02 fayland no 'nmake purge';
10:02 fayland no
10:02 ingy are you saying it doesn't work, or you didn't do it?
10:03 fayland Cann't locate the Pugs/MakeMaker.pm
10:03 fayland when i perl makefile.pl
10:03 ingy nopaste pugs -V
10:03 wolverian perlbot: nopaste?
10:03 perlbot Paste your code here and #perl will be able to view it: http://sial.org/pbot/perl
10:04 ingy wolverian: did you test this patch?
10:04 nothingmuch did anyone look at the quoting tests prototype?
10:04 wolverian ingy: no. give me a sec to up.
10:04 fayland :) I have to go to class.
10:04 ingy ok
10:04 fayland sorry.
10:04 fayland see u later.
10:05 nothingmuch can perlbot be convinced that nopaste for perl6 is different
10:05 fayland has left
10:05 ingy teaching windows users is hard
10:06 wolverian few files are missing.
10:06 ingy ?
10:07 wolverian it scrolled by already. MANIFEST stuff I assume. I'm on windows and I can't figure out how to make putty STOP THE SCROLLING while I try to look at the backlog.
10:07 wolverian (I want home already. :/)
10:07 mauke hmm, does ctrl-s work?
10:08 wolverian yes! thanks.
10:09 pasteling "wolverian" at 80.222.110.168 pasted "missing files" (6 lines, 185B) at http://sial.org/pbot/7946
10:09 wolverian I don't know how important that is. :)
10:09 theorbtwo has joined #perl6
10:09 wolverian mauke: how do I make it run again? help! :)
10:10 pjcj ctrl-q
10:10 mauke ctrl-q
10:10 wolverian thanks.
10:11 ingy wolverian: fixed. thanks
10:11 wolverian ingy: you're welcome.
10:11 wolverian testing now.
10:12 ingy wolverian: what is your os?
10:12 wolverian ingy: ubuntu hoary
10:12 wolverian (not very special I guess.)
10:12 search__ has quit IRC (Read error: 60 (Operation timed out))
10:12 autrijus greetings /\camels...
10:12 * autrijus backlogging
10:13 wolverian greetings, autrijus.
10:13 ingy autrijus!
10:13 wolverian when are we going to have real multidim arrays? :)
10:13 autrijus wolverian: sure, just a bit
10:13 wolverian all tests succesful.
10:14 * autrijus still reading logs
10:14 ingy wolverian: do a make install, and test modules/Sample-Module
10:15 wolverian failed
10:15 ingy ?
10:15 ingy the tests failed  
10:16 ingy but did perl Makefile.PL work?
10:16 wolverian yes.
10:16 ingy excellent
10:16 ingy when autrijus is back we can fix the problem with the  tests
10:17 ingy wolverian: do a make install on Sample::Module
10:17 ingy what  path does it install to?
10:18 wolverian Installing /usr/local/share/perl6/Sample/Module.pm
10:18 ingy :)
10:18 wolverian nice. :)
10:18 ingy no collision with the perl5 version
10:19 wolverian it then adds itself to the perl5 perllocal.pod, which is a tad strange :)
10:19 ingy yeah, well...
10:19 ingy it's all very rough at this point
10:20 wolverian getting there, though! nice.
10:20 ingy autrijus: ping
10:20 wolverian I need to write a perl6 vim syntax file.
10:20 search__ has joined #perl6
10:20 wolverian perl5 syntax highlighting isn't very good for perl6.
10:20 ingy autrijus: I need to go to bed, can we discuss the patches quickly?
10:20 rgs wasn't luqui looking at this ?
10:21 wolverian rgs: vim? I don't know. awesome if he is.
10:21 autrijus ingy: sure.
10:21 rgs wolverian: yup.
10:21 ingy did you read my checkin notes?
10:21 autrijus eclipse highlighting seems good enough
10:21 autrijus reading
10:21 wolverian I wonder if he needs help. I'm not practiced in vim scripting but I want to help.
10:22 wolverian autrijus: I'd like to highlight types and traits, at least.
10:22 autrijus looks correct.
10:22 autrijus wolverian: *nod* that'd be cool
10:22 autrijus nmake passed. doing nmake test
10:23 ingy basically we have ext for core modules and modules for other stuff, and we have Pugs::MakeMaker for perl6 Makefile.PLs
10:23 autrijus passed.
10:23 autrijus nmake install does something weird
10:23 autrijus Installing C:\Perl\bin\pugs.exe
10:23 autrijus Installing C:\Perl\site\lib\Pugs\MakeMaker.pm
10:23 autrijus Installing C:\perl6\lib\Kwid.pm
10:24 ingy yep
10:24 autrijus @*INC:
10:24 autrijus ./blib6/lib
10:24 autrijus C:\perl6\lib
10:24 autrijus (skipped a few)
10:24 autrijus okay. maybe I'll use native separator
10:24 autrijus i.e. .\blib6\lib
10:24 autrijus but that's fine for now
10:24 autrijus great work!
10:24 ingy it's still rough
10:24 * autrijus reading WritePugs()
10:25 ingy autrijus: now see what happens in module/Sample-Module
10:25 autrijus ok. what's diff between ext/ and modules/ ?
10:25 autrijus to me they look fairly similar?
10:25 autrijus is modules/ non-core?
10:25 ingy ext is for core modules
10:26 ingy all the ext modules are installed when you install pugs
10:26 autrijus gotcha. already grokked.
10:26 ingy and they need the pugs framework
10:26 autrijus yup yup
10:26 autrijus we totally need 6.0.11.
10:26 ingy modules/ modules are standalone, after pugs is installed
10:27 autrijus nmake dist produces
10:27 autrijus Sample-Module-0.01.tar.gz
10:27 autrijus is it supposed to be correct?
10:27 ingy yes
10:27 autrijus larsen: you were seeking committer right?
10:27 autrijus I thought it's all x.y.z now
10:27 ingy ?
10:27 autrijus 0.01 is barely legal
10:28 autrijus 0.0.1 maybe?
10:28 ingy sure, ok
10:28 ingy I didn't know this standard
10:28 autrijus S11 says that
10:28 ingy fine
10:28 wolverian hrm, allowing the , in 'sub foo (...) returns bar, is baz { ... }' makes it surprisingly much easier to read for me.
10:28 wolverian I wonder if that is legal.
10:29 autrijus it is not. p6l. :)
10:29 larsen autrijus: I just registered on openfoundry
10:29 ingy C:\perl6 should really be C:\Perl6
10:29 larsen autrijus: I didn't anything so far
10:29 autrijus ingy: your sample-module put things to blib/lib
10:29 autrijus not blib6/lib
10:30 autrijus so "make test" fails
10:30 autrijus bzzt
10:30 ingy autrijus: so does pugs handle two node modules?
10:30 wolverian autrijus: oh, it has been discussed?
10:30 ingy use Foo::Bar
10:31 ingy I thought that was the  problem
10:31 autrijus it does of course
10:31 ingy ok fixing...
10:32 autrijus parser line 239:
10:32 autrijus    names <- identifier `sepBy1` string "::"
10:32 autrijus    return $ App "&require" [] [Val . VStr $ concat (intersperse "/" names) ++ ".pm"]
10:32 autrijus so it split by :: then join by /
10:32 autrijus and add .pm
10:32 autrijus again, clear as ink
10:32 autrijus wolverian: no, I mean, "for discussion, post to p6l"
10:32 wolverian autrijus: ah, right. thanks.
10:33 wolverian (I'm a bit scared about p6l. not wanting to look foolish and so.)
10:33 autrijus mmm lwall calls p6l is typically cluttered with "idle speculations"
10:33 wolverian well, that makes it easier for me.
10:33 autrijus so the comma suggestion should feel right at home.
10:33 autrijus :)
10:33 wolverian okay, firing away.
10:33 wolverian oh, and I still haven't written the pattern matching post, because I'm not at all sure on how to phrase it. I need to learn haskell well first, I think.
10:34 autrijus just YAHT is enough :)
10:34 autrijus ingy: also, while you're at it, change t/test.t to say 'require' not 'use'
10:35 wolverian I'm trying. :)
10:35 theorbtwo has left
10:35 iblechbot has quit IRC (Read error: 110 (Connection timed out))
10:35 theorbtwo has joined #perl6
10:35 autrijus larsen: so, you going to add a plan to 02atoms.t?
10:35 autrijus (btw, you're a committer now; welcome aboard)
10:36 larsen autrijus: thanks :)
10:36 autrijus :)
10:36 larsen yes that could be my first patch
10:37 * autrijus is still writing "Choreography Specificationdesign document for @crazy_clients
10:37 autrijus will take another hour or so :-/
10:38 autrijus ingy: your makemaker foo is truly crazy.
10:38 theorbtwo Choreography?  What is it that @crazy_clients does?
10:38 autrijus web services?
10:39 autrijus REST protocols
10:39 autrijus the document that describes how multiple web servers interact
10:39 autrijus is called choreography spec
10:39 larsen nice choice of word
10:39 autrijus the W3C folks use that all the time
10:41 flw has quit IRC ("Gotta go, bye all (SunNet HIRC-2 Ëæ»úÍ˳öÐÅÏ¢)")
10:42 ingy autrijus: it was really hairy
10:43 ingy autrijus: it was not easy to do, but I think it was a reasonable solution
10:43 autrijus yup.
10:43 autrijus ingy++
10:43 autrijus ingy++
10:43 autrijus ingy++
10:43 ingy =)
10:44 ingy I think perl6 modules outside of pugs core should build in blib, not blib6. But I'll use blib6 for now until I get the other parts in place
10:46 autrijus well
10:46 autrijus you can use blib
10:46 autrijus and fix
10:46 autrijus ENV->{PERL6LIB}
10:46 autrijus to not say Q*t*
10:46 autrijus q*t*
10:46 ingy right
10:46 autrijus but t, blib/lib, blib/arch
10:46 autrijus which is cleaner.
10:46 ingy or support -I
10:47 autrijus is it currently using -I?
10:47 autrijus harness I mean
10:47 ingy not sure
10:47 larsen ok, done. I hope I didn't messed up things with svn
10:47 autrijus works.
10:47 autrijus larsen++
10:49 autrijus ingy: I can add multiple perl5lib
10:49 autrijus but you need to add pathsep to config.
10:51 ingy sure
10:51 ingy I can do it all tommorrow
10:51 ingy I need to learn my haskell too :)
10:52 ingy autrijus: are you sure require Foo::Bar works
10:52 ingy i don't think it does
10:52 ingy unexpected ":"
10:52 ingy expecting word character, "-", ";", statements or end of input
10:52 ingy NonTerm "./blib6/lib/Sample/Module.pm" (line 1, column 14)
10:52 joepurl has joined #perl6
10:52 autrijus pugs> . require Test::Foo
10:52 autrijus {{  App "&require" ('Test/Foo.pm')
10:52 autrijus }}
10:52 autrijus you sure you are using require?
10:52 ingy yes
10:52 autrijus don't use 'use'
10:53 autrijus oh.
10:53 autrijus fixed.
10:53 autrijus committing
10:53 ingy pugs> require Sample::Module
10:53 ingy *** Evl: App "&require" ('Sample/Module.pm')
10:53 ingy *** Ret: *** Error: "\nunexpected \":\"\nexpecting word character, \"-\", \";\", statements or end of input"
10:54 autrijus yup. r496 fixes it.
10:54 autrijus sorry, was only checking the require site.
10:56 wolverian sent. damn, that was the longest mail I've written about such a small thing.
10:56 ingy yay, it worked!
10:56 ingy autrijus++
10:56 autrijus :)
10:56 autrijus wolverian++
10:57 wolverian thanks. :)
10:57 wolverian (if the importance/length ratio holds, my post about pattern matching will be roughly 300 pages long.)
10:59 autrijus lol.
10:59 wolverian my main worry about the pattern matching in perl6 is that it would be so ugly, compared to haskell.
10:59 wolverian (syntax-wise)
11:00 wolverian I'd be happy with just being able to match constants in signatures, and leaving it at that, I think.
11:00 wolverian (in addition to types, that is...)
11:00 ingy autrijus: could you retest windows with r497?
11:02 ingy I need zzzzzzzz.
11:02 autrijus looks good.
11:03 ingy does it do the C:\Perl6 thing?
11:03 autrijus archlib: C:\perl6\lib
11:03 ingy :\
11:03 autrijus letme purge
11:04 autrijus now works.
11:04 autrijus yay!
11:04 ingy you must have a fast machine
11:04 autrijus I have a x86.
11:04 autrijus ;)
11:04 autrijus mmm Installing C:\Perl\bin\pugs.exe.bat
11:04 * autrijus wonders how to get rid of that
11:05 ingy ok, good night
11:05 ingy zzzzzzzzzzz&
11:06 autrijus nite!
11:06 autrijus ingy++
11:20 malaire has joined #perl6
11:27 * autrijus dinner &
11:31 metaperl has joined #perl6
11:49 flw has joined #perl6
11:55 iblechbot has joined #perl6
12:14 trexy has joined #perl6
12:17 metaperl hey no absolute value function?
12:22 flw has quit IRC ("SunNet HIRC-2, ÁúµÄÈí¼þ")
12:30 Limbic_Region has joined #perl6
12:31 search__ has quit IRC (Read error: 110 (Connection timed out))
12:36 autrijus abs() you mean?
12:37 nothingmuch metaperl: i think it's broken sometimes, arith.t bails out if it isn't proper
12:37 autrijus no, arith.t defines its own abs
12:37 metaperl I wrote my on abs because the builtin didn't work
12:37 metaperl paste?
12:37 metaperl perlbot paste?
12:37 perlbot Paste your code and #perl will be able to view it: http://sial.org/pbot/perl http://dragon.cbi.tamucc.edu:8080 http://erxz.com/pb
12:38 autrijus right. let me take that away.
12:38 metaperl right here: http://www.hcoop.net/~terry/t​alks/p6-junctions/slide5.html
12:38 autrijus abs() implemented.
12:38 autrijus r499, enjoy
12:39 autrijus it's just two lines:
12:39 autrijus op1 "abs"  = return . op1Numeric abs
12:39 autrijus and
12:39 autrijus \\n   Num       pre     abs     (Num)\
12:39 autrijus so, if people wish to add cos, sin and other math functions
12:39 autrijus just copy and paste and commit (with tests!).
12:40 nothingmuch autrijus: two bugs
12:40 autrijus yes?
12:40 nothingmuch look at the new and improved t/op/assign.t
12:40 nothingmuch the old one was moved to t/syntax/decl_blah_prec.tsomethingorother
12:40 autrijus ok... ?
12:41 autrijus sliced assignment isn't there, I'm aware of that
12:41 ihb has quit IRC (Read error: 54 (Connection reset by peer))
12:41 nothingmuch and the bottom of t/op/array.t
12:42 nothingmuch also, two issues
12:42 nothingmuch i think make test should be using 'prove -r t'
12:42 nothingmuch and that MANIFEST should be 'make manifest'ed on each release
12:42 nothingmuch and MANIFEST.SKIP versioned instead
12:44 autrijus M.SKIP is already versioned.
12:44 nothingmuch has quit IRC ()
12:44 autrijus ...
12:44 shapr ,,,
12:44 shapr really big semicolons?
12:44 nothingmuch has joined #perl6
12:45 nothingmuch whoops, hit cmd+q instead cmd+w
12:45 trexy has quit IRC (Read error: 60 (Operation timed out))
12:45 nothingmuch btw, you're on mac, right?
12:46 autrijus I could be.
12:46 autrijus i.e. not currently, but I have another G3 ibook
12:46 autrijus my %hash = undef;
12:46 autrijus will it make %hash contain (undef => undef) ?
12:46 nothingmuch subetha sessions could be fun occasionally
12:46 autrijus '' => undef I mean
12:46 autrijus sure; I worked out Kwid parser with ingy via SEE
12:46 nothingmuch i have no idea
12:47 shapr has quit IRC ("worktime!")
12:48 metaperl autrijus, there is a make install problem with 499
12:48 metaperl pasted here: http://erxz.com/pb/515
12:48 metaperl perl Makefile.PL PREFIX=~/perl
12:48 metaperl used to work with no probs
12:48 metaperl now something is trying to write to /usr/lib
12:48 autrijus indeed. that's what I'm afraid.
12:48 autrijus ingy changed lib lookuppath from /usr/lib/perl5/lib/Perl6/lib
12:48 autrijus into
12:48 metaperl I dont have permissions for /usr
12:48 autrijus /usr/lib/perl6
12:49 metaperl I am trying to install in my local home directory
12:50 autrijus aye. you need to ping ingy for that
12:50 autrijus PugsConfig.pm needs to honour PREFIX=
12:50 autrijus either that, or Pugs::MakeMaker needs to do that.
12:50 autrijus for now, work in the local dir first. sorry.
12:50 autrijus I'll get this cleared up before 6.0.11.
12:51 trexy has joined #perl6
12:51 autrijus hi trexy.
12:51 * nothingmuch wonders if anyone wants to help expant t/op/quoting.t
12:51 nothingmuch there's lots of sysyphic work
12:52 nothingmuch test that all the adverbs and short versions work
12:52 nothingmuch test «» for shell quoting semantics
12:53 autrijus I'd like to help, but I'm fixing your other bug and try/catch instead.
12:53 autrijus t/op/array.......................ok
12:53 autrijus        1/40 unexpectedly succeeded
12:53 * nothingmuch thinks this good for someone starting out
12:53 nothingmuch a chance to get familiar with new things
12:53 autrijus t/op/push........................ok
12:53 autrijus        5/27 unexpectedly succeeded
12:54 nothingmuch w00t
12:54 autrijus nice. I think I'm doing many things correct.
12:54 autrijus t/op/unshift.....................ok
12:54 autrijus        2/39 unexpectedly succeeded
12:58 autrijus adding autovivification.
12:58 autrijus anyone care to help me unTODO the tests in unshift, push and array.t?
12:59 nothingmuch i'll do it
12:59 autrijus cool. sync up to r500 and see
12:59 autrijus I'll bbiab.
13:00 * cls_bsd_ is doing >svk up -s .;make purge; perl Makefile.PL; make test
13:05 cls_bsd_ t/op/array.......................ok                                          
13:05 cls_bsd_        1/40 unexpectedly succeeded
13:05 nothingmuch uhuh
13:05 cls_bsd_ t/op/push........................ok                                          
13:05 cls_bsd_        5/27 unexpectedly succeeded
13:05 cls_bsd_ oh..
13:05 cls_bsd_ great, autrijus just pasted it ...
13:05 nothingmuch they need to be untotoed
13:05 * nothingmuch will get to it in 2 mins
13:08 Limbic_Region out of curiosity, did you or someone else fix the chop bug yet nothingmuch?
13:08 scw nothingmuch: hello, in t/op/zip.t, the zip() is used as zip(@a; @b), shouldn't it be zip(@a, @b)? (As examples in S03)
13:09 nothingmuch luke said no
13:10 nothingmuch that's what i started with
13:10 nothingmuch but he corrected me
13:10 nothingmuch what is the chop bug?
13:10 fayland has joined #perl6
13:11 autrijus greetings fayland!
13:12 autrijus sorry I missed you before
13:12 autrijus scw: (@a, @b) flattens.
13:12 autrijus nothingmuch: chop(@array) doesn't work
13:12 autrijus since chop is currently only a Str op in Prim.hs
13:12 autrijus just need to write up another implementation for List.
13:12 fayland hihi
13:12 autrijus hcchien: coordinate with fayland a bit?
13:12 autrijus he'd like to do p6l10n/zh-cn/
13:12 * Limbic_Region could have swore it was nothingmuch that pointed the chop( @array ) bug out last night
13:13 fayland ya, i heard from hoowa that u floks are doing the translation work?
13:13 autrijus fayland: right: see http://svn.openfoundry.org/p6l10n/
13:13 * Limbic_Region goes back to lurking
13:13 fayland ok.
13:13 autrijus oh, you can also start by fixing PA01 for me :)
13:13 autrijus http://svn.perl.org/perl6/pugs/t​runk/docs/zh-cn/01Overview.html is just converted from trad. chinese
13:13 autrijus so I'm not sure if the terms I use there is correct
13:14 hcchien sure, so fayland will take the zh_cn part?
13:14 fayland wait a moment
13:14 * Limbic_Region hopes autrijus is feeling better
13:15 autrijus I am :)
13:15 fayland have a phone. :)
13:15 nothingmuch it was me
13:15 nothingmuch who noted the chop bug
13:15 fayland i saw 01Overview,that's great
13:15 nothingmuch it's tested
13:16 nothingmuch sorry, business at work
13:16 fayland nothing need to change.
13:16 trexy has quit IRC (Read error: 60 (Operation timed out))
13:17 fayland hcchien, add a floder zh-cn, i'll do my best.
13:18 fayland how can i add/update the document? use svn?
13:19 nothingmuch uhuh
13:19 nothingmuch funny
13:19 nothingmuch i changed diag in Test.pm to split the string on \n and then say "# $line"
13:19 nothingmuch so that multiline diagnoses are ok
13:20 nothingmuch this causes a problem:
13:20 autrijus fayland: right. give me your email
13:20 nothingmuch say("#     Failed (TODO) test ($?CALLER::POSITION)");
13:20 autrijus or rather, give hcchien your email
13:20 nothingmuch when translated to diag(...)
13:20 autrijus he'll invite you to the p6l10n project
13:20 fayland [email@hidden.address]
13:20 autrijus and you can then commit using svn to http://svn.openfoundry.org/p6l10n/
13:20 nothingmuch then the test output becomes FAILED (TODO) test (.../Test.pm at line 57, column ...)
13:20 autrijus hcchien: give fayland an invitation? :)
13:20 nothingmuch i think haskell is lazifying the interpolation of $?CALLER::POSITION
13:21 nothingmuch and doing it later with a different callstack is changing the results
13:21 fayland maybe just convert is ok?
13:21 nothingmuch or maybe not haskell, the impl itself
13:21 nothingmuch am i on the right track?
13:22 * nothingmuch will try to write a test for this sort of like Devel::FIXME's tests
13:22 autrijus fayland: maybe, I'm not sure.
13:22 hcchien autrijus: sure. a sec
13:22 autrijus nothingmuch: try $CALLER::CALLER::POSITION
13:22 nothingmuch anyway, i'll keep the change, since it allows comparing multiline strings without ruining harness results
13:23 nothingmuch autrijus: sure, that's a workaround
13:23 nothingmuch but it shouldn't happen
13:23 autrijus I agree it should not.
13:23 nothingmuch since the place $?CALLER::POSITION is put in is the same
13:23 autrijus and thanks for your willingness to test it :)
13:23 nothingmuch ok, so i'll try to test
13:24 trexy has joined #perl6
13:26 * autrijus is still writing weird choreography foo
13:26 Steve_p has joined #perl6
13:26 nothingmuch explain?
13:26 autrijus just some $work thing. need to design how multiple company's web services work together
13:27 hcchien fayland: invitation is sent
13:27 autrijus the XML formats used, the order of GET/POST calls, dependencies, retry policy, &c.
13:27 autrijus at least REST is making this much easier.
13:27 * autrijus wonders if it's possible to implement this case in perl6
13:28 * Limbic_Region notes that the release of Parrot 0.1.2 (Phoenix) has happened
13:28 autrijus yeah, I noticed it too.
13:28 autrijus maybe I should try to compile it.
13:28 autrijus will the next version be called Firebird?
13:29 cls_bsd_ then firefox? lol
13:29 autrijus :)
13:29 fayland Thanks, i receive it.
13:29 autrijus parrot 0.2.1: Firefox
13:29 * Limbic_Region is responsible for the last Parrot release name
13:30 autrijus Limbic_Region: it means that it's reborn?
13:30 Limbic_Region Phoenix - yes
13:30 Limbic_Region but that's not the one I am talking about "Poicephalus"
13:30 Limbic_Region 0.1.1 release
13:30 autrijus ahh.
13:30 autrijus that's a nice name.
13:30 Limbic_Region Phoenix is a mythological bird that is consumed by its own fire and then rises again from the ashes
13:31 nothingmuch t/magicals/caller_pos.t
13:31 nothingmuch have fun
13:31 Limbic_Region Poicephalus is an actual real Parrot
13:31 autrijus danke.
13:31 autrijus what about the untodo work? :)
13:31 nothingmuch wait wait wait
13:31 nothingmuch i have a stack
13:31 nothingmuch i was doing something
13:31 nothingmuch then i found the bug
13:31 nothingmuch so i wrote a test
13:31 nothingmuch now i'm back to that
13:32 nothingmuch then i can go back to quoting.t, finish the bit i was working on
13:32 nothingmuch and preempt
13:32 nothingmuch and untodo
13:32 autrijus that's fine. I just unTODOed it.
13:32 autrijus r502 :)
13:33 autrijus so you can go back to quoting.t.t
13:33 nothingmuch ok =)
13:33 nothingmuch Test.pm updated
13:33 nothingmuch in a way that is correct
13:33 nothingmuch but currently annoying
13:33 nothingmuch so that you'll fix t/magicals/caller_pos.t faster ;-)
13:46 nothingmuch http://www.asianbridesonline.com/smart-match/
13:46 nothingmuch smart match
13:46 nothingmuch beh
13:46 nothingmuch i hope perl6 raises the google rank
13:47 * cls_bsd_ svk up -s again
13:48 nothingmuch are binding and flattenning tested properly?
13:49 nothingmuch ah
13:49 nothingmuch bootyful
13:55 nothingmuch autrijus: how hard will it be to stub ~~ with something?
13:56 autrijus very easy, as long as you define what something is
13:56 nothingmuch "eq"?
13:56 nothingmuch it seems like simple logic, really
13:56 nothingmuch it is basically a big if else/switch statement
13:56 nothingmuch i reckon you could implement 30-40% in under half an hour
13:57 autrijus where is ~~ on precedence table?
13:57 nothingmuch uh
13:57 nothingmuch (dyslexia)
13:57 nothingmuch chaining binary
13:58 nothingmuch right next to >= and eq
13:58 nothingmuch you find ~~ and !~
14:00 autrijus ok.
14:00 autrijus so ~~ is chaining?
14:00 autrijus how bizzare!
14:00 nothingmuch i have no idea how
14:00 nothingmuch but it appears so
14:00 autrijus $a ~~ $b ~~ $c
14:00 nothingmuch sometimes the rhs doesn't make sense being compares
14:00 nothingmuch s/s$/d/
14:00 nothingmuch but whatever
14:00 nothingmuch .reverse.tr/s/d/
14:01 * nothingmuch starts thinking in perl6
14:06 fayland see u all later.
14:06 nothingmuch ciao
14:06 fayland has left
14:11 pmichaud has joined #perl6
14:11 pmichaud good morning, all
14:12 nothingmuch morning, pmichaud
14:12 autrijus hey pmichaud!
14:12 pmichaud hello nothingmuch, autrijus
14:12 pmichaud I'm looking at the question that was posed to p6c earlier about the error message with the dot operator
14:13 metaperl oh my question...
14:13 pmichaud I'm curious if perl6 allows spaces between the method dot and whatever follows
14:13 metaperl are spaces allowed around the dot?
14:13 pmichaud I dunno :-)
14:13 metaperl there's an echo in the room :)
14:13 nothingmuch before the dot, i think yes
14:13 nothingmuch after the dot, i think no
14:13 pmichaud well, spaces are clearly allowed before the dot, that's why it exists :-)
14:13 nothingmuch but before the dot must be unamibiguos because there's topicalizer
14:13 pmichaud otherwise we can't do     $foo   .($bar)
14:14 nothingmuch logically after the dot there shouldn't be
14:14 nothingmuch since it lets us extend whitespace up to it
14:14 nothingmuch so... =P
14:14 pmichaud but after the dot -- I didn't see any examples in the synopses that included spaces after the dot
14:14 nothingmuch luqui could prollly answer that
14:14 autrijus currently it's a syntax error to have space following dot.
14:14 autrijus in pugs.
14:15 pmichaud shall I forward it to p6l?
14:15 nothingmuch autrijus: how's the ~~ stubbing coming along?
14:15 nothingmuch i have a preliminary test
14:15 nothingmuch i'm sick of working on it for now
14:15 nothingmuch but just so you know, it's getting there
14:16 nothingmuch i'd rather not eval everything
14:16 autrijus oh, it's done
14:16 autrijus I just had not committed it
14:16 nothingmuch can i cherry pick with svn?
14:17 nothingmuch or maybe you'd like to take over the test stub, and commit them both at once?
14:17 autrijus you can cherry pick with svk.
14:17 nothingmuch or perhaps vice versa
14:17 nothingmuch svk is clunky on my box
14:17 autrijus with svn too, via a awkward "svn merge"
14:17 nothingmuch i haven't grokked it yet
14:17 autrijus yup, so I heard.
14:17 nothingmuch and something is wrong with it
14:17 autrijus anyway, up to r506
14:17 autrijus and commit your test
14:17 autrijus r506 has ~~.
14:17 nothingmuch i'll first make sure it compiles and all
14:17 nothingmuch give me 5 mins
14:19 autrijus sure
14:19 autrijus pmichaud: so, how's going these days? :)
14:19 nothingmuch do we have ^ ..^ ranges?
14:19 autrijus what is that?
14:19 autrijus I had no idea, so I didn't do anything about it.
14:19 pmichaud autrijus: better now -- for the past week and a half I got swamped by having to babysit sick kiddies :-(
14:19 nothingmuch 1 ^.. 5 == 2 .. 5
14:20 autrijus pmichaud: aww :(
14:20 autrijus nothingmuch: wow. and how useful it that?
14:20 nothingmuch uh
14:20 nothingmuch =P
14:20 autrijus where is it specced?
14:20 pmichaud autrijus: yeah, it kept me away from doing much perl 6 work.  But I'm back :-)
14:20 nothingmuch num ~~ range...
14:20 pmichaud ^.. is listed in S03, methinks
14:20 nothingmuch so i just tested for it
14:20 nothingmuch i think it's silly
14:21 autrijus it's listed in S03.
14:21 autrijus not defined.
14:21 autrijus reading A03
14:21 autrijus not in A03.
14:21 autrijus so, hey, it's unspecced :)
14:22 autrijus nothingmuch: where did you get the idea that ^.. means +1.. ?
14:22 nothingmuch i don't remember
14:22 nothingmuch i heard it was excluding range
14:22 pmichaud ..^ means everything up to but not including
14:22 autrijus pmichaud: can we get that and unary = somewhere in either synopsis or apocalypse? :)
14:23 autrijus <- feeling uncomfortable implementing piles of unspecced features
14:23 pmichaud ..^ is mentioned in S09 and S11
14:23 nothingmuch that's what I meant by excluding...
14:23 sahadev_ has joined #perl6
14:23 autrijus true, but defined only implicitly :)
14:24 autrijus but ok, I'll implement them now. unary = as readline is unspecced, though?
14:24 pmichaud yeah, I think unary = is still unspecced
14:24 Steve_p No more assignments :)
14:25 nothingmuch unary, silly!
14:25 autrijus Steve_p: nah, assignment is binary
14:25 pmichaud it'll be interesting to note the differences between   $x = $file,   $x == $file, and $x = =$file   :-)
14:25 autrijus all three are implemented in pugs :)
14:26 pjcj Looks like using hat with pugs isn't going to fly, as pugs uses some libraries which are unsupported in hat.
14:26 stevan has quit IRC ("Leaving")
14:26 autrijus pjcj: can we leave them unhatted?
14:26 pjcj I'm not sure - I couldn't find an easy way, but I'm just learning about hat.
14:27 nothingmuch t/op/smartmatch.t
14:27 theorbtwo Hat works as a preprocessor; I think we'd have to leave the entire file unhatted...
14:27 pjcj theorbtwo: right
14:27 theorbtwo ...which doesn't fly because it wants to have the entire stack hatted.
14:28 Steve_p Oh, duh!
14:28 * Steve_p gets more coffee to shake out the cobwebs
14:29 autrijus is it possible to "support" those libs
14:29 autrijus using stubs?
14:29 * nothingmuch can't think of any generic feature other than OOP to test for
14:29 theorbtwo Bracketless if?
14:29 * autrijus is again amazed by nothingmuch's prolificity
14:29 theorbtwo my <type> $x;
14:29 pjcj The problem is that files using unsupported libraries cannot be parsed at the moment.
14:30 nothingmuch theorbtwo: where is the introspection of that specced?
14:30 nothingmuch should i just test that my Int $foo; my Str $blah; can't be assigned to eachotheR?
14:30 nothingmuch my Int $foo;
14:30 nothingmuch $foo ~~ Int?
14:30 theorbtwo No, assigning to each-other isn't automatically dead...
14:30 theorbtwo That'd work, but tests for both my Int $foo and ~~.
14:31 theorbtwo Make a "I'm still here" test and a sepperate ~~ test?
14:31 nothingmuch i'm still here = ok(eval 'my Int $foo; 1', "did not die")?
14:32 nothingmuch i just committed ~~ ;-)
14:32 nothingmuch well, a partial ~~
14:32 theorbtwo Oh!  Nifty.
14:32 theorbtwo Yep, nothingmuch.
14:32 nothingmuch since ~~ is now a synonym for eq, temporarily, it's a bit weird
14:32 nothingmuch some things are todo_ok, and some are just ok()
14:32 theorbtwo Hm... I should think it's quite possible to be a bit smarter then that...
14:33 nothingmuch i wanted to commit quickly, because autrijus already did the stub
14:33 nothingmuch so the Hash type ~~ is not there
14:33 nothingmuch and some things i did not 100% understand
14:36 nothingmuch by bracketless if you mean 'if 1 > 0 {}'?
14:36 nothingmuch or 'expr if 1 > 0'?
14:36 nothingmuch or ...?
14:36 nothingmuch autrijus: see t/op/smartmatch.t for array element truth:
14:36 nothingmuch @array ~~ .[1]
14:37 nothingmuch this is true if element 1 of array is true
14:37 metaperl wow, that is some wild syntax
14:37 nothingmuch (seems useless, but not in context of given @a { .[0] { } }
14:37 nothingmuch anywho, it doesn't parse
14:37 theorbtwo if 1 {ret "Wohoo"} else {ret "WTF?"}
14:37 metaperl what is wrong with @array[1] to test for that element being true?
14:37 autrijus nothingmuch: right. eval it.
14:37 nothingmuch it is evalled
14:37 mauke if { 1 > 0 } {} should compile, right?
14:38 stevan has joined #perl6
14:38 autrijus it should. it currently does not. same bug as parenless.
14:38 theorbtwo Yes... but I'm not sure what it does...
14:38 autrijus hi stevan!
14:38 metaperl nothingmuch, what is the ~~ operator?
14:38 stevan morning autrijus
14:38 nothingmuch metaperl: smartmatch
14:38 stevan hola nothingmuch
14:38 metaperl I hope this group is for learning Perl 6 as well as Perl 6 development :)
14:38 edgewalk1r has joined #perl6
14:39 autrijus metaperl: nothing is wrong with @array[1].
14:39 autrijus the idea of smartmatch is to mimick given{} behaviour.
14:39 metaperl given?
14:39 nothingmuch hola stevan
14:39 mauke given .. when
14:39 metaperl given is not a keyword is it?
14:39 nothingmuch give $foo { when blah { } }
14:39 mauke like switch .. case, only smart
14:39 metaperl I think I understand you
14:39 nothingmuch s04
14:39 * metaperl checks synopsis04
14:40 autrijus S04 explains it pretty well, yeah.
14:40 integral 1
14:40 autrijus also check out E04.
14:40 autrijus "And I'd se-ell my-y so-oul for flow of con-tro-ol ... over Perl"
14:42 nothingmuch theorbtwo: t/var/type.t added, for lives ok, and t/base/if.t updated for parenless
14:43 autrijus actually, E04 is a pretty good read for pretty much everything
14:44 nothingmuch autrijus: had a look at t/base/control_blocks.t?
14:44 * theorbtwo makes some food, BRB.
14:44 autrijus yup, I had.
14:45 autrijus I need ~2 day of concentration
14:45 nothingmuch any idea on how to make it a bit better?
14:45 autrijus to do Rule in Eval
14:45 autrijus which is neccessary to make BEGIN work
14:45 nothingmuch Rule in Eval?
14:45 autrijus so maybe this weekend.
14:45 autrijus nothingmuch: "evaluation during parsing"
14:45 nothingmuch explain
14:45 nothingmuch ah
14:45 nothingmuch purdy
14:45 * nothingmuch especially likes $var = BEGIN { "foo" }
14:45 autrijus so you can use eval'' to test them too
14:46 nothingmuch i didn't want to do that
14:46 autrijus eval 'my $x; $x = 2; BEGIN { $x = 3 }'
14:46 nothingmuch because of INIT vs. FIRST vs. ENTER
14:46 autrijus oh ok. just leave the comments in then
14:46 nothingmuch when we have these working, i'll retro glue eval behavior
14:46 autrijus I'll deal.
14:46 autrijus 'kay.
14:46 nothingmuch so we don't have the mod_perl/require INIT { } block mess all over again
14:46 autrijus yup yup.
14:47 nothingmuch even though macros and a proper object system will prolly do away with 95% of the reasons for INIT blocks in perl5 code
14:47 nothingmuch what is the status of the rule engine?
14:48 autrijus you can ask pmichaud :)
14:48 autrijus the pugs rule engine won't happen before OO
14:49 autrijus as detailed in the roadmap
14:49 nothingmuch i'm curious as to how it relates to parsec, etc
14:49 autrijus I'm curious too.
14:49 autrijus <- has no plan
14:49 nothingmuch we have a roadmap?
14:49 autrijus maybe we use PGE to compile rules to parsec.
14:49 * nothingmuch googles
14:49 autrijus nothingmuch: in PA01
14:49 autrijus "Do you have a roadmap for Pugs development?"
14:50 hcchien What is the answer? :p
14:50 autrijus # 6.0: Initial release.
14:50 autrijus # 6.2: Basic IO and control flow elements; mutable variables; assignment.
14:50 autrijus # 6.28: Classes and traits.
14:50 autrijus # 6.283: Rules and Grammars.
14:50 autrijus there you go.
14:50 autrijus we're close to 6.2 now
14:51 autrijus just need to fix the remaining prim todos and sync todos
14:51 autrijus and try/catch/given
14:51 nothingmuch prim todos?
14:51 nothingmuch que es?
14:51 ihb has joined #perl6
14:51 autrijus the todo tests on primitives.
14:51 nothingmuch ah
14:51 autrijus on misimplemented primitives.
14:51 autrijus s/sync/syntax/
14:52 autrijus to be honest, I thought I'd take at least 6 months to reach 6.2 ;)
14:52 * nothingmuch hopes his haskell fu can materialize sometime soon enough to be useful
14:53 nothingmuch i think the community has been very accepting
14:53 autrijus take your time; you're already amazingly useful
14:53 nothingmuch and overall there has been very little trouble
14:53 autrijus yeah. which also surprises me :)
14:53 nothingmuch well, haskell and fp are naughty words
14:53 nothingmuch but even so, you can't argue with facts
14:53 pmichaud well, I know the design team is very appreciative of all of the pugs efforts
14:53 nothingmuch fact is that pugs works
14:53 nothingmuch and it got here fast
14:54 nothingmuch and it gave everything a big kick in the arse
14:54 autrijus pmichaud: yup, and I'm really happy :)
14:54 nothingmuch a well needed one at that
14:54 theorbtwo Back.  fp?
14:54 nothingmuch functional programming
14:54 theorbtwo (Arse-kicking)++
14:54 theorbtwo Ah.
14:54 pmichaud we're also glad that autrijus was able to see that haskell would be a good way to get some sort of implementation started
14:54 autrijus fun, as in joy
14:54 autrijus ction, as in ka-chin, as in big money
14:54 nothingmuch you'd have to be a hell of a naysayer to say 'pugs is stupid'
14:54 autrijus al, as in all, as in lots of people should join
14:55 * nothingmuch only hopes more design people could lurk here to help answer questions
14:55 autrijus nothingmuch: luqui and pmichaud :)
14:55 nothingmuch pmichaud eq ?
14:55 pmichaud I'm the p6 compiler pumpking :-)
14:55 autrijus patrick michaud, perl6 compiler and pge pumpking
14:55 nothingmuch ah, leo
14:55 nothingmuch oh
14:55 nothingmuch otherwise
14:56 edgewalker has quit IRC (Connection timed out)
14:56 nothingmuch *blush*
14:56 nothingmuch i asked the thedamian and timtoady on PM, thedamian said ENOTUITS
14:56 nothingmuch and timtoady did not reply yet
14:56 autrijus via msg?
14:56 pmichaud I mean, with me and luqui you have the "compiler" representatives of the team
14:56 nothingmuch uhuh
14:56 theorbtwo Aye.  I don't think Larry and Damian have time to lurk anywhere.
14:56 autrijus I know damian has no tuits. I don't blame him at all.
14:56 theorbtwo Or possibly inclination.
14:56 nothingmuch i don't blame
14:56 nothingmuch i just had to ask
14:56 pmichaud no, he really does have no tuits
14:57 theorbtwo I meant Larry re inclination.
14:57 autrijus pmichaud: seano and stevefink also visits here from time to time
14:57 nothingmuch luqui has been so useful in regards to writing tests correctly
14:57 nothingmuch but he's not always around
14:57 theorbtwo Never heard of him lurking anywhere; he prefers offline media.
14:57 nothingmuch that's what i sort of meant
14:57 autrijus although seano prolly isn't involved in P6C.pm anymore :)
14:57 pmichaud plus, it's not terribly efficient to have everyone on the design team lurking and chatting on irc -- between luqui and myself we try to keep up with pugs stuff
14:58 autrijus pmichaud: oh, re keeping up: ingy hacked together Pugs::MakeMaker today
14:58 pmichaud oooooh
14:58 autrijus so proper modules can be written and installed
14:58 pmichaud most excellent
14:58 autrijus already an example is there in examples/
14:58 nothingmuch autrijus: i can't make test since, btw
14:58 autrijus I mean modules/
14:58 pmichaud my goal for this week is to get PGE finished up with its stuff
14:58 autrijus nothingmuch: because of the make install trouble?
14:58 nothingmuch i prove -r with HARNESS_PERL and PERL6LIB set to ext/Test/lib
14:58 pmichaud although I have to go out of town starting Wednesday so it may be early next week
14:58 nothingmuch i didn't once make install
14:58 nothingmuch it's all in the src dir
14:59 nothingmuch ./pugs foo
14:59 autrijus ah. so prove works
14:59 autrijus but not maketest?
14:59 nothingmuch exactly
14:59 autrijus weird. linux?
14:59 nothingmuch btw, prove -r uncovers two tests
14:59 autrijus osx?
14:59 nothingmuch osx
14:59 autrijus yeah the two tests isn't meant to be run.
14:59 autrijus it's there for _future_
14:59 autrijus ok, ingy is also on osx, so maybe you should check with him
14:59 autrijus in fbsd and w32 all passes
14:59 nothingmuch it's not urgent
15:00 nothingmuch i'll wait till someone gets around to it
15:00 autrijus nod. just let ingy know
15:00 autrijus nopaste the failure and post on p6c or tell him here or something
15:01 autrijus pmichaud: btw svn.perl.org is now closely synched
15:01 autrijus instead of by day
15:01 autrijus which should make life easier for some people tracking it
15:01 nothingmuch i told him by /query
15:01 pmichaud autrijus:  I noticed that svn.perl.org is closely synched :-)
15:01 autrijus good then
15:01 autrijus nothingmuch++
15:01 autrijus pmichaud: you get commit mails?
15:01 pmichaud autrijus: I'm getting svn commit messages all the time instead of all at once :-)
15:01 pmichaud autrijus: yes :-)
15:01 autrijus ahh. :D
15:02 nothingmuch sorry for that, pmichaud... =)
15:02 pmichaud nothingmuch: it's not a big deal -- I just browse through them quickly to see what's happening and remove them
15:02 pmichaud if it becomes too big an issue I'll filter them
15:02 * nothingmuch wasn't really serious.. =)
15:03 autrijus also pugs is the first time I've worked with the PM community
15:03 autrijus and I must say it's been wonderful. much better than ~3 years ago when I first joined there
15:03 theorbtwo Thank you, autrijus.
15:04 autrijus demerphq++ # for convincing me that perlmonks really rocks, when I was in germany
15:04 nothingmuch iit so does
15:04 nothingmuch ah! do we have gather?
15:05 nothingmuch is that in base or op?
15:05 autrijus we don't. I have a questions
15:05 nothingmuch because it's a block
15:05 autrijus question, even
15:05 autrijus is take{} a lexical sub
15:05 autrijus or a syn construct?
15:05 nothingmuch hmm
15:05 autrijus i.e. does given{} materialize a &take
15:05 nothingmuch i'd say it's easy to implement it as a lexical sub
15:05 autrijus or something else?
15:05 nothingmuch and i see no fault
15:05 autrijus sure. currently return() is implemented as such
15:06 autrijus except then you'd be able to \&take
15:06 nothingmuch ooh
15:06 autrijus and generally wreck havoc
15:06 autrijus wait! oh no
15:06 autrijus you can already \&return now
15:06 autrijus and it acts as a continuation
15:06 nothingmuch that's wonderful
15:06 * autrijus boggles
15:06 pmichaud if it can be implemented as a lexical sub I'd say do it that way :-)
15:07 * nothingmuch thinks if return_if can be implemented with that
15:07 autrijus pmichaud: but when happens if we take a reference to it? :)
15:07 nothingmuch without passing \&return
15:07 nothingmuch but accessing $OUTER somehow
15:07 nothingmuch \&return is GCed after sub exit, right?
15:07 pmichaud autrijus:  well, perl always gives people enough rope to hang themselves if they want to take it
15:07 nothingmuch btw, this reminds me
15:07 nothingmuch is GC defined?
15:07 autrijus point well taken. let's do it as lexical sub then.
15:08 autrijus nothingmuch: parrot is using generational GC I think
15:08 autrijus anyway it's not refcounting anymore
15:08 pmichaud parrot is expected to use generational GC, although it doesn't do that yet
15:08 autrijus that much has been specced.
15:08 pmichaud at least I think that's what leo wrote recently
15:08 * nothingmuch WANTS REFCOUNT GC!
15:08 autrijus pugs will just use GHC GC.
15:09 nothingmuch the oodles of horrible code I wrote for refcount GC
15:09 autrijus which is extremely advanced :)
15:09 nothingmuch all... dead...
15:09 nothingmuch *sniff*
15:09 * nothingmuch remembers an O(1) purge time LRU cache
15:09 autrijus it's incremental generational with very small overhead and no pauses.
15:09 nothingmuch implemented by just popping elements off a linked list and letting perl cleanup the mess
15:09 autrijus # http://research.microsoft.com/​Users/simonpj/Papers/non-stop/
15:10 PerlJam has joined #perl6
15:10 wolverian I wonder if that would be useful for the parrot folk.
15:11 autrijus not sure. parrot != STG machine
15:12 autrijus but feel free to forward that reference.
15:12 autrijus OpenAFP.hs uses lots of weakrefs
15:12 autrijus and custom destructors
15:12 autrijus with pointer arithmatic
15:12 autrijus arithmetic even
15:12 wolverian I should take a look at leo's current GC scheme first.
15:12 autrijus and GHC's GC ensures that it's always running in constant space :)
15:12 * autrijus would be absolutely delighted if parrot's GC can do something like that
15:13 wolverian (I'd be fine with refcounting too. automatic, immedate destruction on scope exit is wonderful.)
15:13 * nothingmuch would like 'use gc 'blah'' to apply to new thingys created in the lexical scope the pragma was defined in
15:13 nothingmuch if only got immediate destruction on scope exit
15:14 nothingmuch i really like objc's (well, openstep's) GC scheme, too
15:14 nothingmuch you tell an object to register with a destroyer
15:14 nothingmuch x times
15:14 nothingmuch retain causes the object to up it's ref count
15:14 nothingmuch release to dec
15:14 nothingmuch count == 0, it deallocs itself
15:14 autrijus same as p5, no?
15:14 pmichaud hmmm, in reviewing my files I can't find where I thought leo had described the current state of gc in parrot.
15:14 pmichaud maybe it's on p6i
15:15 nothingmuch anywho, when the destroyer object is destroyed, it sends x release messages to the object
15:15 nothingmuch it's very very flexible
15:15 nothingmuch and if you behave ok, not too much headache
15:16 jdv79 he's mentioned it on p6i in the last few weeks
15:16 autrijus wow. Ruby Interpreter.
15:17 obra irb?
15:17 autrijus somebody at Utrecht did a ruby interp using LML and Gofer.
15:17 autrijus which is very clasclose to haskell.
15:17 obra ah. interesting. poor perl5. it has but one implementation
15:18 pmichaud obra: for the moment, ponie may fix that :-)
15:18 obra well, ponie is still the same codebases as 5.x
15:19 rgs and it's supposed to have the same bugs :)
15:19 autrijus bugward compat
15:20 theorbtwo Ponnie is supposed to slowly diverge, though sometimes I wonder if it's stopped diverging.
15:21 metaperl has quit IRC (Read error: 60 (Operation timed out))
15:24 bd_ has joined #perl6
15:27 autrijus theorbtwo: no need to wonder: http://www.nntp.perl.org/group/perl.ponie.changes
15:29 theorbtwo Nov 4.  I think that counts as pretty well dead.
15:30 obra "It's pining. For the fjords"
15:30 PerlJam theorbtwo: or you could think of it as moving really really really slow
15:31 pmichaud it's moving really really slow
15:35 rgs it's not dead
15:35 Khisanth just moldy?
15:35 autrijus nicholas still has plan for it, iirc.
15:35 * pmichaud is suddenly reminded of monty python :-)
15:36 pmichaud "it's not dead yet."
15:36 autrijus pmichaud: you too? :D
15:36 nothingmuch "i'm not dead yet" "you'll be stone dead in a moment"
15:37 pmichaud of course, people were probably saying the same sorts of things about perl 6 a month ago :-)
15:38 autrijus maybe someone will redo ponie in D, then
15:38 * autrijus thinks D is nice
15:38 PerlJam pmichaud: or even 36 days ago (pre-pugs)  :-)
15:38 * theorbtwo thinks perl6 is feeling much better.
15:38 pmichaud pj: gee, has it been 36 days already?
15:38 pmichaud I guess it has
15:38 pmichaud wow, february just flew past
15:39 autrijus I've been counting the days :)
15:39 autrijus but yeah. it's a really short month.
15:39 nothingmuch this is truely amazing
15:39 nothingmuch the man months that have gone into pugs are not that many
15:39 nothingmuch and yet, wow...
15:40 nothingmuch how the hell
15:40 * autrijus mumbles something about effective tools.
15:40 PerlJam nothingmuch: Easily 6 months I'd say.
15:40 autrijus 6 feels about right.
15:40 PerlJam er, 6 man-months
15:40 nothingmuch 6 months is very very little
15:40 nothingmuch man months
15:40 pmichaud effective tools, plus there's been a *lot* of work put into the design documents
15:40 autrijus yup. pugs won't be possible without the dec 04 revision.
15:40 nothingmuch well, that's true
15:40 autrijus before the dec batch of synopsis...
15:40 PerlJam yeah, design is always the hard part.  
15:40 autrijus ...it's basically impossible for anyone to implement anything :)
15:41 nothingmuch that's true
15:41 pmichaud part of the reason why perl 6 floundered (and why I'm not farther along) is that many issues couldn't really be handled until after the december revisions of the synopses
15:41 autrijus yup. that much is clear
15:41 autrijus so, much kudos for larry and whomever else that gets that revision out
15:41 PerlJam clear to the "insiders" but not many others.
15:41 pmichaud and PGE would be farther along except that we had to rethink the whole capture semantics
15:41 autrijus PerlJam: clear as a "retrospective" :)
15:42 pmichaud and I needed Dan's string code that just came out in parrot 0.1.2
15:42 autrijus pmichaud: which, I'm happy to hear, is finally settled
15:42 * autrijus mumbles something else about deadlocking :)
15:42 pmichaud autrijus: well, the capture semantics aren't completely settled, but at least we have an approach that is workable now :)
15:42 autrijus nice then
15:42 nothingmuch whaty are threads going to look like in perl6 btw?
15:42 nothingmuch i had a funny thought
15:42 nothingmuch i don't know how to name them
15:42 autrijus nothingmuch: read the two RFCs
15:42 autrijus about lightweight threads
15:43 autrijus and maybe come back with some tests in unspecced/
15:43 nothingmuch RFCs are 'this must be'
15:43 autrijus I'm willing to experiment a bit with threads.
15:43 autrijus since threads in GHC == trivial
15:43 nothingmuch ok, dig this:
15:43 autrijus and has no chance of deadlocking :)
15:43 nothingmuch mandatory locks on vars
15:43 nothingmuch cause any code accessing them (read, write) to deadlock
15:43 autrijus 5005 threads?
15:43 * autrijus waits for nothingmuch to finish
15:43 nothingmuch until it is realease
15:43 nothingmuch d
15:44 nothingmuch a thlosure is a { }, whose externally referenced vars, that are not redeclared within it 'is ro'
15:44 nothingmuch are automatically locked when it is threaded
15:44 nothingmuch this way, execution splits
15:45 nothingmuch but when there is competition for shared data that mustn't seem shared, there is waiting
15:45 nothingmuch nb lock checks
15:45 nothingmuch and other utils should help for boss threads
15:45 nothingmuch since globals are practically going away with perl6, this can be quite easy
15:45 nothingmuch to handle
15:46 autrijus there is still our()
15:46 autrijus and $*FOO.
15:46 autrijus if globals are really all gone, then yeah
15:46 autrijus but they are not.
15:46 nothingmuch in that case
15:46 nothingmuch since access is not so deterministic
15:46 nothingmuch locks are granted in a fifo order
15:46 nothingmuch the first thread to use $*FOO has it exclusively till it dies
15:47 nothingmuch ofcourse, people wanting proper concurrency just don't touch globals
15:47 nothingmuch but sanity is possible
15:47 autrijus I wonder if I should refer you to the STM paper :)
15:47 nothingmuch que stm?
15:47 * autrijus also wonders if pugs should take advantage of STM.
15:47 autrijus http://research.microsoft.​com/%7Esimonpj/Papers/stm/
15:47 nothingmuch refer refer
15:47 autrijus the Hot Topic in haskell world.
15:47 pmichaud well, I have to run off for a while -- bbl
15:47 autrijus see ya
15:48 nothingmuch adios, pmichaud
15:48 pmichaud has left
15:48 theorbtwo Hm, if he means by "transactional" what I think he does, it should gel very nicely with p6.
15:48 autrijus I think so too.
15:48 autrijus although parrot may not support that well.
15:48 nothingmuch my problem with ithreads is that i have no memory/time efficient way to get low latency updates on a long running task
15:49 nothingmuch i.e., a something that computes long and hard, with a web interface
15:49 theorbtwo (Where Larry seems to be putting much more emphisis on transactions vs lvalue subs then I would, but it's his language...)
15:49 autrijus personally I think STM is the Holy Grail of concurrency programming, at least in this generation of software tools :)
15:49 kcwu has joined #perl6
15:49 autrijus hey kcwu!
15:49 theorbtwo ithreads seem to me to be a worst of both worlds thing; almost might as well just fork.  (This is unsurprising, as ithreads started as a way to fork where you couldn't.)
15:50 nothingmuch theorbtwo: i'd rather fork
15:50 nothingmuch it's much quicker
15:50 * kcwu just start to learn haskell :)
15:50 nothingmuch my problem with forking is RPC
15:50 autrijus ithreads works on win32.
15:50 autrijus that's all I ask for.
15:50 autrijus <- has almost all clients on win32
15:50 nothingmuch you have to create a protocol, instead of just sharing
15:50 theorbtwo 1;
15:50 nothingmuch or deal with one that isn't perfect
15:52 autrijus kcwu: cool. doing YAHT exercises? :)
15:52 * nothingmuch always wished for a compiler optimisation that would fill registers as early as possible, and use them as late as possible
15:52 PerlJam theorbtwo: forking and threads are variations on the same concept.  The problem has always been that people tie those names to particular implementations.
15:52 nothingmuch and in the time it takes the bus to move stuff around, do other things
15:53 integral nothingmuch: isn't that what happens on RISC architectures?
15:53 kcwu autrijus: yes :)
15:53 nothingmuch i don't know, it just sounded good in theory
15:53 nothingmuch i programmed in assembler till the point that i know how it looks to the user, but never got further
15:53 nothingmuch twas a school thing
15:54 nothingmuch has left
15:54 nothingmuch has joined #perl6
15:54 metaperl has joined #perl6
15:58 theorbtwo PerlJam, I know, but the variations are important ones.  The implementations much less so.
16:00 * nothingmuch wonders if temp vars can be expanded to transactional modification
16:00 nothingmuch sub is transactional { }
16:00 nothingmuch all changes in sub are rolled back on fial
16:00 nothingmuch or committed atomically on success
16:01 autrijus I also wonder if junctive autothreading can be made into real threads.
16:01 nothingmuch junctive autothreading is sideeffect free, no?
16:01 autrijus I mean, in pugs. should be trivial, if not for those pesky side effect things.
16:01 autrijus eh? no, they are not side effect free.
16:01 autrijus sub foo { say $_ }; foo(1|2|3);
16:01 * nothingmuch also wonders if anyone ever looked at his taint mode genertalization post to p6l
16:01 nothingmuch ah
16:01 theorbtwo Um, did anybody ever specify what order they should be made in?
16:01 nothingmuch in case of sideffects, err, you don't
16:02 nothingmuch well, foo any(....) is defined as undefined
16:02 nothingmuch the compiler can decide to parellize
16:02 nothingmuch i would start by shuffling
16:02 theorbtwo Is it considered valid for that to print "2\n1\n3\n"?
16:02 autrijus right. so the question whether to parrallize.
16:02 autrijus theorbtwo: it is.
16:02 nothingmuch to make sure people eat shit making assumptions
16:02 autrijus s/whether/is whether/
16:03 theorbtwo I think it'd be perfectly valid to do so.  I'm much less sure it'd be a win to do so.
16:04 nothingmuch well, it's a choice
16:04 nothingmuch on a 2 cpu, hyperthreading machine, this could be a big win
16:04 nothingmuch 4 threads running at once
16:04 theorbtwo Depends a lot on the cost of starting threads.
16:05 nothingmuch HT taking care of latency issues with context switching
16:05 nothingmuch assuming threads are zero cost
16:05 nothingmuch COW
16:05 theorbtwo Right.
16:05 nothingmuch (in theory)
16:05 theorbtwo Depends on the arch.
16:06 theorbtwo If we're talking native threads, very cheap on Linux, much more expensive on win32.
16:06 nothingmuch i think perl6 is supposed to implement them regardless
16:06 nothingmuch somehow
16:06 marcusT mmmm, maybe guessing a language isn't the best way, but why does @foo = (1, 2, 3, 4) give "Can't write a constant item" message?
16:06 theorbtwo Yeah, I know, but the cost of starting a thread determines how often you should do so.
16:07 theorbtwo say(1|2|3|4) starting four threads is unlikely to be worth the effort.
16:07 nothingmuch but all(1 .. 100) * any(1 .. 100) with 2 workers is probably a 99% increase
16:08 nothingmuch you could also keep a pool
16:08 nothingmuch pre-autothread
16:08 nothingmuch spawn X workers at startup
16:08 nothingmuch and use them as needed
16:08 nothingmuch it probably will even simplify  impl
16:12 ihb has quit IRC (Read error: 104 (Connection reset by peer))
16:14 autrijus my @foo; @foo = (1,2,3,4)
16:14 autrijus worksforme
16:15 hlafarge has quit IRC ("KVIrc 3.2.0 'Realia'")
16:16 nothingmuch gather.t finally whipped up
16:16 Aankh|Clone has joined #perl6
16:21 nothingmuch how far are hyper ops?
16:22 autrijus not parsed at all.
16:23 nothingmuch they are essentially not a very hard feature, though, are they?
16:23 Aankhen`` has quit IRC (Read error: 60 (Operation timed out))
16:23 autrijus not at all. the parsing is harder.
16:23 autrijus can any binary Op be hypered?
16:23 nothingmuch i think so
16:23 nothingmuch and also unary
16:23 autrijus $x >>x<< 3
16:24 nothingmuch @a»++
16:24 nothingmuch auto increments all parts of @a
16:26 theorbtwo I think the plan is for all ops, including user-defined operators and functions, to be hyperable.
16:27 theorbtwo (Either by having a seperate hyper'd implementation, or by sythesizing one from the normal defintion... I don't remember from where I'm getting that, though...)
16:27 nothingmuch basically, anything infix is hyperred if »infix«
16:27 nothingmuch no white spaced
16:27 nothingmuch anything unary postfix is »++
16:27 autrijus makes sense.
16:28 nothingmuch unary infix is for example @a = -« (1, 2); # ~~ (-1, -2)
16:28 nothingmuch if i understand correctly
16:28 nothingmuch also, @objects ».run
16:28 nothingmuch (i like that one especially)
16:28 nothingmuch (although i have sentiments for $_->foo for (@objects) in perl5)
16:28 nothingmuch .foo for @objects; # p6 equiv?
16:30 nothingmuch can you stack hyper for multiple dimentions?
16:31 autrijus perl6 is weird. in a good way.
16:31 wolverian I seriously hope you can't stack hyper.
16:31 nothingmuch why not?
16:32 nothingmuch @matrix »»+«« @matrix
16:32 nothingmuch makes sense
16:32 nothingmuch if you know the dimentions
16:32 nothingmuch ofcourse, you may be better off using a piddle
16:32 wolverian hrm, I guess.
16:32 nothingmuch and mmd invocant infix + that matches them
16:32 wolverian it just feels like too much in too little.
16:32 nothingmuch i think it's more consistent to stack them
16:32 nothingmuch but i don't know
16:33 theorbtwo You can do that, I think.
16:33 Khisanth but then what about @matrix »»*«« @matrix ?
16:33 nothingmuch @multiplied =
16:33 nothingmuch i don't see what's wrong
16:33 theorbtwo ...but you can't >>>>*<<<< for super hyper action.
16:33 autrijus oh. I may repeat myself, but I think pugs won't do latin1 >> and <<
16:33 malaire btw, does anyone know if solution for example 9.2 in YAHT is OK? I just get error message when I try it.
16:33 autrijus and I'd like to see latin1 banned from the language, but I'm biased :)
16:34 nothingmuch me too
16:34 nothingmuch hebrew is unbearable in anything but unicode
16:34 autrijus chinese too.
16:34 wolverian how is that related? just write your perl in utf.
16:35 wolverian (with chinese variable names! and stuff. yay. I am anticipating debugging chinese perl. :|)
16:35 nothingmuch because without a need for encoding as utf8 people won't
16:35 autrijus exactly.
16:35 autrijus wolverian: larry posted some chinese examples on p6l
16:35 wolverian er, so?
16:35 autrijus as justification for sigilless
16:35 * nothingmuch wonders if rtl could be don
16:35 wolverian autrijus: yeah. :) it was nice.
16:35 nothingmuch אם 1 < 2 { $פוו = 5 {
16:36 nothingmuch פוו = foo
16:36 wolverian this font doesn't have those characters, I think.
16:36 nothingmuch אם = if
16:36 * theorbtwo scratches his head.
16:36 wolverian (courier new. ugh.)
16:36 nothingmuch and {} are reversed
16:36 nothingmuch as well as sigils on the end
16:36 nothingmuch ofcourse
16:36 wolverian (er, andale mono.)
16:36 nothingmuch logically, they aren't
16:36 nothingmuch you type it in the same order
16:36 nothingmuch and it's the same char
16:36 nothingmuch s
16:36 nothingmuch but they're displayed reversed
16:36 nothingmuch =D
16:37 theorbtwo Ah.  They're supposed to be displayed reversed; gaim isn't doing that.
16:37 theorbtwo I suppose all is fair if you predeclare, but that just gives me the heeby-geebies.
16:38 nothingmuch don't worry, i won't be uploading that to CPAN ;-)
16:39 nothingmuch but with macro support perl6 could be easily perligata'ed correctly
16:39 nothingmuch use Perl::NLS;
16:39 Khisanth nothingmuch: people might actually expect to get matrix multiplication from @matrix »»*«« @matrix :)
16:39 nothingmuch type perl with prims in your own language
16:39 nothingmuch i would expected $mul[0][0] = $a[0][0] * $b[0][0];
16:40 nothingmuch and then [0][1] = [0][1] * [0][1]
16:40 nothingmuch t/op/hyper.t added without interdimentional travel
16:43 nothingmuch can you declare operators yet?
16:44 * nothingmuch has a ride home, ciao
16:45 nothingmuch has quit IRC ()
16:46 _metaperl has joined #perl6
16:51 kcwu has quit IRC (Remote closed the connection)
16:51 kcwu has joined #perl6
17:03 ingy hola
17:03 john_ has joined #perl6
17:04 autrijus hi ingy san!
17:04 metaperl has quit IRC (Read error: 110 (Connection timed out))
17:04 _metaperl is now known as metaperl
17:05 ingy hello autrijus san
17:05 ingy how goes?
17:06 trexy has quit IRC ("Leaving")
17:06 autrijus very good. about to sleep now.
17:06 autrijus lotsa things happened in #perl6.
17:07 autrijus whilst you slept :)
17:07 autrijus as usual.
17:08 john_ has quit IRC ("Leaving")
17:09 vladtz has joined #perl6
17:09 ingy hmmm
17:10 ingy surprisingly no patches to my patches
17:11 Aankh|Clone is now known as Aankhen``
17:12 vladtz has quit IRC (Client Quit)
17:13 vladtz has joined #perl6
17:15 marcusT has quit IRC ("Konversation terminated!")
17:21 cls_bsd_ will
17:21 ingy autrijus: what do you think of a `-b` flag for -Mblib functionality
17:21 autrijus I think blib.pm.
17:21 ingy ok
17:21 autrijus not really convinced it's worth a flag.
17:22 ingy ok
17:22 ingy so I was thinking of how to implement -M
17:23 ingy is it easy to eval Perl6 code in the haskell code?
17:26 autrijus there is the "eval" op
17:26 autrijus so yeah
17:26 autrijus but -M implies 'use'
17:26 autrijus we only have 'require'
17:26 ingy good enough for now
17:26 autrijus but if you can live with -M means 'require' then sure.
17:38 Aankh|Clone has joined #perl6
17:38 jdv79 has left "Leaving"
17:39 ingy sb end
17:48 Aankhen`` has quit IRC (Read error: 60 (Operation timed out))
17:49 DrHyde is now known as DrSockHunter
17:52 nothingmuch has joined #perl6
17:52 nothingmuch beh, horrible weather
17:53 autrijus journal up. sleep &
17:53 nothingmuch sleep well!
17:54 * nothingmuch walked home about 3km
17:54 nothingmuch it was drizzling mud,
17:54 nothingmuch there was a dust storm all day
17:54 nothingmuch and now it started dripping
17:54 nothingmuch i'd say 80-90% humidity
17:54 nothingmuch but hot
18:01 dada has joined #Perl6
18:01 dada buonasera
18:02 larsen hi dada
18:02 dada hullo larsen :-)
18:02 dada a question for who's listening
18:03 dada is the unary splat operator implemented in pugs?
18:03 dada (I mean, *@array)
18:04 PerlJam dada: I don't think so.
18:04 dada PerlJam: ok, thanks
18:04 mauke it parses
18:05 dada mauke: but it breaks sub calls using it
18:05 dada I mean something like:
18:05 dada sub foo($x, $y, $z) { ... }
18:05 PerlJam There are many things that pugs parses that don't seem to actually work.
18:05 dada my @a = (1,2,3);
18:05 dada print foo(*@a);
18:07 luqui has joined #perl6
18:07 jdv79 has joined #perl6
18:07 dada my next question will be: where should I look to implement it?
18:09 PerlJam dada: most of the action happens around Parser.hs, Eval.hs, and Prim.hs
18:09 nothingmuch has quit IRC (Read error: 148 (No route to host))
18:18 nothingmuch has joined #perl6
18:19 dada another one
18:19 nothingmuch morning
18:19 dada (feel free to kick me when I've reached my question quota)
18:20 PerlJam there's a quota?  ;)
18:20 theorbtwo Nobody minds, dada.
18:20 dada PerlJam: I will know when I will reach it :-)
18:20 dada my($a, $b, $c) = (1,2,3); print "A=$a B=$b C=$c\n";
18:20 dada this one should print: A=1 B=2 C=3, right?
18:20 nothingmuch questions provoke thought
18:20 PerlJam dada: feel free to start using say rather than print :)
18:20 dada PerlJam: touché
18:20 theorbtwo BTW, the perl6ish way would be s/print/say/, s/\\n//, but that's not important.
18:21 PerlJam dada: It should, but I bet it prints A=1 2 3, B= C=
18:21 dada nope
18:21 PerlJam no?
18:21 dada it prints A=1 2 3, B=1 2 3, C=1 2 3
18:21 PerlJam dada: bizarro.  
18:21 theorbtwo Indeed.
18:21 PerlJam Are you going to fix that one too?
18:21 PerlJam :)
18:21 nothingmuch dada: that's a bug
18:21 nothingmuch autrijus knows
18:22 nothingmuch it's tested in t/op/array.t
18:22 dada it's tested?
18:22 nothingmuch uhuh
18:22 nothingmuch down at the bottom
18:22 theorbtwo As a todo, that is.
18:22 nothingmuch i comitted today or yesterday
18:22 * nothingmuch can't remember
18:22 dada ahhh I should checkout the svn
18:22 dada I'm working with 6.0.10 right now :-)
18:22 theorbtwo Yeah; in a project that moves as fast as pugs, the last release is always out of date.
18:22 luqui tests like that ought to be failing
18:23 luqui not todofailing
18:23 PerlJam indeed.
18:23 theorbtwo Agree.
18:23 nothingmuch i thought that was 'fixed' a while ago?
18:23 PerlJam luqui: We just need to make sure to draw the line between "not yet implemented" and "implemented, but broken" in bright neon  :)
18:24 luqui right
18:25 luqui any other todos that are really bugs (I'm going through and untodoing them)
18:25 nothingmuch luqui++
18:25 nothingmuch i made many
18:27 justatheory has joined #perl6
18:34 lumi What's missing for "use"?
18:35 dada lumi: PACKAGE->import and the whole OO subsystem (I guess)
18:36 lumi It's a method call on a package object?
18:36 PerlJam you don't need OO to get use
18:36 PerlJam you need BEGIN {} though
18:36 lumi I thought just modules, begin blocks and method calls
18:36 dada lumi: PACKAGE->import was the perl5 equivalent, sorry
18:36 theorbtwo Calling PACKAGE::import would be good enough for many users.
18:36 lumi Or sub calls, ignore me
18:37 lumi All Java and no Perl makes lumi something something
18:37 theorbtwo PACKAGE::import(~PACKAGE) even better.
18:38 dada nothingmuch: I can't seem to find your stuff at the end of t/op/array.t
18:39 dada nothingmuch: the only difference between 6.0.10 and latest svn is the "new arrays are empty" test
18:40 nothingmuch err
18:40 nothingmuch sorry
18:40 nothingmuch t/op/assign.t
18:40 nothingmuch that's another bug
18:40 nothingmuch =)
18:41 nothingmuch lumi: BEGIN is going to be hard work
18:41 dada nothingmuch: ok, thanks
18:41 nothingmuch objects not that hard, but much has to be done beforehand
18:41 lumi Okay..
18:41 luqui untodoed stuff, r512
18:42 luqui off to class
18:42 nothingmuch ciao luqui!
18:42 luqui has quit IRC ("leaving")
18:42 theorbtwo You should have a second pair of tests there: { my $foo='foo'; my $bar='bar'; ($foo, $bar)=($bar, $foo); is($foo, 'bar', 'flip'); is($bar, 'foo', 'flop'); }
18:43 ihb has joined #perl6
18:44 lumi About array slices, what should @foo[1,3] = @foo[3,2,1] do?
18:44 vladtz has quit IRC ("Leaving")
18:45 theorbtwo p5 psuedocode: @oldfoo=@foo; $foo[1]=$oldfoo[3]; $foo[2]=$oldfoo[2]; # undef = $foo[1] is nop.
18:46 lumi Just a normal list assignment?
18:46 lumi And lhs @foo[1,2] would be Totally Different?
18:48 nothingmuch why aren't we optimising?
18:49 theorbtwo I should think it'd just be normal list assignments all around.
18:49 nothingmuch ghc -O3 made things run much much faster
18:49 nothingmuch i'd say about 3x
18:49 lumi So a slice assignment is never a splice?
18:49 PerlJam lumi: no way.
18:50 nothingmuch theorbtwo: tests where?
18:50 dada nothingmuch: "Early optimization is the root of much evil"
18:50 theorbtwo At the bottom of t/op/assign.t
18:50 lumi So what's awaiting cabal clarification?
18:50 nothingmuch it's not premature
18:50 nothingmuch the test run is slow
18:50 nothingmuch and the optimisation is by GHC
18:51 PerlJam @foo[1,3] = @foo[3,2,1] would be the same as @foo[1,3] = @foo[3,2]  which would be the same as @foo[1] = @foo[3];  @foo[3] = @foo[2];
18:51 nothingmuch i don't run the debugger, so what do i care if it's optimised
18:51 jsn has joined #perl6
18:51 PerlJam lumi: there was some problem with the slices that I don't remember the specifics of off hand.
18:51 nothingmuch not a single line of code changed, but lots to be gained
18:51 lumi @foo[1,2] = (1,2,3) is not a splice then
18:52 PerlJam oh!  that's what needed clarification.   (1,2,3) is said to be synonymous with [1,2,3]
18:52 PerlJam If that's true, then @foo[1,2] = (1,2,3) is the same as @foo[1] = [1,2,3];
18:53 lumi Ahh um
18:53 integral so you'd need a star on the RHS or the LHS?
18:53 lumi Disturbing
18:53 PerlJam Though I can't imagine that's the way it should work.
18:53 dada PerlJam: no, it's not synonymous
18:53 dada *[1,2,3] is synonymous with (1,2,3)
18:53 theorbtwo That'd be very distrubing to me as well.
18:54 nothingmuch it's not star, it's got a funky name
18:54 nothingmuch unary splat
18:54 nothingmuch =)
18:54 dada [1,2,3] is always an array (which could be treated as a list in list context), while (1,2,3) is always a list
18:54 PerlJam dada: [] isn't the problem, () is.  $foo = (1,2,3) will make an anonymous List and assign it to $foo such that you'd be hard-pressed to tell the difference after the fact.
18:55 dada mmm
18:55 PerlJam i.e., Larry has said that $foo = (1,2,3);  $bar = [1,2,3];  are virtually the same.
18:55 dada are you sure it should make an anonymous list?
18:55 dada oh, ok then :-)
18:55 PerlJam dada: I'm not sure of anything :-)
18:55 lumi So, an array in scalar context is an array ref, and a list in scalar context is ALSO an array ref?
18:56 nothingmuch yep
18:56 lumi That's really overloading =...
18:56 dada and what should $foo = *@arr do? (supposing @arr contains (1,2,3))
18:56 nothingmuch i would guess same as @arr[0]
18:57 lumi So you'd need to splat the list to do the array slice assignment, which would make it plain what's going on, but if you don't splat it's confusing
18:57 PerlJam dada: in the absense of other contextual specifiers, I'd say it should do the same thing as $foo = 1,2,3;
18:57 nothingmuch like foo(*@a), with sub foo ($x, *@a) will yield $x = @a[0], @a = ...
18:57 nothingmuch PerlJam: except that comma operator now behaves differently in scalar context
18:57 dada ouch
18:57 nothingmuch also doing magical list ref things, i think
18:58 PerlJam nothingmuch: well, comma is our new list constructor, not ()
18:58 PerlJam but yeah.
18:58 PerlJam anyway, there's much confusion to be had here :-)
18:58 * theorbtwo sighs, and hopes that when Larry sees some of this stuff, he will come to his senses.
18:59 PerlJam theorbtwo: I don't want Larry to come to his senses, I want him to come to *my* senses  ;-)
18:59 theorbtwo Even better.
19:00 PerlJam In reality I'm sure his senses and my senses will meet somewhere in the middle.
19:00 dada so, is there any difference between $foo = 1,2,3 and $foo = (1,2,3) ?
19:00 Odin- Unless one or the other of you had a couple of blue lumps of sugar.
19:00 lumi And ($foo) = 1,2,3
19:00 theorbtwo I'm personally for keeping things fairly perl5ish in this circumstances, with the change of making comma in scalar context an error.
19:00 PerlJam dada, lumi: ask pmichaud or luqui when you see them.
19:01 * theorbtwo wonders if autrijus is in on the design-team meetings, and if he should be.
19:02 PerlJam theorbtwo: I don't think he is, but his presence on p6c and p6l and continual productivity with pugs is more than enough methinks
19:02 lumi In p5, '$a = 1,2,3' eqv '$a = 1' apparently
19:02 lumi I thought it would be eqv $a = 3
19:02 PerlJam i.e., autrijus is driving the design simply by trying to implement it.
19:02 PerlJam lumi: why?
19:02 mauke lumi: precedence
19:03 PerlJam $a = 1,2,3  == ($a = 1),2,3
19:03 jsn ($a,undef,undef)=(1,2,3)
19:03 lumi Because isn't , the 'eval and forget it, I have something else for ya'?
19:03 PerlJam lumi: read what mauke said again :)
19:03 lumi Of course
19:04 lumi I thought it bound stronger then
19:05 theorbtwo perl -MO=Deparse,-p -e '$a=1,2,3'
19:06 malaire has quit IRC ("Chatzilla 0.9.67 [Firefox 1.0/20041107]")
19:06 mauke !deparse $a=1,2,3 //huhu
19:06 mauke (($a = 1), 2), 3
19:06 lumi Okay, $a = (1,2,3) does what I thought
19:06 lumi Huh?
19:06 Aankh|Clone is now known as Aankhen``
19:06 lumi Would that work for me?
19:07 Khisanth hrmm
19:07 lumi !deparse $a = (1,2,3)
19:07 mauke $a = ((1, 2), 3)
19:07 mauke it's a C(++) deparser, though
19:07 mauke it just happens to work with some of perl's expressions
19:07 lumi Oh, not as good
19:07 lumi It gets the right answer, but without the pretty
19:07 lumi ($a = ('???', '???', 3));
19:08 lumi Pretty!
19:08 Khisanth $foo ~= "bar" is not the perl5 equivalent of $foo .= "bar" is it?
19:08 dada Khisanth: I think it is
19:08 theorbtwo AFAIK, it is.
19:08 * Khisanth get readys for more fun bugs people will be asking in #perl :)
19:09 lumi I codified my understanding of array slice assignment, what mote I do with it?
19:09 theorbtwo 1) Make it into tests.
19:09 lumi That's the codifying
19:09 theorbtwo 2) Post it to p6l with an "is this right" question.
19:10 integral Khisanth: you use ~~ for regexp matching
19:10 Khisanth hmm
19:10 integral Khisanth: plus you can kick those people to #perl6 ;-)
19:10 Khisanth integral: once perl6 is out, I assume they would just merge :)
19:11 integral Khisanth: 'perl6 is out' 8-)...  that's the thing
19:11 mauke System.out.perl6
19:12 Khisanth integral: no it isn't
19:12 Khisanth by out I mean fully designed and implemented!
19:12 integral sure, and that's going to be after lots of newbies turn up
19:12 PerlJam Khisanth: The only fully designed and implemented language is latin.
19:13 Juerd Not really
19:13 mauke even perl5 isn't fully designed or implemented
19:13 Juerd Latin has many weird exceptions and irregular words
19:13 integral Juerd: but those are designed and implemented...
19:13 Khisanth PerlJam: well not long ago it wasn't even sure what all the builtin functions would be :)
19:13 Juerd mauke: How can something without design not be fully implemented? :)
19:14 Juerd PerlJam: Now if you meant Esperanto... :)
19:14 Khisanth and that might still be the case!
19:14 Juerd s.meant.said.
19:14 obra logban
19:14 Juerd integral: Not quite designed
19:14 Odin- has quit IRC (Read error: 54 (Connection reset by peer))
19:14 mauke Juerd: I didn't say it had no design :-)
19:14 Juerd obra: s/g/j/
19:14 obra lojban
19:14 obra thinko
19:14 * Juerd pets obra
19:15 Juerd My brain still hurts from typing my last message to p6l
19:15 Odin- has joined #perl6
19:15 Juerd The syntax for subs with traits just sucks
19:16 dada Juerd: well, at least java/C#/etc. counterpart sucks too :-)
19:17 Juerd Certainly
19:17 PerlJam Juerd: I'm waiting for Larry's reply.  (unless he said everything he was going to say with his other reply)
19:17 Juerd Larry has replied several times in that thread already
19:18 Limbic_Region has quit IRC ("tiuq\")
19:18 Juerd Hm, the \ is wrong
19:19 PerlJam not specifically to your post (at least it hasn't shown up in my inbox yet)
19:19 Juerd As t, i, u and q are not mirrored
19:21 metaperl_ that was an interesting interview on perl.com
19:22 nothingmuch has left
19:22 Juerd metaperl_: It in fact still is.
19:29 nothingmuch has joined #perl6
19:31 * nothingmuch needs help with YAHT
19:31 nothingmuch excercise 3.10
19:31 nothingmuch i wrote the function that reads numbers
19:31 nothingmuch it stops correctly
19:31 nothingmuch it returns a list of numbers
19:32 mauke is there a text or html version of YAHT?
19:32 nothingmuch not that I know of
19:32 mauke I don't want to start a gui just to read pdfs :/
19:32 nothingmuch pdf2ascii?
19:32 nothingmuch it's not specific to the excercise
19:32 nothingmuch now i want to print it
19:32 nothingmuch from main = do....
19:32 nothingmuch i say nums <- readNumbers
19:32 nothingmuch which is ok
19:33 nothingmuch and the putStrLn nums
19:33 nothingmuch which is not
19:33 integral show?
19:33 mauke nums doesn't look like a string
19:33 nothingmuch        Expected type: IO ()
19:33 nothingmuch        Inferred type: t -> t1
19:34 mauke hmm, can you post a complete example?
19:34 nothingmuch http://nothingmuch.woobling.org/yaht/
19:35 nothingmuch ignore show_fact, etc
19:35 nothingmuch they're not even test yet
19:36 nothingmuch i assume i'll need ++ show n ++ " is " ++ show factorial n
19:36 nothingmuch but i'm not there yet
19:36 mauke Probable cause: `putStrLn' is applied to too many arguments in the call (putStrLn show head nums)
19:36 mauke yay for ghci
19:36 mauke function application is left associative
19:37 nothingmuch ah!
19:37 mauke map f list means (map f) list, not map (f list)
19:40 nothingmuch ok, next issue
19:40 nothingmuch reload =)
19:42 mauke factorial 0 = 1, btw
19:42 nothingmuch 1 isn't correct?
19:42 nothingmuch i don't see why
19:42 nothingmuch is it a definition issue?
19:43 mauke factorial 0 is defined as 1; factorial 1 = 1 follows from that
19:43 nothingmuch ah, ok
19:43 nothingmuch because otherwise factorial 0 will just not work
19:45 nothingmuch        Expected type: a -> Char
19:45 nothingmuch        Inferred type: a -> [Char]
19:45 nothingmuch in regards to putStrLn(map show_fact nums)
19:46 lumi Because nums is a string you read in
19:46 rafl has quit IRC (Read error: 110 (Connection timed out))
19:46 mauke yes. it expected show_fact to return a single char
19:46 nothingmuch it's not a string
19:46 nothingmuch it's a list of numbers
19:46 nothingmuch i read(string) inside readNumbers
19:46 nothingmuch oh
19:46 mauke because putStrLn expects a list of chars, and map returns a list of what show_fact returns
19:46 nothingmuch right, i see
19:47 nothingmuch so i should map ++ map show_fact nums?
19:47 lumi You need to gather it
19:47 lumi Not map it, I think
19:47 mauke I don't know YAHT, but the definitions of my_sum and my_product can be simplified using fold, and factorial can be defined with my_product
19:47 nothingmuch err, foldr, rather
19:47 nothingmuch or equiv
19:47 lumi Or map putStrLn if you prefer
19:48 lumi No, that's wrong
19:48 lumi Ignore me again
19:48 mauke sequence_ might be handy here
19:49 nothingmuch i don't know these yet
19:50 nothingmuch i don't see how my_product could be useful for factorial, except if you make a list of a n, n-1, n-2 .. 1
19:50 nothingmuch and my_product that
19:50 mauke exactly
19:50 mauke factorial n = my_product [1 .. n]
19:50 nothingmuch how would you write it simply?
19:50 nothingmuch hah
19:50 nothingmuch ok, well, i'm lacking on syntax
19:51 nothingmuch i thought i'd need to generate the range myself
19:51 mauke there's nothing wrong with your definition, though
19:51 nothingmuch i prefer yours
19:51 nothingmuch i like conciseness
19:52 mauke hahahaha
19:52 mauke your definition of my_product is subtly wrong
19:53 nothingmuch it's now 'foldr (*) nums
19:53 nothingmuch not yet tested
19:53 mauke no, the old version
19:53 nothingmuch i don't recall if i must wrap * in ()
19:53 nothingmuch how was it wrong?
19:53 nothingmuch hold on, undoing
19:53 nothingmuch did i return 0?
19:53 lumi It had [] as 0, should be 1
19:53 nothingmuch =)
19:53 nothingmuch it worked, though
19:53 mauke lumi: right, but why did my_product [1,2] work?
19:54 lumi Heh
19:54 lumi Two wrongs DO make a right :)
19:54 * nothingmuch is curios
19:55 shapr has joined #perl6
19:55 shapr rgh
19:55 nothingmuch hola shapr
19:55 lumi Pax
19:55 shapr y0
19:55 theorbtwo And a grrr so you.
19:55 theorbtwo s/so/to/
19:55 mauke nothingmuch: you used product instead of my_product in the recursion
19:55 nothingmuch ah
19:55 nothingmuch hehe
19:55 nothingmuch =)
19:58 shapr has quit IRC (Client Quit)
19:58 nothingmuch hmm
19:59 lumi I'm not getting it to work
19:59 nothingmuch foldr (++) [ "string", "foo" ]
19:59 nothingmuch what is this supposed to do?
19:59 Juerd I hope that's not Perl
19:59 nothingmuch i gather "string ++ "foo"
19:59 qmole lol
20:00 nothingmuch haskell, Juerd =)
20:00 Darren_Duncan has joined #perl6
20:00 Juerd Pfew
20:00 Darren_Duncan I'm back up
20:00 nothingmuch but the type is different
20:00 Darren_Duncan Quick question.  I reviewed part of the logs for this #perl6 ...
20:00 shapr has joined #perl6
20:00 Darren_Duncan Should I upload my Locale-KeyedText to /modules now rather than /ext ?
20:01 nothingmuch yes, you should
20:01 nothingmuch i think
20:01 nothingmuch ask ingy to be sure
20:01 obra what's that do?
20:01 Darren_Duncan is ingy here now?
20:01 ingy hola
20:01 Darren_Duncan certainly, LKT isn't a core module, which seems to be what the thing I read said /ext is now for
20:02 nothingmuch how do i concatenate a list of strings in haskell?
20:02 nothingmuch i expected foldr (++) ["string", "string"] to work
20:02 nothingmuch but it does something else
20:02 ingy ext is for core bootstrapping stuff, modules is what you want
20:02 mauke nothingmuch: foldr (++) "" [...]
20:03 nothingmuch oh, right, because (++) is infix
20:03 Darren_Duncan be held for that, or did it already happen
20:03 Darren_Duncan ?
20:03 metaperl has quit IRC (" HydraIRC -> http://www.hydrairc.com <- *I* use it, so it must be good!")
20:03 Darren_Duncan something I wrote got cut off ...
20:05 nothingmuch yay, i managed to get it right!
20:05 Aankhen`` has quit IRC ("Quote: "I found a security flaw where IE accidentally loses massive amounts of market share every time I launch it." [Time wa)
20:05 nothingmuch thanks mauke!
20:05 nothingmuch thanks lumi, sort of ;-)
20:05 justatheory has quit IRC ()
20:05 Darren_Duncan I saw a comment about Pugs 6.0.11 wanting to be released soon ...
20:05 Darren_Duncan Can this be held off until I get my Locale-KeyedText in?  I can drop everything else coding wise and get it in today.
20:06 Darren_Duncan Or was it not going to go out that quickly?
20:06 sorje has quit IRC ("leaving")
20:06 nothingmuch releases are weekly
20:06 obra What does Locale-KeyedText do?
20:06 sorje has joined #perl6
20:06 obra is it a Locale::MakeText-alike?
20:06 nothingmuch and most people who will muck with Locale-KeyedText will prolly be using svn
20:06 mauke nothingmuch: putStr $ unlines $ map show_fact nums
20:06 nothingmuch let facts = map show_fact nums
20:06 nothingmuch let line = foldr (++) "" facts
20:06 nothingmuch putStrLn line
20:06 Darren_Duncan It was meant to be used partly as an integration test for Pugs support of Perl 6
20:06 nothingmuch that's what i'm doing at the moment
20:07 nothingmuch i will elegentaize it
20:07 Darren_Duncan A complete Perl 5 version is on CPAN, I was going to port it
20:07 nothingmuch Darren_Duncan: i wouldn't rush it
20:07 Darren_Duncan it depends on features that Pugs hasn't implemented yet
20:07 nothingmuch so i start porting
20:07 nothingmuch and keep going
20:08 Darren_Duncan was going to be a todo type thing ... originally I was told to put it in /ext, but then there was deveopment to say use /modules instead
20:08 lumi Why isn't it working as putStrLn ( foldr (++) "" map show_fact nums) ?
20:08 nothingmuch it si, i just did that
20:08 nothingmuch not exactly that
20:08 nothingmuch but before i had some trouble, so i broke it down to find out exactly where
20:09 mauke lumi: missing parens
20:09 Darren_Duncan obra, Locale-KeyedText is for localizing programs, where all user text is looked up by non-descriptive keys, rather than looking up language B using language A
20:09 mauke lumi: foldr (++) "" (map show_fact nums)
20:09 nothingmuch (map show_fact nums)...
20:09 nothingmuch ah
20:09 Darren_Duncan and the locale data is stored in Perl files that are essentially just one large hash declaration
20:09 obra couldn't you do that with Locale::MakeText?
20:09 mauke huhu, main = readNumbers >>= putStr . unlines . map show_fact
20:10 Darren_Duncan MakeText does the job differently
20:10 obra What's cool about KeyedText? (I do a fair amount of loc stuff for RT)
20:10 Darren_Duncan they tackle the same problem domain, sure, but are very different in method, I think
20:11 Darren_Duncan let me get back to you on details
20:11 obra ok
20:11 nothingmuch mauke: want to look at the final result, to see if you have any suggestions for improvement?
20:12 Darren_Duncan obra, one of the main differences is complexity
20:12 Darren_Duncan KeyedText is waaaay simpler
20:12 mauke nothingmuch: yeah
20:12 Darren_Duncan and completely self-contained
20:12 nothingmuch reload
20:12 obra oh? I had no complexity issues with L::M
20:12 mauke do you really need the hSetBuffering stdin LineBuffering part?
20:12 Darren_Duncan this is with "first appearance complexity"
20:12 nothingmuch err, that's what the book said
20:13 obra and L:M:L made it so that random translators can cope nicely too ;)
20:13 nothingmuch cargo culting
20:13 nothingmuch i didn't even try without
20:13 obra they didn't like it when I handed them perl hashes ;)
20:13 Darren_Duncan my module does less, and does it differently
20:13 nothingmuch perhaps ghci has made it unnecessary since?
20:13 obra ok :)
20:14 nothingmuch i understood that without it the prompt lines will not be outputed before reading
20:14 sorje has quit IRC ("leaving")
20:14 nothingmuch since STDOUT will be in block buffering mode
20:14 sorje has joined #perl6
20:15 Darren_Duncan See http://search.cpan.org/dist/Locale​-KeyedText/lib/Locale/KeyedText.pm and you should get an idea from the synopsis, which is short but a completely working example.
20:15 mauke nothingmuch: huh? hSetBuffering stdin shouldn't affect stdout at all
20:15 Darren_Duncan Don't get me wrong, Maketext I'm sure is quite useful, just too complex for my, and probably many other peoples' needs.
20:15 mauke show(n) is pointless; show n reads better
20:15 nothingmuch ooh, you're right
20:16 nothingmuch i wonder if i wrote stdin because i am loopy
20:16 nothingmuch or whatnot
20:16 nothingmuch i'll reread the explanation
20:17 Darren_Duncan Locale-KeyedText is inspired by the Mac OS X localization system for Cocoa apps.
20:17 Darren_Duncan but all data files are pure Perl
20:17 nothingmuch from yaht: 'The necessity for this is because, when GHC reads input, it expects to read it in rather large blocks. A typical person’s name is nowhere near large enough to fill this block. Thus, when we try to read from stdin, it waits until it’s gotten a whole block.'
20:17 nothingmuch so just the other way around
20:17 nothingmuch the tty is probably already line bufferred
20:17 nothingmuch but reading will block till whatever
20:18 nothingmuch oh i dunno, i'll learn all this stuff later
20:18 Darren_Duncan anyway, I have some non-coding work to do around here for a few hours so have to get off ... see you later
20:18 shapr I'm having a build problem with the ghc 6.4 debs. Is it possible the darcs repo is behind the svn?
20:18 nothingmuch ?
20:18 nothingmuch could be shapr
20:18 Darren_Duncan has quit IRC ()
20:18 nothingmuch but there weren't any build problems today, iirc
20:18 nothingmuch you should see about 20 syncup messages from today
20:18 shapr src/Internals.hs:18:4: \n Conflicting exports for `getEnvironment':
20:19 shapr I'll check the darcs changes, good point.
20:19 mauke nothingmuch: concat ["foo", "bar", "baz"]
20:19 nothingmuch ah
20:19 nothingmuch easier than foldr
20:20 Limbic_Region has joined #perl6
20:21 mauke $ is a pretty cool operator
20:21 nothingmuch what's unlines?
20:22 mauke join("\n", @_), "\n" or join '', map "$_\n", @_
20:22 mauke perl5 syntax :-)
20:23 sorje Prelude> unlines ["abc", "cde"]
20:23 sorje "abc\ncde\n"
20:23 nothingmuch and $?
20:23 nothingmuch '$'
20:23 Juerd I want unary ~ to join on '', not ' '.
20:23 Juerd Can anyone think of a reason it should join on ' '?
20:23 sorje a $ b x  = a(b(x))
20:23 mauke $ is function application: f $ x calls f with an argument of x
20:23 Juerd Joining on '' is much more common I think
20:23 sorje Oh, we're not talkine haskell here. ;-)
20:24 nothingmuch so it's basically to disambiguate calls?
20:24 nothingmuch i think i'll be learning of that later
20:24 nothingmuch sorje: sorry!
20:24 mauke nothingmuch: watch this: http://rafb.net/paste/results/OjaFAF33.html
20:24 * nothingmuch thinks he earned a little credit though, writing lots of perl6 these last few days, and now needs to cover some haskell to complement
20:25 nothingmuch is it more interesting than just shorthand for a(b x)?
20:26 mauke I think it looks cleaner than many nested parens
20:27 nothingmuch but it's got no magical whiz bang i'm missing, right?
20:27 mauke nope:  f $ x = f x
20:27 nothingmuch ok
20:37 ingy witheo `split`?
20:39 ingy witheo foo = "What is the haskell equivalent of " : foo : "?"
20:41 mauke Couldn't match `[Char]' against `Char' (Expected type: [[Char]]; Inferred type: [Char]) In the expression: foo : "?"
20:41 nothingmuch eh?
20:41 nothingmuch has quit IRC (Remote closed the connection)
20:41 ingy yeah I suck
20:41 nothingmuch has joined #perl6
20:41 theorbtwo s/:/++/g
20:41 theorbtwo Er, s:all/:/++/
20:42 ingy sooo anyway... witheo split??
20:44 ingy okok
20:44 ingy What is the Haskell equivalent of Perl's split()?
20:45 mauke hmm, there doesn't seem to be one in the standard prelude
20:45 ingy (I was preoptimizing :)
20:45 mauke split / / and split /\n/ are words and lines, respectively
20:46 ingy surely this is a very common operation
20:52 ingy str.gmatch ?
20:54 theorbtwo Just read the source:
20:55 theorbtwo lines s = let (l, s') = break (== '\n') s; in l : case s' of {[] -> []; (_s'') -> lines s'')
20:56 ingy I do read the source, I'm just not over the lambdacamel hump, iykwim
20:58 theorbtwo Ah.
20:58 theorbtwo I'm not either, which is why I'm not actually sure what that function that I just quoted does.
20:59 theorbtwo ...or even if I onelinerified it properly.
20:59 ingy this page seems helpful: http://pleac.sourceforge.net​/pleac_haskell/strings.html
20:59 dada Data.PackedString seems to have a split (soft of)
21:00 sorje ingy, No! Don't read pleac! ;-)
21:00 ingy ?
21:01 sorje That one's really really dangerous. It redefines large parts of haskell's Prelude
21:01 dada splitAtPS :: Int -> PackedString -> (PackedString, PackedString)
21:01 dada mmm no
21:01 dada splitPS :: Char -> PackedString -> [PackedString]
21:02 dada this one looks better
21:02 ingy sorje: oh
21:04 lumi What does that ' do?
21:04 PerlJam lumi: nothing, it's just part of the name
21:04 PerlJam lumi: read "s-prime"
21:06 lumi That oneliner looks broke though
21:11 lumi Hm, it makes sense
21:26 metaperl_ why isnt multi a subroutine attribute?
21:26 hlafarge has joined #perl6
21:27 metaperl_ could you just have multi and not multi sub for brevity?
21:28 PerlJam metaperl_: because its multi-ness is more important than that, so the multi keyword needs to be out front for all to see.
21:28 metaperl_ and why not just the word multi?
21:28 PerlJam At some level though, it probably is a trait on the sub.
21:29 PerlJam metaperl_: for what a multi-method or a mult-sub?
21:29 metaperl_ I dont even know the diff between those. I think I should keep my mouth shut.
21:35 lumi Woohoo, I just wrote split in haskell!
21:35 lumi Do I get candy?
21:36 PerlJam lumi: is is commited to the repository as a stub for perl6's split?
21:40 mauke my split is incomplete. its handling of trailing null fields is kind of broken.
21:42 ninereasons has joined #perl6
21:43 lumi It's really not good enough, it's just an extension of "lines" really
21:44 cls_bsd_ has quit IRC (Read error: 110 (Connection timed out))
21:44 lumi http://rafb.net/paste/results/X7ITRM95.html
21:44 lumi My first haskell ever, too
21:47 sorje perl6's split doesn't need real regular expressions anymore?
21:47 mauke my split: http://rafb.net/paste/results/JD6Zpq37.html
21:47 mauke warning: don't try split "" "abc"
21:52 dada has quit IRC ("kein bestandteil zu sein")
21:53 lumi There aren't re yet, right?
21:53 buu sorje: What does it need?
21:54 PerlJam lumi: Not yet.
21:54 PerlJam lumi: It would be really cool if there were however.
21:55 PerlJam sorje: sure it does.  They've just been expanded to include whole grammars and are now called "rules"
21:55 lumi There already is a much better split stub than mine, and I think it just wants a rule engine and it can become live
21:55 ingy lumi: ou only split on a single char?
21:56 ingy s/ou/you/
21:57 sorje has quit IRC ("leaving")
21:58 ingy mauke: can I add your split top pugs?
21:58 ingy mauke: can I add your split to pugs?
21:58 mauke ingy: wait a second, I'm still trying to fix the trailing null field problem
21:59 ingy mauke: can you commit?
21:59 mauke no
21:59 ingy ok, fix it and  i will
21:59 ingy I could really use it :)
22:00 lumi Yes, but I'll get better!
22:00 ingy lumi++
22:03 lumi Actually it splits on any list, with any predicate, it's completely different from the Perlish split
22:08 PerlJam splits on any list?
22:08 PerlJam oh, you mean it will split any list
22:08 lumi Yeah
22:09 mauke ingy: http://rafb.net/paste/results/lhQymz87.html
22:09 mauke this one seems to work
22:09 mauke and I added a special case for split ""
22:17 ingy mauke: cool
22:17 PerlJam mauke: *Main> split "abc" "abc"
22:17 PerlJam ["",""]
22:18 PerlJam somehow I don't think that's right :-)
22:18 mauke you're thinking wrong
22:18 ingy seems right to me
22:18 PerlJam sure.
22:21 PerlJam *Main> split "abcabcabc" "abc"
22:21 PerlJam ["abc"]
22:21 PerlJam I guess I'm just having trouble reconciling certain behavior :-)
22:21 PerlJam oh wait, I got those backwards
22:21 lumi That's passing strange
22:21 PerlJam never mind
22:21 * PerlJam is having a good old monday
22:21 lumi Oh doh
22:21 lumi You melt my brain
22:22 lumi I don't like 'isPrefixOf'/'drop'
22:22 lumi Can't that happen at once?
22:22 Limbic_Region mauke - out of curiosity, does it support capturing parens ;-)
22:22 lumi Like, at the same time
22:22 mauke perl -wle 'print "[$_]" for split /abc/, "abc", -1'
22:22 mauke hahaha
22:25 ingy mauke++
22:25 PerlJam mauke++ indeed.
22:26 mauke lumi: I just assume the compiler is smart enough to optimize it
22:26 ingy mauke: thanks. applied.
22:27 mauke w00t, my first perl6 patch. and I haven't even used pugs yet!
22:28 lumi Cool, non-obvious behaviour but correct
22:28 PerlJam well, it's a pugs patch
22:28 mauke er, yeah
22:28 lumi I meant in p5
22:28 * lumi reparses
22:32 edgewalk1r is now known as edgewalker
22:32 ingy anyone  using windows for pugs?
22:33 lumi Going home
22:35 ingy mauke: I just used your patch!!
22:35 ingy it is totally rockin
22:36 ingy fixPath path = concat $
22:36 ingy    intersperse config_file_sep $
22:36 ingy    split "/" path
22:37 buu ingy: I am
22:37 ingy fixPath "../../blib6/lib"
22:38 ingy buu: one sec
22:38 buu ingy: Too bad I don't have nmake
22:40 Limbic_Region buu - why not?
22:40 ingy bu: http://download.microsoft.com/download​/vc15/Patch/1.52/W95/EN-US/Nmake15.exe
22:41 buu ingy: Yes, I've downloaded that about 10 times
22:41 buu It Don't Work!
22:41 ingy what OS?
22:41 Limbic_Region http://download.microsoft.com/download​/vc15/Patch/1.52/W95/EN-US/Nmake15.exe
22:41 Limbic_Region hmm - that's what I used too
22:41 buu windows2000
22:41 ingy hahaha
22:41 ingy Limbic_Region: jinx
22:41 buu Limbic_Region: For some reason nmake dies when ever it tries to spawn a process.
22:41 Limbic_Region buu - let me try it - I am also running Win2K
22:42 buu Limbic_Region: I'm sure it'll work fine for you, it used to work fine for me =/
22:42 Limbic_Region ingy - I only pasted mine to see if it was the same as yours
22:42 ingy Limbic_Region: could you test 'pugs -V' with r515
22:42 ingy should read ..\..\blib6 instead of ../../blib6 etc
22:42 Limbic_Region might take me a bit - I haven't been playing with pugs, only lurking
22:43 ingy oh
22:43 Limbic_Region no cvs repository right - only darcs (wtf is that anyway) and subversion?
22:44 Limbic_Region oh - and I would be doing it under Cygwin anyway since I don't have mingw (unless all I need is GHC)?
22:45 ingy pugs does not support cygwin
22:45 Limbic_Region right - I knew that - which is why I haven't played
22:45 Limbic_Region but back to my original question
22:45 Limbic_Region is mingw needed or just GHC (which I do have installed)
22:46 hlafarge has quit IRC ("KVIrc 3.2.0 'Realia'")
22:47 mauke src/Main.hs:159: Variable not in scope: `config_file_sep'
22:48 mauke hmm, where is config_file_sep defined?
22:48 ingy Config.hs
22:48 mauke nope, not there
22:49 Limbic_Region ingy - downloading svk client now (and my bandwidth is missing for some reason)
22:49 buu Limbic_Region: All you need is ghc
22:49 buu and nmake
22:49 buu and perl
22:49 ingy mauke: it is autogenerated :P
22:50 mauke grep -r config_file_sep .
22:50 mauke ./src/Main.hs:    intersperse config_file_sep $
22:50 ingy mauke: see Makefile.PL and utils/PugsConfig.pm
22:50 ingy mauke: it is autogenerated!!!
22:51 ingy mauke: run perl Makefile.PL and you'll see Config.hs
22:51 ingy :)
22:51 mauke that's what I did (after darcs pull)
22:51 justatheory has joined #perl6
22:52 mauke hmm, make clean && perl Makefile.PL && make seems to work
22:52 ingy well yes, you should always make purge
22:52 ingy :p
22:54 Limbic_Region ok ingy - svk command line to get the r515
22:55 Limbic_Region s/ingy/anyone/
22:55 revdiablo Limbic_Region: the standard svn client it's svn co http://svn.openfoundry.org/pugs
22:55 revdiablo I dunno about svk
22:55 ingy svk cp http://svn.openfoundry.org/pugs
22:56 ingy I believe
22:56 ingy I hate svk ;)
22:57 Limbic_Region ok - so I assume r515 is the latest then
22:57 ingy yep
22:57 mauke Failed 3/77 test scripts, 96.10% okay. 27/1242 subtests failed, 97.83% okay.
22:57 mauke is that normal?
22:58 ingy hmmm
22:59 ingy paste it somewhere
23:01 Limbic_Region WTF - it has to commit every freaking version from 1 to 515?
23:01 ingy Limbic_Region: just cp head
23:01 ingy not all
23:01 Limbic_Region I tried h
23:01 Limbic_Region it didn't seem to work
23:01 ingy hmmm. I hate svk
23:01 Limbic_Region me too
23:02 ingy use svn
23:02 iblechbot has quit IRC (Operation timed out)
23:02 Limbic_Region ok
23:03 buu svk--
23:03 ingy svk++ (but I still hates it)
23:04 mauke make test output: http://rafb.net/paste/results/PJ15PO94.html
23:04 mauke it fails assign.t, auto.t and not.t
23:05 mauke oh, and "dimention" isn't a word (see t/op/hyper.t)
23:05 Limbic_Region ok - silly question but where would I go find the files svk retrieved for me?
23:06 buu Why did you use svk?
23:06 Limbic_Region because no one spoke up and suggested an alternative when I asked
23:07 buu I thought someone said svn, but I guess not
23:08 ingy what function is [a, b] -> (a, b)
23:09 mauke what is [a, b]?
23:09 stevan has quit IRC ("Leaving")
23:09 ingy wait, nm
23:15 Limbic_Region ingy - I guess you can't even use a Cygwin Perl to build the makefile - sorry
23:15 Limbic_Region C:\ghc\pugs\pugs>perl Makefile.PL
23:15 Limbic_Region 132 [main] perl 1400 handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
23:16 Limbic_Region 805 [main] perl 1400 open_stackdumpfile: Dumping stack trace to perl.exe.stackdump
23:16 Limbic_Region *shrug* - oh well
23:22 buu Limbic_Region: Nope
23:23 Limbic_Region well, I am not installing AS and I don't believe I have built my own copy using mingw
23:24 ingy how do I cast a String to [Char] ?
23:26 buu Limbic_Region: What's wrong with AS?
23:26 mauke ingy: String is an alias for [Char]
23:26 jagerman has joined #perl6
23:31 ingy mauke: can you look at my feeble  code?
23:31 mauke where?
23:31 Cale has left
23:31 ingy perlbot: nopaste
23:31 perlbot Paste your code here and #perl will be able to view it: http://sial.org/pbot/perl
23:32 pasteling "ingy" at 24.19.10.51 pasted "p5libs <- mapM fixLib $ catMay" (3 lines, 182B) at http://sial.org/pbot/7958
23:32 Limbic_Region buu - nothing wrong with it - I just prefer having a single thing to try and keep updated and whatnot
23:33 buu reasonable
23:33 ingy mauke: I'm trying to split paths on ':'
23:34 xern has quit IRC ("Lost terminal")
23:34 ingy I get:
23:34 ingy    Couldn't match `String' against `Maybe b'
23:34 ingy        Expected type: String
23:34 ingy        Inferred type: Maybe b
23:35 mauke reads expects a string
23:35 mauke lookup returns Maybe b
23:36 edgewalker has left
23:37 ingy mauke: I need fromMaybe
23:37 ingy maybe... :D
23:38 mauke yeah
23:58 larsen has quit IRC ("later")

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

Perl 6 | Reference Documentation | Rakudo