Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-09-14

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 markstos I'm working on IO.pod a little. Will signals in Perl 6 be basically the same as Perl 5 ? and IPC ?
00:17 svnbot6 r13281 | markstos++ | [docs/Perl6/Spec/IO.pod]
00:17 svnbot6 r13281 | markstos++ |  - add some initial organization by adding "File, filehandles and directories" section, based on Perl5 perlfunc
00:17 svnbot6 r13281 | markstos++ |  - Created "unfiled" section for the rest of the functions for now. perl5 perlfunc
00:17 svnbot6 r13281 | markstos++ |    could provide further inspiration on how to organize these.
00:17 svnbot6 r13281 | markstos++ |  - Documented the first function, chmod, by doing 'perldoc -u -f chmod'
00:17 svnbot6 r13281 | markstos++ |    and copying the POD over. I trimmed out the 'fchmod' and 'fcntl'
00:17 svnbot6 r13281 | markstos++ |    sections because I wasn't sure how/if they applied to Perl 6.
00:17 svnbot6 r13281 | markstos++ |    If you know better, please add them back in with appropriate
00:17 svnbot6 r13281 | markstos++ |    adjustments.
00:21 svnbot6 r13282 | markstos++ | IO.pod
00:21 svnbot6 r13282 | markstos++ |   change headings from 'or' to 'and' to make more sense.
00:21 svnbot6 r13281 | markstos++ | [docs/Perl6/Spec/IO.pod]
00:21 svnbot6 r13281 | markstos++ |  - add some initial organization by adding "File, filehandles and directories" section, based on Perl5 perlfunc
00:21 svnbot6 r13281 | markstos++ |  - Created "unfiled" section for the rest of the functions for now. perl5 perlfunc
00:21 svnbot6 r13281 | markstos++ |    could provide further inspiration on how to organize these.
00:21 svnbot6 r13281 | markstos++ |  - Documented the first function, chmod, by doing 'perldoc -u -f chmod'
00:21 svnbot6 r13281 | markstos++ |    and copying the POD over. I trimmed out the 'fchmod' and 'fcntl'
00:21 svnbot6 r13281 | markstos++ |    sections because I wasn't sure how/if they applied to Perl 6.
00:21 svnbot6 r13281 | markstos++ |    If you know better, please add them back in with appropriate
00:21 svnbot6 r13281 | markstos++ |    adjustments.
00:21 markstos weird. It announced r13281 twice.
00:29 mugwump with 13282 in between
00:31 nekokak joined perl6
00:31 svnbot6 r13283 | fglock++ | v6 - implemented .WHAT - TimToady++
00:43 svnbot6 r13284 | markstos++ | IO.pod: add barebones spec for 'open' based on the syntax the tests have.
00:52 svnbot6 r13285 | markstos++ | IO.pod:
00:52 svnbot6 r13285 | markstos++ | Add 'getc' basic spec, based on current pugs tests, and
00:52 svnbot6 r13285 | markstos++ | the perl5 definition. Only the FILEHANDLE case is covered
00:52 svnbot6 r13285 | markstos++ | now (not STDIN) because that's all the test I'm looking at covers.
00:55 gnuvince joined perl6
00:58 markstos for working with directories, do we want to stick with the opedir/readdir interface, or use something more like IO::Dir in Perl 5 or provide both interfaces ?
00:58 markstos http://search.cpan.org/~gbarr/IO-1.2301/IO/Dir.pm
00:58 lambdabot Title: IO::Dir - supply object methods for directory handles - search.cpan.org, http://tinyurl.com/g6js2
00:58 markstos Personally, I find the IO::Dir design cleaner, would be fine with retiring the functional interface.
00:59 markstos it required a "DIRHANDLE" concept,  which doesn't seem necessary. when just making directories another kind of object will do.
01:04 svnbot6 r13286 | lwall++ | .HOW.getmethods and .HOW.getattributes lose their "get".
01:06 peteso joined perl6
01:07 TimToady markstos: likely signals will become events of some sort and shoved into an event queue somewhere.
01:08 markstos My translation: don't bother trying to spec them myself right now.
01:08 lollan joined perl6
01:09 markstos I just noticed we can already do readdir($dir) or $dir.readdir, which follows logically, but was still cool to see working both ways.
01:09 markstos I mean, not bad for an unspec'ed feature. :)
01:10 TimToady Let's just say it'd be fine by me if %SIG disappeared.
01:12 vel joined perl6
01:12 markstos That's fine with me too, as long as I know what to translate $SIG{__WARN__} into.
01:17 svnbot6 r13287 | markstos++ | IO.pod
01:17 svnbot6 r13287 | markstos++ |     Add specs for opendir,closedir,readdir and rewinddir
01:17 svnbot6 r13287 | markstos++ |     based on dir.t and perl5 perlfunc.
01:17 svnbot6 r13288 | markstos++ | [t/builtins]
01:17 svnbot6 r13288 | markstos++ | Add working smart links to 5 files pointing to S16.
01:19 justatheory joined perl6
01:19 markstos I see in the P5 spec for close() that sometimes SIGPIPE can be sent to the writer. Should I just trim that part out for now ?
01:20 perlbot joined perl6
01:20 TimToady I suppose.
01:21 markstos I'm having trouble constructing the right grep to find this: What's become of $?
01:22 TimToady warnings are now just resumable exceptions, so $SIG{__WARN__} is likely to be intercepted in some kind of exception handler.
01:22 TimToady Perhaps the default warning resumer pays attention to &*warning_interception_hook or some such.
01:23 TimToady all exceptions are now in $!
01:23 markstos $? is gone ?
01:23 TimToady Along with $@, $^E
01:24 TimToady all unified to $!
01:24 markstos Thanks!
01:24 markstos I mean: thanks for doing that-- not just thanks for telling me about it!
01:24 TimToady It was kind of a gamble, but it seems to be working out.
01:25 TimToady anyway, dinner &
01:25 markstos simplicity++ ... when it works
01:29 svnbot6 r13289 | markstos++ | IO.pod
01:29 svnbot6 r13289 | markstos++ |     Bring over the spec for 'close' from Perl 5.
01:29 svnbot6 r13289 | markstos++ |     Changed $? to $! (TimToady++), and trimmed out
01:29 svnbot6 r13289 | markstos++ |     the part about SIGPIPE, which is still unspec'ed.
01:33 markstos will perl6 have "perl -U" like Perl 5 has? It's mentioned in the spec for 'unlink' that I'm trying to port.
01:38 svnbot6 r13290 | markstos++ | IO.pod
01:38 svnbot6 r13290 | markstos++ |     port the specs for unlink and rmdir from Perl 5.
01:38 svnbot6 r13290 | markstos++ |     The section  mentioning "perl -U" was removed, since
01:38 svnbot6 r13290 | markstos++ |     I don't know if that's planned to be supported in Perl 6.
01:45 markstos left perl6
01:46 justatheory joined perl6
01:47 svnbot6 r13291 | markstos++ | [t/var]
01:47 svnbot6 r13291 | markstos++ | Some smart linking work, doc clean-up.
02:04 peteso I take it that doing an initial `svk sync` is suppose to take awhile? (committing all the revisions)
02:05 audreyt peteso: yes, a couple hours is not uncommon
02:05 peteso if I am picking up the pugs repo and want to do offline changes and what not, is that the right way to go?
02:06 clkao eek
02:06 clkao we are working on making it faster
02:06 audreyt peteso: yes.
02:06 clkao this project grows too fast ;)
02:06 peteso sweet, thank you
02:06 audreyt clkao: would that require openfoundry be upgraded to 1.4.0 server?
02:06 clkao possibly
02:06 clkao ra_replay is likely to be a bit faster.
02:06 audreyt or does it involve running a dedicated svk server?
02:06 clkao but it's still quite latency bound
02:06 audreyt ah. *nod*
02:06 audreyt we need some sort of pipelining
02:06 clkao want to have meta-data pointing to bootstrap dump and make magic happen
02:06 audreyt it's really not that much data
02:07 audreyt it's all bound on DAV latency it seems
02:07 peteso is the slowdown on account of the `svk` app locally or downloading or the server?
02:07 audreyt too much interactions
02:07 audreyt peteso: the protocol
02:07 clkao i hate software
02:07 audreyt compare that to keep-alive darcs GET chains :)
02:08 peteso is it a WebDAV operation per revision request?
02:08 audreyt or three
02:08 audreyt but it's more expensive than it needs to be, yeah
02:09 peteso ahh
02:09 mugwump of course git-fetch wins on all counts
02:10 clkao worse than that. you don't want to know.
02:10 mugwump (except partial checkouts)
02:10 audreyt I remember clkao swearing about DAV's stupidity vividly when openfoundry was being designed...
02:10 peteso must svn be tied to DAV?
02:11 * mugwump already noticed clkao's repos aren't shared via DAV :)
02:11 TimToady markstos: perl -U should go away.  it shouldn't be lumping together unrelated "dangerous" notions under one switch in any event.
02:11 audreyt no, but having a ssh account for each committer was deemed impractical for openfoundry; also port 80 is more proxy friendly
02:11 peteso makes sense
02:11 audreyt but, in practice, unless you are code.google.com, the proxy win is entirely theoretical; mostly linkability is the only real win
02:12 clkao i think dav is amonst the software i hate most
02:12 clkao though it's protocol. anyway. hate
02:12 peteso linkability as in the http:// URLs?
02:13 obra clkao's repositories will be shared with DAV soon
02:13 obra as soon as commitbit is safe
02:13 clkao RRAAAH!
02:14 clkao svk rm commitbit
02:14 obra why? because svnserve can't do vhosting yet
02:14 clkao i hate hate hate dav
02:14 obra ok. then give me "svk publish"
02:14 clkao can do svn://code/foo
02:15 clkao similar to what dav is going to give us
02:15 obra nope. because there's already a repo at / on that host
02:15 obra [For those playing the home game, cl is sitting 2 feet from me]
02:16 clkao that's for svn+ssh:// no ?
02:16 obra no. for svn://
02:16 obra bps-public is at diesel's root
02:16 clkao but i am grumpy so you don't want to talk to me
02:16 clkao GRR
02:16 clkao svnserve does ip-based vhost
02:16 clkao maybe we should get another ip
02:16 * audreyt regrets brining up DAV and vanishes in a puff of logic
02:17 clkao audreyt: it's all your fault
02:17 clkao audreyt: you owe me birthday gift
02:17 obra clkao: perl 6?
02:17 audreyt I thought we're supposed to give out gifts on birthday
02:17 audreyt so I've safe until next April
02:17 clkao you didn't even say happy birthday!
02:17 * peteso wonders if it was actually he who brought up the issue..
02:17 audreyt s/I've/I'm/
02:18 audreyt clkao: oy. "happy birthday" xx Inf
02:18 mugwump that's a lazy blessing
02:18 clkao that's very depressing
02:18 TimToady That's too many.  How 'bout xx *?
02:18 mugwump whatever
02:19 TimToady can't get the vision of DAV pickles out of my head...I blame audrey
02:20 PerlJam Is DAV pickles related to Tommy Pickles?
02:31 bsb joined perl6
02:31 mako132_ joined perl6
02:49 vel joined perl6
02:52 vel joined perl6
02:57 silug joined perl6
03:13 Teratogen joined perl6
03:26 jdv79 how's things in p6 land?
03:38 Akwa|user joined perl6
03:38 peteso apparently quiet :)
03:42 Akwa|user changes topic to: Check your feather email | spec.pugscode.org | paste: http://sial.org/pbot/perl6 | pugs.blogs.com |  http://www.treehugger.com/files/th_images/paradigm.jpg [set by audreyt on 2006-08-29 05:26:57 -0700]
03:48 Khisanth ?eval [1..10:2]
03:48 evalbot_r13276 is now known as evalbot_r13291
03:48 evalbot_r13291 Error:  unexpected "[" expecting program
03:48 Khisanth ?eval 1..10:2
03:48 evalbot_r13291 Error:  unexpected ":" expecting "_", fraction, exponent, term postfix, comment, operator, "does", "but", "^fff^", "fff^", "^fff", "^ff^", "^..^", "fff", "ff^", "^ff", "cmp", "leg", "<=>", "..^", "^..", "ff", "..", postfix conditional, postfix loop, postfix iteration, ";" or end of input
03:51 Teratogen err, those are what perl6 error messages are gonna look like?
03:51 Khisanth hehe
03:51 Khisanth reminds me of using C++
03:52 jbence joined perl6
03:55 weinig|food is now known as weinig|zZz
04:02 TimToady I believe the error messages can be improved somewhat once we have our parse written in Perl 6.
04:02 TimToady *parer
04:02 TimToady *parser, darn it
04:02 PerlJam Teratogen: no, that's what they look like now.
04:03 PerlJam TimToady: we can only go up from here :)
04:03 TimToady I think in general the "expecting" part is useless unless it can be pared down to a few general categories.
04:05 TimToady and I think it's quite outrageous in human engineering to say "unexpected 'w'" when the keyword is "while"
04:05 TimToady but these things can be fixed more easily after we abandon parsec.
04:05 TimToady (I sincerely hope.)
04:12 peteso left perl6
04:16 PerlJam One day we'll get to the point where the compiler says "I wasn't expecting what you wrote here but based on your past programming patterns I think that you really meant to write ... so I fixed it for you and continued compiling.  You may want to look over my changes."
04:17 revdiablo Bayesian parsing?
04:18 xinming_ joined perl6
04:23 TimToady I wouldn't use such fancy parsing to "fix it and go on", but I wouldn't mind if it were smart enough to give you a meaningful error message like "you meant :by(2) rather than :2 there"
04:26 PerlJam TimToady: I agree with all of these cool things you're putting in the language but I do tend to worry a bit about performance.  Maybe Moore's Law can save us still though.
04:26 PerlJam (I was worried about how much slower perl5 was than perl4 but in practice it wasn't an issue)
04:26 * PerlJam hopes that trend continues :)
04:27 TimToady what runs fast and what runs slow will probably depend greatly on the impedance match with the VM in question.
04:28 TimToady I expect the P5-ish parts to run quite fast on the P6-on-P5 stack...
04:28 TimToady On the other hand, parrot is likely to be lot faster at other things.
04:29 TimToady platforms that JIT will have entirely different characteristics from those that don't
04:29 TimToady my hope is that the slowdown in MMD is made up for by calling the right routine with args that are already known to be of the right type.
04:29 TimToady but it remains to be seen how that performs in practice.
04:30 corpse joined perl6
04:31 mugwump yeah, strict typing and closed classes should bring on some wins for some VM
04:31 mugwump (where "strict" means "strict enough")
04:31 TimToady for some applications that can close classes
04:32 TimToady open frameworks might not be able to decide such things in advance.
04:32 TimToady on the other hand, compiling it both ways might work.
04:33 PerlJam Perl6 will have a new motto (to go along with all of the others)  "There's more than one runtime to execute it"  or some such.
04:34 rafl joined perl6
04:34 justatheory joined perl6
04:34 TimToady the notion of breaking circularity differently on different platforms also gives us a lot of leeway in optimizing for big and small iron.
04:39 frederico joined perl6
04:40 PerlJam now .. if only I could write a program that executed in wetware that could fix whatever it is that's giving my daughter a fever
04:41 TimToady um, presumably you already wrote the program, or at least half of it...
04:42 TimToady but it's an adaptive algorithm...
04:42 TimToady so sometimes you just have to be patient.
04:43 mugwump the program would be called a diagnostic process?  :)
04:43 TimToady I'd call it a problem in pattern matching.
04:44 mugwump Hmm, could carry the analogy further ... Traditional medicine is to functional as Western medicine is to imperative
04:44 TimToady after which it becomes a problem in parallel processing.
04:45 b00t joined perl6
04:45 mugwump the imperative meds break things down into tiny pieces, the functional meds look at the system as a whole
04:45 mugwump imperative meds don't understand functional meds and are *sure* they're going about things All Wrong™
04:46 mugwump and functional meds fix health problems with the tiniest programs (treatments, eg needles)
04:47 mugwump but they're no good at debugging really broken programs
04:49 * PerlJam wonders if the bioinformatics people are looking for and finding recursive structures
05:03 Teratogen perl6 error messages are gonna require a wiki or something
05:04 mugwump subversion repositories are the new wikis
05:14 BooK_ joined perl6
05:20 joshmoore joined perl6
05:21 joshmoore left perl6
06:02 gaal PerlJam: "Fast, Error Correcting Parserhttp://www.cs.uu.nl/groups/ST/stbib/stbib-by-year/SwieAzer99.bib
06:02 lambdabot http://tinyurl.com/httm6
06:02 gaal er, oops.
06:02 gaal "Fast, Error Correcting Parser Combinators: A Short Tutorial"
06:03 gaal and: http://www.cs.uu.nl/people/doaitse/Papers/1996/DetErrCorrComPars.pdf
06:04 lambdabot http://tinyurl.com/gkvhj
06:06 gaal consider that Eclipse aready has that "quickfix" feature which is quite impressive for Java.
06:33 marmic joined perl6
06:38 kane-xs joined perl6
06:45 TreyHarris wow.  note to self: do not examine $self inside a POE session object.
06:45 svnbot6 r13292 | gaal++ | * signature.t - clean up tests a bit. Most failures were typos
06:45 svnbot6 r13292 | gaal++ |   in the test, in fact. Clearly the Signature parser needs better
06:46 svnbot6 r13292 | gaal++ |   error messages!
06:46 traecer joined perl6
06:53 iblechbot joined perl6
07:31 bsb joined perl6
07:31 zakharyas joined perl6
07:39 DHGE joined perl6
07:52 didie_p6 joined perl6
08:00 drrho joined perl6
08:06 peteso joined perl6
08:07 peteso could perchance anybody give me some assistance with an `svk sync`?
08:08 kane-xs peteso: what assistance are you looking for?
08:09 peteso I am trying to sync the pugs repo so I can poke around
08:09 kane-xs have you read 'svk help intro' ?
08:09 peteso 'tis slightly more involved than that.. I am seeing "Retrieving log information from 12102 to 13292"
08:10 peteso followed by "Incomplete data: Delta source ended unexpectedly"
08:10 kane-xs ouch
08:10 kane-xs what happens when you type svk sync again?
08:10 peteso I'm not sure if that's something at my end or at openfoundry
08:10 peteso same thing
08:10 lumi peteso: Both
08:10 lumi There was some repo breakage at that point
08:11 lumi And you need to update, um, some module
08:11 lumi It should be in the logs
08:11 kane-xs peteso: to work around it, you can use svk sync -s REVNUMBER
08:11 peteso lumi: hmm.. which logs should I be looking for?
08:11 kane-xs so you dont get full history, just the ones starting REVNUM
08:11 lumi The channel logs
08:11 peteso kane: oh, that makes a lot more sense!! I felt bad for pounding the server for hours with the slow DAV requests
08:12 peteso lumi: thanks, I'll look into that
08:13 peteso kane: if I had only known that useful trick, thank you.. will make things a lot faster
08:13 kane-xs you're welcome :)
08:16 lumi peteso: http://colabti.de/irclogger/irclogger_log/perl6?date=2006-08-11,Fri&amp;sel=633#l931
08:16 lambdabot Title: #perl6 2006-08-11,Fri, http://tinyurl.com/f8p6h
08:16 peteso lumi: yes, I was just reading that over.. apparently it's an svk issue moreso than svn
08:18 lumi Ah, SVN::Mirror, apparently
08:22 peteso you guys are very helpful, thanks
08:23 TreyHarris within a named sub foo () { ... }, foo() should always recurse, should it not?
08:23 TreyHarris it shouldn't call some other sub foo elsewhere?
08:28 buu TreyHarris: How many subroutines named foo do you have?
08:28 svnbot6 r13293 | masak++ | * patch submitted by zack++ for HTTP::Server::Simple
08:28 bsb left perl6
08:33 TreyHarris buu: tons. ;-)
08:33 svnbot6 r13294 | trey++ | [t/unspecced/precompile.t]
08:33 svnbot6 r13294 | trey++ | Got rid of old .can syntax and replaced with an import.
08:33 buu TreyHarris: How horrifying.
08:33 TreyHarris buu: 'foo' stood in for 'the actual name of the subroutine', which wasn't relevant to my question
08:34 buu Well, yes, but the idea of having lots of subroutines named the same is horrifying.
08:34 TreyHarris pugs just dwimmed a little *too* much, and didn't go into an infinite recursion and instead called out to the same-named sub external to the would-be deep recursion.  or so i thought.  turned out that code branch was never getting exercised, so it was fine
08:35 lumi What other sub would you think would be called?
08:35 TreyHarris buu: only two.  and i had an excuse: i was intentionally writing my own version of something to overlay it
08:35 TreyHarris but i called out to the other one without qualifying its name, so i should have recursed
08:37 TreyHarris recurses!  foiled again again again again again...
08:40 TreyHarris ?eval pi
08:40 evalbot_r13291 3141592653589793/1000000000000000
09:00 renormalist joined perl6
09:26 frederico joined perl6
09:28 ludan joined perl6
09:34 elmex joined perl6
10:10 araujo joined perl6
10:10 ruoso joined perl6
10:24 markstos joined perl6
10:28 Yappo joined perl6
10:32 Yappo joined perl6
10:37 svnbot6 r13295 | markstos++ | [t/builtins]
10:37 svnbot6 r13295 | markstos++ |  All links to L<S16> have been expanded to be valid, there should be
10:37 svnbot6 r13295 | markstos++ |  at least crude entries in S16 for everything they point to.
10:38 Yappo joined perl6
10:38 svnbot6 r13296 | markstos++ | IO.pod
10:38 svnbot6 r13296 | markstos++ |   just some POD correctness updates.
10:43 Yappo joined perl6
10:44 Yappo joined perl6
10:47 iblechbot joined perl6
10:49 drbean_ joined perl6
10:50 svnbot6 r13297 | markstos++ | [t/var]
10:50 svnbot6 r13297 | markstos++ |   merge two autovivificatoin tests
11:02 svnbot6 r13298 | audreyt++ | * yaml_harness.pl - Passing in options such as --concurrent
11:02 svnbot6 r13298 | audreyt++ |   shouldn't cause tests under perl5/ to be run by smoke.
11:02 svnbot6 r13298 | audreyt++ | * Also restore the horrible, arbitrary, "first parallel only
11:02 svnbot6 r13298 | audreyt++ |   gets 2/3 of the share" heuristic, as it really helps to
11:02 svnbot6 r13298 | audreyt++ |   reduce smoke time...
11:06 markstos What's become of $, and $\ ?
11:07 gaal ?eval ~:($x)
11:07 evalbot_r13291 is now known as evalbot_r13297
11:07 evalbot_r13297 "CCall \"~\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 1, s_requiredNames = \{}, s_positionalList = [MkParam \{p_variable = \"\$x\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"x\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = \{}, s_slurpyScalarList = [], s_slurpyArray = Nothing, s_slurpyHas
11:07 gaal this is wrong.
11:07 gaal why does it enter asStr on the CCall ~?
11:09 gaal I want it to be the same as:
11:09 gaal ?eval my $x = :($x); "$x"
11:09 evalbot_r13297 ":(\$x)"
11:10 gaal heh, that \ there is confusing.
11:17 svnbot6 r13299 | markstos++ | IO.pod:
11:17 svnbot6 r13299 | markstos++ |     - port spec for 'print' from Perl 5.
11:17 svnbot6 r13299 | markstos++ |     - move 'unfiled' listing for "say" in Functions.pod
11:17 svnbot6 r13299 | markstos++ |       to be near 'print' in IO.pod
11:17 svnbot6 r13299 | markstos++ |     - note a bit of the print spec is commented out:
11:17 svnbot6 r13299 | markstos++ |       [ I don't know what's become of $, and $\. -markstos ]
11:17 svnbot6 r13299 | markstos++ |       Fix that if you know what to do.
11:19 svnbot6 r13300 | markstos++ | IO.pod
11:19 svnbot6 r13300 | markstos++ |     oops, "say" was the in wrong section.
11:27 ruoso_ joined perl6
11:32 ruoso_ joined perl6
11:33 spoop joined perl6
11:34 ruoso_ is now known as ruoso
11:42 markstos @tell TimToady the spec doesn't seem to currently what a define what a container is, and it's not a concept I recall needing to know about in Perl 5.
11:42 lambdabot Consider it noted.
11:51 markstos left perl6
11:52 svnbot6 r13301 | markstos++ | [t/var]
11:52 svnbot6 r13301 | markstos++ |   Everything in here has at least one smart link now. (7 added)
11:52 svnbot6 r13301 | markstos++ |   For a number of cases the specs felt murky or missing,
11:52 svnbot6 r13301 | markstos++ |   and I left comments near the links in those cases.
11:53 buetow joined perl6
11:59 nothingmuch marmic: a container the thing inside which values go
11:59 nothingmuch e.g. an array element
11:59 nothingmuch or a variable
11:59 nothingmuch or a hash slot
11:59 rodi joined perl6
12:07 Limbic_Region joined perl6
12:35 bpphillips joined perl6
12:36 dvorak joined perl6
12:36 weinig joined perl6
12:46 lollan joined perl6
12:47 buetow joined perl6
12:47 Limbic_Region audreyt is probably sleeping huh?
12:48 Limbic_Region maybe not - not quite 9PM there
12:48 Limbic_Region audreyt ping
13:04 iblechbot joined perl6
13:05 zakharyas joined perl6
13:10 pdcawley joined perl6
13:16 stevan joined perl6
13:47 dakkar joined perl6
13:52 salty-horse joined perl6
13:54 salty-horse does anyone mind if I change syn_index.html to utf-8? the gb2312 encoding chooses an ugly font for my browser
13:54 fglock joined perl6
13:55 szabgab joined perl6
14:01 szabgab joined perl6
14:01 ofer0 joined perl6
14:01 cjeris joined perl6
14:08 vel joined perl6
14:14 jferrero joined perl6
14:19 jbence joined perl6
14:21 vel joined perl6
14:28 ruoso_ joined perl6
14:35 gaal salty-horse: please go ahead.
14:38 salty-horse gaal, it's also in dos newline format: \r\n
14:42 kolibrie salty-horse: I think util/add-svn-props.sh takes care of newline formats
14:42 salty-horse ah :)
14:42 gaal salty-horse: sh util/add-svn-props.sh
14:42 gaal yeah :)
14:42 gaal (hey, kolibrie!)
14:42 kolibrie hey, gaal!
14:42 kolibrie moose!
14:43 gaal right on!
14:45 ruoso_ is now known as ruoso
14:47 Eimi joined perl6
14:47 * ruoso still braindamaged by TheDamian's talk
14:48 [particle] gaal is a l33t m0053
14:50 gaal ╙l0l╜
14:50 svnbot6 r13302 | salty_horse++ | Validated XHTML markup, changed encoding to utf-8, set svn:eol-style
14:51 kanru joined perl6
14:53 rodi gaal: nice moose!  w00t!
14:55 gaal audreyt: can you explain what's going on in ~:($x) ? I don't understand how we're finding ourselves in findSub...
14:59 integral is now known as notintegral
14:59 gaal that's derivative...
14:59 weinig is now known as weinig|work
14:59 gaal audreyt: okay, I understand it's from r12200. but I think it's doing the wrong thing :(
14:59 integral joined perl6
15:02 pdcawley joined perl6
15:02 vel joined perl6
15:04 gaal whoa! crazy evaluation strategy, too:
15:05 gaal ?eval sub stringy ($x) { "$x" } stringy nosuchmeth :(:$somesig)
15:05 evalbot_r13297 is now known as evalbot_r13301
15:05 evalbot_r13301 "CCall \"nosuchmeth\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 0, s_requiredNames = \{\"somesig\"}, s_positionalList = [], s_namedSet = \{\"somesig\":=MkParam \{p_variable = \"\$somesig\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"somesig\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}}, s_slurpyScalarLi
15:05 gaal pugs has lazy evaluation :)
15:10 TimToady is it treating nosuchmeth as a post-declared listop?
15:10 lambdabot TimToady: You have 1 new message. '/msg lambdabot @messages' to read it.
15:12 gaal TimToady: there's special transition logic to stringify a method invocation on a newval, but it looks like the... ah, no, heh, the stringification had happened before entering stringy
15:12 gaal let's make sure...
15:12 gaal ?eval sub stringy ($x) { "--$x--" } stringy nosuchmeth :(:$somesig)
15:13 evalbot_r13301 "--CCall \"nosuchmeth\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 0, s_requiredNames = \{\"somesig\"}, s_positionalList = [], s_namedSet = \{\"somesig\":=MkParam \{p_variable = \"\$somesig\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"somesig\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}}, s_slurpyScalar
15:13 gaal okay, that's a relief.
15:14 peteso joined perl6
15:14 TimToady MEGO xx *
15:15 penk joined perl6
15:15 kisu joined perl6
15:16 PeqNP joined perl6
15:21 TimToady that sure looks like call-by-name to me.
15:22 TimToady shouldn't it attempt to call nosuchmeth before calling stringy?
15:22 hexmode joined perl6
15:22 gaal TimToady: "calling" nosuchmeth is intercepted and reduced to the string
15:23 TimToady gotcha.
15:23 TimToady except, of course, it should parsefail at the end of the compunit, but we'll leave that go for now...
15:23 gaal apparently it's reduced and folded...?
15:24 gaal I'm looking for a way to get ~ to dispatch correctly on newvals, because this is awkward:
15:25 gaal ?eval my $x = :($whee : @whoa = 42); $x
15:25 evalbot_r13301 \:($whee: @whoa)
15:25 lumi What's the \ doing there?
15:25 gaal stingification artefact
15:25 gaal I think?
15:25 gaal ?eval my $x = :($whee : @whoa = 42); "$x"
15:25 evalbot_r13301 ":(\$whee: \@whoa)"
15:26 gaal yeah.
15:26 gaal buggy one at that.
15:26 TimToady ELOWCAFFEINE.  what is awkward about it?
15:27 lumi ?eval my $x = :($whee : @whoa = 42)
15:27 evalbot_r13301 \:($whee: @whoa)
15:27 gaal TimToady: in writing tests for pretty printing Signatures, I'd love to just say ~:($x)
15:27 gaal but now I have to use a temp var
15:27 lumi ?eval "{:($x)}"
15:28 gaal because of that dispatch interception thing. I gotta find me an audrey
15:28 evalbot_r13301 ":(\$x)"
15:28 gaal $problem.audrey    => fixed
15:29 TimToady ?eval ~:($x)
15:29 evalbot_r13301 "CCall \"~\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 1, s_requiredNames = \{}, s_positionalList = [MkParam \{p_variable = \"\$x\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"x\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = \{}, s_slurpyScalarList = [], s_slurpyArray = Nothing, s_slurpyHas
15:29 gaal hm, maybe I'll go find me a falafel instead. bbiab :)
15:29 TimToady ?eval ~ :($x)
15:29 evalbot_r13301 "CCall \"~\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 1, s_requiredNames = \{}, s_positionalList = [MkParam \{p_variable = \"\$x\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"x\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = \{}, s_slurpyScalarList = [], s_slurpyArray = Nothing, s_slurpyHas
15:29 lumi ?eval "" ~ :($x)
15:29 evalbot_r13301 ":(\$x)"
15:30 TimToady heh
15:30 gaal hey, that's not bad!
15:30 TimToady ?eval :($x).~
15:30 evalbot_r13301 Error:  unexpected "~" expecting ".", operator name, qualified identifier, variable name, "...", "++", "--", array subscript, hash subscript or code subscript
15:31 TimToady still, unary ~ should be equiv
15:31 gaal 42.~
15:31 gaal ?eval 42.~
15:31 evalbot_r13301 Error:  unexpected "~" expecting ".", operator name, qualified identifier, variable name, "...", "++", "--", array subscript, hash subscript or code subscript
15:31 TimToady ?eval 42.!
15:31 evalbot_r13301 Error:  unexpected "!" expecting ".", operator name, qualified identifier, variable name, "...", "++", "--", array subscript, hash subscript or code subscript
15:31 lumi It's not an 'operator name'?
15:31 gaal well, it's not like that's the only problem with our current dispatcher...
15:32 lumi ?eval 42.prefix:<~>
15:32 evalbot_r13301 "42"
15:32 gaal lumi: yeah indeed. ruleOperatorName
15:32 gaal falafel &
15:33 TimToady ?eval :($x).prefix:<~>
15:33 evalbot_r13301 "CCall \"~\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 1, s_requiredNames = \{}, s_positionalList = [MkParam \{p_variable = \"\$x\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"x\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = \{}, s_slurpyScalarList = [], s_slurpyArray = Nothing, s_slurpyHas
15:33 lumi ?eval :($x).infix:<~>
15:33 evalbot_r13301 "CCall \"~\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 1, s_requiredNames = \{}, s_positionalList = [MkParam \{p_variable = \"\$x\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"x\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = \{}, s_slurpyScalarList = [], s_slurpyArray = Nothing, s_slurpyHas
15:34 lumi ?eval prefix:<~>(:($x))
15:34 evalbot_r13301 "CCall \"~\" CaptMeth \{c_invocant = VPure (SigSubSingle \{s_requiredPositionalCount = 1, s_requiredNames = \{}, s_positionalList = [MkParam \{p_variable = \"\$x\", p_types = [], p_constraints = [], p_unpacking = Nothing, p_default = <ParamDefault:Nothing>, p_label = \"x\", p_slots = \{}, p_hasAccess = AccessRO, p_isRef = False, p_isContext = False, p_isLazy = False}], s_namedSet = \{}, s_slurpyScalarList = [], s_slurpyArray = Nothing, s_slurpyHas
15:35 lumi I'm confused then. Why are the string interpolation and ""~ working?
15:35 gaal ICoercible :)
15:35 gaal asStr in newVal land
15:35 gaal I'm not here
15:53 ptty joined perl6
15:57 peteso is there a reason why the 'is' attrib list can't be comma separated?
15:59 svnbot6 r13303 | rodi++ | Added support for numbered rules from $ca objects, set defaults, changed
15:59 svnbot6 r13303 | rodi++ | examples to use new interfaces.
16:00 mollmerx joined perl6
16:03 ajs_ No matter how I run pugscc, I get "pugs: user error (*** *** Undeclared variable: "@*CHECK""
16:03 ajs_ Am I doing something wrong?
16:09 TreyHarris ajs_: pugscc hasn't been touched except in global search-n-replace changes in a year.  are you sure it works?
16:22 Psyche^ joined perl6
16:25 ajs_ TreyHarris: Am sure it doesn't ;-)
16:32 integral_ joined perl6
16:33 integral_ is now known as integral
16:38 Psyche^ is now known as Patterner
16:46 TimToady .-e is now spelled .'-e'
16:46 TimToady and .'WHERE' is not a meta call.
16:47 PerlJam TimToady: I just saw the patch on p6l.  That's infinitely better than the other suggestions people came up with (especially the ones involving underscores ;-)
16:47 araujo joined perl6
16:48 TimToady I don't know if it's Inf better, but it's definitely * better.
16:48 PerlJam It's "doh! why didn't I think of that?" better at any rate.
16:49 TimToady yeah, it's kinda been staring us in the face for years.
16:50 TimToady and in parrot the qoutes are mandatory.  :)
16:50 TimToady s/ou/uo/
16:53 [particle] well, they're mandatory if you don't want name conflicts :)
16:53 justatheory joined perl6
17:06 svnbot6 r13304 | putter++ | xx-uncategorized/use_import_not_found.t - Created.
17:06 svnbot6 r13304 | putter++ | The line  class C {} sub f() {C.new()}  currently makes subsequent use()s fail with *** No compatible subroutine found: "&Mumble::import".
17:06 svnbot6 r13304 | putter++ | The workaround is simply to put the use()s first.
17:13 svnbot6 r13305 | putter++ | gen_prelude.pl - Added -Iblib6/lib to the ./pugs command which creates the precompiled prelude.  So Prelude.pm can now use() modules there.
17:24 eric256 joined perl6
17:25 eric256 left perl6
17:34 hexmode joined perl6
17:35 zakharyas joined perl6
17:36 mauke_ joined perl6
17:36 Gothmog_ joined perl6
17:38 Gothmog_ joined perl6
17:45 onsen joined perl6
17:46 ruoso joined perl6
17:46 ludan joined perl6
17:48 dj_goku joined perl6
17:49 fglock joined perl6
17:49 svnbot6 r13306 | fglock++ | v6 - cpan version 0.015
17:56 mauke_ is now known as mauke
17:56 wilx joined perl6
18:02 ajs_ is "./pugs -CPIR -e 0" supposed to work?
18:06 TreyHarris TimToady: how do you indirectly call the meta $obj.WHERE, given $obj and $meth = "WHERE"?  $obj."^$meth"?
18:08 TreyHarris $obj.^"$meth"?
18:09 weinig|work is now known as weinig
18:11 pdcawley joined perl6
18:16 svnbot6 r13307 | putter++ | t/xx-uncategorized/pi_internals.t - Created.
18:16 svnbot6 r13307 | putter++ | New test for Pugs::Internals::pi in Prim.hs, broken by r13255's renaming of pi from "pi" to "Pugs::Internals::pi".
18:17 putter joined perl6
18:17 putter Sigh.  Even with pugs, I should take that extra couple of minutes to get change log entries *right*. :/
18:18 putter The line class C {} sub f() {C.new()} currently makes subsequent use()s fail with *** No compatible subroutine found: "&Mumble::import" ...  *during precompilation*.
18:19 TreyHarris ?eval Pugs::Internals::pi()
18:19 evalbot_r13301 Code::Exp.new()
18:19 TreyHarris ?eval pi
18:19 evalbot_r13301 3141592653589793/1000000000000000
18:19 TreyHarris ?eval +Pugs::Internals::pi()
18:19 evalbot_r13301 Error: Cannot cast from VObject (MkObject {objType = (mkType "Code::Exp"), objAttrs = <StrMap 0xb7a12040>, objOpaque = Just <<Pugs.AST.Internals.Exp>>, objId = MkObjectId {unObjectId = 1}}) to Double (VNum)
18:20 TreyHarris putter: ah, that's a failing test.
18:20 TreyHarris what is it supposed to do?  calculate pi based on the context in which it is caused?
18:20 TreyHarris s/caused/called/
18:24 putter Simply renaming the Prim.hs pi broke it.  The correct pi you now see is a literal in Prelude.pm.
18:25 putter 'putter <- "take more time to write clear commits"'++  TreyHarris__
18:25 putter err, TreyHarris++
18:26 putter I was quite surprised.  But given that exprs are currently in flux, I thought dealing with it now was a... yak too far.
18:54 TreyHarris oooh, i hate it when i do a find | grep and forget to do 'xargs grep'
18:54 putter :)
18:59 bernhard joined perl6
19:02 TreyHarris ?eval sub foo() { 1 }; sub foo() { 2 }; say foo()
19:02 evalbot_r13301 OUTPUT[2 ] Bool::True
19:06 gaal ap (++) "take more time to write clear commits" >>= \putter -> TreyHarris
19:06 gaal hm that doesn't have quite the same ring to it
19:06 integral_ joined perl6
19:07 integral_ is now known as integral
19:11 svnbot6 r13308 | putter++ | Created ext/Math-Basic, defining Math::Basic, per S29.
19:11 svnbot6 r13308 | putter++ | Math::Basic is currently very simple (just a definition of pi).
19:11 svnbot6 r13308 | putter++ | My intent is to shortly try to use it from Prelude.pm, without breaking pugs.
19:11 svnbot6 r13308 | putter++ | There is related work in misc/Perl-MetaModel/ and misc/S29_round*, which can
19:11 svnbot6 r13308 | putter++ | be afterward integrated as stability permits.
19:13 lumi gaal: What does that mean?
19:15 gaal nothing at all
19:15 lumi Indeed
19:16 TimToady TreyHarris: it's not high on my priority list to support indirect macros, but since macros can be called as functions, prefix:{$huh} probably works.
19:17 TreyHarris TimToady: was just curious, given that several of us have been working on meta-meta-programming issues (like markstos)
19:18 justatheory joined perl6
19:18 Eidolos joined perl6
19:23 larsen_ joined perl6
19:29 putter ;)
19:29 putter is there currently a convention for where/how to dump failing tests?  it was pugsbugs, with failing testness implied.  xx-uncategorized/ with fail or bug in the test name???  ideas?
19:30 putter or is the thrust to get all these tests integrated with the suite, and pay the integration cost up front, which somewhat discourages test creation, but saves the pain of integrating later.
19:30 putter t/nag_audreyt_and_gaal/... ;-)
19:30 putter gaal: ping?
19:30 putter actually, anyone with build system experience: ping?
19:31 putter joined perl6
19:33 fglock joined perl6
19:47 xerox joined perl6
19:52 SubStack joined perl6
19:58 putter idea: have a concept of "key modules to be make'ed early".  Currently, if you just make, and then  use Test;, it doesn't work because Test hasn't been made yet.  And as Prelude comes to depend on other modules, it would be nice if they could just be added to a "make early" list, rather than being kludged.
20:05 svnbot6 r13309 | putter++ | Revert r13305, which added -Iblib6/lib to prelude precompilation.
20:05 svnbot6 r13309 | putter++ | In a clean build, blib6/lib isn't populated soon enough to help.
20:06 onsen_ joined perl6
20:24 TreyHarris putter: are you using svn or svk?
20:25 ntgrl joined perl6
20:26 TreyHarris anyone here have good javascript clue who might be able to help me diagnose a script that runs perfectly under firefox but doesn't do anything at all under safari?
20:26 putter svn :/
20:26 ntgrl is now known as integral
20:26 svnbot6 r13310 | putter++ | This is a first try at having Prelude.pm use an external module, namely Math::Basic.
20:26 svnbot6 r13310 | putter++ | If this breaks some aspect of the build, simply revert this change.
20:26 svnbot6 r13310 | putter++ | [Prelude.pm]
20:26 svnbot6 r13310 | putter++ | Now says  use Math::Basic :GLOBAL<pi>;.  The :GLOBAL doesn't work, so Prelude still has a reflector sub pi, with all the "is builtin" etc doodads.
20:26 svnbot6 r13310 | putter++ | [config-template.yml]
20:26 svnbot6 r13310 | putter++ | Math/Basic.pm has been added to precompile_modules.
20:26 svnbot6 r13310 | putter++ | [gen_prelude.pl]
20:26 svnbot6 r13310 | putter++ | In order to find Math::Basic when precompiling Prelude.pm, we need an explicit -Iext/Math-Basic/lib.  Which seems unfortunate.  But -Iblib6/lib can't be used because it is not populated soon enough.
20:26 TreyHarris i've got that "smoke Perl 6 implementor's view" working under firefox, but i can't figure out how to make it work on safari
20:27 putter implementer's view?
20:28 TreyHarris putter: well, i was going to suggest holding off until audreyt makes the 6.2.13 release, this sounds like something that could impede that.  and if you had svk, making a local branch to look at how to solve it
20:28 TreyHarris putter: got firefox?
20:29 putter re release, didn't realize one was pending.  hmm.  in the past the policy has been go for it anyway, T-1day or before.  but perhaps that's changed?
20:29 putter got firefox
20:29 TreyHarris putter: ah. ok
20:30 putter my impression was the observation was the current smoke colors were too implementer, rather than user, oriented.  with known not to be working being green.  no?
20:30 putter or am I confused?
20:31 TreyHarris putter: right.  so look at http://www.ibiblio.org/harris/smoke.new.html to see what i'm talking about.  it's a small subset of a smoke.html i produced on tuesday.  scroll down to the bottom, ideally so you can see the button and all the tests
20:31 lambdabot Title: TAP Matrix - Tue Sep 12 00:37:56 2006 GMT
20:31 TreyHarris then click the button
20:32 putter button?
20:32 svnbot6 r13311 | zgh++ | duplicate test in t/statements/modifiers/for.t, changed slightly so the two tests are no longer identical
20:32 putter ah, above the test grid
20:32 TreyHarris yeah
20:34 TreyHarris putter: seem reasonable?
20:34 putter JS error,
20:35 larsen_ joined perl6
20:35 TreyHarris putter: oh, no.  it works in my firefox
20:35 TreyHarris bleh
20:35 putter missing formal parameter, line 110, little green arrow is pointing at the second arg of change_style_for_class (namely, class).
20:36 putter I've an old fox, perhaps that's it.
20:36 TreyHarris well, a plain old smoke should be giving you the same errors
20:36 putter checking...
20:36 TreyHarris that's my problem here with diagnosing the safari, it's only complaining about javascript that i didn't touch
20:38 putter no error from recent smoke on server
20:38 TreyHarris hm
20:39 putter no sign of broken function either.  sure change_style_for_class isn't yours?
20:40 TreyHarris oh, the errors i'm seeing are at 36, 37, and 105x2... all before my changes
20:40 TreyHarris lemme look
20:40 TreyHarris yeah, the smoke.html i generated this morning (the standard one unmodified) has broken CSS at those lines too
20:42 putter k
21:02 svnbot6 r13312 | putter++ | Typo.  The test is of a Hash, not an Array.
21:18 markstos joined perl6
21:22 pdcawley joined perl6
21:26 putter @tell audreyt Is there a vision for how Prelude.pm is going to evolve?  It seems there is no way to define globals but "is builtin", which seems to have the unfortunate sideeffects of ripping things out of their defining module, and making multis non-multi.
21:26 lambdabot Consider it noted.
21:30 lanny joined perl6
21:33 weinig is now known as weinig|brb
21:38 weinig|brb is now known as weinig
21:47 larsen_ joined perl6
21:55 svnbot6 r13313 | fglock++ | Pugs-Compiler-Rule - changed an accessor call
21:57 dduncan joined perl6
22:00 dduncan TreyHarris or others, from backlogging this channel it looks like you just said there will be a Pugs 6.2.13 release coming up soon (rather than the next release being 6.28.0 ... is that true or are you just guessing?
22:01 dduncan if is is true, does anyone know the ETA for 6.2.13? ... I like to know so I can clean up some of my own parts in time
22:05 putter no idea, sorry
22:07 putter I'm trying to find a way to set a global in the Prelude while not unmulti-ing multis, and ideally allowing ::= to work.
22:07 putter So, possible mechanisms for creating a global include
22:07 putter * ::* and GLOBAL::  as prefixes on the name,
22:07 TreyHarris dduncan: putter was saying she was shooting for a release this weekend
22:08 TreyHarris s/putter/audreyt/
22:08 putter GLOBAL::<foo> symbol table,
22:08 TreyHarris lol
22:08 dduncan okay, if you're sure about that, I'll see to getting to my cleanup work now then ...
22:08 putter Prelude's "is builtin",
22:08 TreyHarris audreyt: i'm sure she said that.  i'm not sure that it's still true, as i last heard her say it late last week.
22:08 TreyHarris bleh
22:08 putter and ... is there anything else?
22:08 dduncan I suggest updating the #perl6 header to mention it
22:08 TreyHarris s/audreyt/dduncan
22:09 putter * prefix works, GLOBAL anything doesnt.
22:09 putter Both * prefix and "is builtin" demulti multis.
22:09 putter our &*foo ::= &bar;  doesnt actually create a global.
22:10 putter Any ideas on possible paths/workarounds I've missed?
22:12 lollan joined perl6
22:30 mako132_ joined perl6
22:35 svnbot6 r13314 | putter++ | Created some failing Prelude.pm tests.
22:35 svnbot6 r13314 | putter++ |  - our &*f ::= &g; doesn't actually create a global.
22:35 svnbot6 r13314 | putter++ |  - global multis behave non-multi, disappearing upon another declaration.
22:35 svnbot6 r13314 | putter++ | Created a new prelude_test.t, and added some helper "prelude_test*" code to Prelude.pm.
22:35 svnbot6 r13315 | putter++ | Remove a bit of test code which inadvertently escaped in r13314.
22:38 putter good night &
22:39 TimToady putter: my brain is still in sideways, but I think we're moving toward "is export" to allow thing to be both methods and global exports.
22:39 TimToady when you export a method it turns the ':' into a ',' and pretends it's a multi.
22:40 TimToady so you can have method Array::push(@: *@) is export
22:40 ingy yay
22:41 TimToady and you also get multi push(@,*@) in the namespace exported to.
22:41 TimToady so all that remains is for * to import <push>
22:41 * ingy just got done writing yet another p5 exporting base class.
22:41 TimToady it was audreyt's idea.
22:41 ingy although it gets a little better each time I do it ;)
22:41 TimToady audreyt++ xx *
22:42 TimToady though I guess that only evaluates once...
22:42 mugwump wait, won't that ... :)
22:43 ingy How to be Spiffy Without Anyone Noticing -- by Ingy dot Net
22:43 * [particle] idly wonders how many exporters perl 6 will have
22:43 TimToady how 'bout audreyt += rand(*) then.  :)
22:43 ingy hi mugwump
22:43 [particle] hey ingy, wanna present that at spug next month?
22:43 mugwump how's it going ingy?
22:44 ingy [particle]: I'd like to present the new YAML.pm when its done
22:44 ingy the tpf grant sponsored thingy
22:44 ingy so if that's next month, sure
22:44 TimToady th.ingy
22:44 mugwump aha!  there's your answer
22:44 mugwump (to your keynote question)
22:44 TimToady eh?
22:45 [particle] ingy: great!
22:45 mugwump you asked who wanted to be thing
22:45 ingy mugwump: th.ingy.net
22:45 TimToady :-) xx *
22:45 ingy hmmm
22:47 ingy looks like I am going to have to invent a 'th' web service
22:48 mugwump I guess leo must be lurch
22:48 ingy and for my next big project...
22:48 ingy Totally::Hot
22:48 TimToady Titan::Hunk
22:49 TimToady Temp::Happy
22:49 TimToady Tri::Horned
22:49 araujo hi hi
22:49 ingy oh boy, what a can of worms... and I have to run away.
22:50 TimToady Talk::House
22:50 ingy Truly::HaveToRun &
22:50 TimToady Too::Hasty...
22:51 ingy Tim::Hokey &
22:51 [particle] HA!
22:54 polettix joined perl6
23:00 TimToady actually, I think exported methods have to turn : into ; rather than ,
23:02 dduncan That's Him
23:02 dduncan er Thats::Him
23:03 dduncan There::Here
23:06 jferrero joined perl6
23:15 ramon joined perl6
23:17 TimToady changed my mind, exported methods probably shouldn't default to turning : into ;
23:17 TimToady but that means we should probably allow $self:; *@args to indicate that it should turn into ; instead of ,
23:17 TimToady or (; *@args) for implicit self
23:18 TimToady just working on S29 from the exported method angle...
23:19 TimToady But it also means that Math::Basic is bogus, and things like abs() really belong in Num
23:20 TimToady if we write them all as methods
23:24 peteso joined perl6
23:27 cjeris left perl6
23:29 [particle] joined perl6
23:30 mugwump TimToady: did you ever see the traits-friendly num/real/float/rational/etc types from Haskell Venn diagram?
23:30 markstos I know this can be done easily with [*], but I was just playing with this function with does the same thing. However, the recursion seems to short circuit instead of unwinding properly:
23:30 * mugwump roots around for it
23:30 markstos ?eval sub prod ($x,*@xs) { return $x unless @xs.elems; return $x * prod([,] @xs); } print prod(2,3,4);
23:30 evalbot_r13301 OUTPUT[4] Bool::True
23:31 markstos The expected result was 2 * 3 * 4  = 24
23:32 TimToady ?eval sub prod ($x,*@xs) { return $x unless @xs.elems; return $x * prod([,] @xs); } print prod(2,3.42);
23:32 evalbot_r13301 OUTPUT[2] Bool::True
23:32 TimToady ?eval sub prod ($x,*@xs) { return $x unless @xs.elems; return $x * prod([,] @xs); } print prod(2,3,42);
23:32 evalbot_r13301 OUTPUT[4] Bool::True
23:32 TimToady [,] @xs is turning into +@xs somehow
23:33 TimToady so it's passing the length
23:33 TimToady ?eval sub prod ($x,*@xs) { return $x unless @xs.elems; return $x * prod([,] @xs); } print prod(2,3,42,582);
23:33 evalbot_r13301 OUTPUT[6] Bool::True
23:33 TimToady yes, 2 * 3 (the rest of the args)
23:33 markstos Because it's trying to cast an array into a scalar ($x) ?
23:34 markstos It sounds like you agree it's a bug, though ?
23:34 TimToady yes
23:34 markstos Good. I'll stop trying to make it work, then, and consider adding a test for it.
23:35 markstos Of course, the short cut works:
23:35 markstos ?eval sub prod (*@xs) { [*] @xs } print prod(2,3,4);
23:35 evalbot_r13301 OUTPUT[24] Bool::True
23:35 TimToady ?eval sub prod ($x,*@xs) { return $x unless @xs; return $x * prod([,] @xs); } print prod(2,3,4);
23:35 evalbot_r13301 OUTPUT[4] Bool::True
23:36 gnuvince Is there a place where I can read what's the perl6 plan?  How v6.pm, pugs and parrot are part of the larger plan?
23:37 markstos $x is getting set to the array on the second pass.
23:37 markstos gnuvince: there are multiple plans.
23:38 markstos v6.pm and pugs are parallel projects
23:38 TimToady we're a bunch of ants all pulling the huge chunk of food toward the nest, on average.
23:38 markstos As I understand, pugs can use parrot, but doesn't have to depend on it.
23:39 TimToady the basic answer is, right here is where you can read about it. :)
23:39 gnuvince markstos: I thought v6.pm was Perl6 in Perl5 and pugs Perl6 in Haskell
23:39 markstos gnuvince: it's a volunteer effort optimized for fun, so the plan is somewhat organic.
23:40 markstos gnuvince: correct.
23:40 [particle] left perl6
23:40 markstos biab
23:40 gnuvince and the official Perl6?  Will it be built upon these two?
23:41 gnuvince Or written from scratch in Parrot's language?
23:41 TimToady official Perl 6 is anything that passes the test suite.
23:41 weinig is now known as weinig|bbl
23:41 obra timtoady++
23:41 TimToady regardless of what it's built on.
23:41 markstos right. There can be more than one.
23:41 TimToady or with
23:42 TimToady that's why pugs has been making heroic efforts lately to cut out all the platform dependencies from the test suite.
23:42 peteso aren't there some self-hosting goals as well with the compiler?
23:43 TimToady but both v6 and parrot are aiming to cover the same tests
23:43 TimToady yes, that is also a goal
23:43 TimToady so only the backends need be platform dependent
23:44 obra TimToady: is there a right place to canonize that comment about officialness in the synopses?
23:44 peteso nice
23:44 gnuvince ok
23:44 gnuvince Well I tell you, I can hardly wait for Perl 6.
23:44 TimToady S01 would probably be the right place.
23:44 TimToady Impatience is good
23:45 gnuvince Isn't that one of the three programmer qualities?
23:45 gnuvince I can remember laziness and hubriss
23:45 gnuvince hubris
23:45 TimToady Would you like to help?
23:45 peteso is the habit of appending the unary increment operator to someones name like applauding them?
23:45 obra peteso: yes. there's a karma bot around here somewhere.
23:45 obra karma timtoady?
23:45 jabbot obra: timtoady? has neutral karma
23:46 obra karma timtoady
23:46 jabbot obra: timtoady has karma of 27
23:46 gnuvince TimToady: I was given svn commit access to Pugs by audreyt recently.  However I am very new to Perl in general.  I'm trying to wrap my head around Perl 5, and once I'm comfortable, I'll probably start trying to commit tests for Perl 6.
23:46 TimToady but we mostly ignore it...
23:46 TimToady that's cool.
23:46 TimToady one of the most important pieces of feedback we can get right now is how it all sits with newcomers.
23:47 TimToady if you see something that is obviously screwball, please say so.
23:47 gnuvince Well I tell you, the new-style objects make more sense to me.
23:47 peteso obra: presumably then would -- decrement? even if discouraging
23:47 gnuvince Of course, I'm coming from a Smalltalk/Ruby/Python background, so that's to be expected.
23:48 TimToady though, oddly, the P5 object model was pretty much borrowed from Python...
23:48 obra peteso: yes.
23:49 peteso obra: thanks for the clarification
23:49 peteso obra++
23:49 gnuvince Perl 6 is interesting because it retains the qualities that make Perl 5 good for one-off scripts, but improves (in my opinion) for the larger software
23:52 obra I've really enjoyed building largeish systems in perl5. But I'm an odd one
23:52 mjk joined perl6
23:53 clkao i enjoyed, for only a while
23:54 TimToady gnuvince: that's definitely been one of our basic goals.
23:58 gnuvince With a bit of luck, I'll get the job at Ubisoft for which I applied yeterday.  They need a QA programmer and the most used languages for the job will be Perl and Python.  Hopefully I can pick up more experience with Perl ;)
23:59 rodi Speaking of audreyt, I wrote an ode to her and Pugs: http://use.perl.org/~rodi/journal/30985
23:59 lambdabot Title: Journal of rodi (7124)

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

Perl 6 | Reference Documentation | Rakudo