Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2006-03-31

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:08 mugwump wow, ghc6 still building
00:13 ayrnieu joined perl6
00:14 ayrnieu_ joined perl6
00:17 svnbot6 r9796 | mugwump++ | docs/Perl6/Spec/Documentation.pod: respond to first discussion point
00:18 mugwump TimToady: you around?  You have a lot of questions on the S26 draft...
00:24 mugwump TimToady: much of the early design on Perldoc came from a few principles;
00:24 mugwump 1. incorporating information from Code into the Documentation (a la OODoc) should happen through a plug-in
00:26 mugwump 2. the PDOM tree can have arbitrary weird stuff, but it should know how to transform itself to a standard tree, so that people postprocessing it can just deal with a set of standard node types
00:29 ayrnieu_ is now known as ayrnieu
00:29 mugwump 3. the structure should be able to be "flattened" in a sane way without losing information, for instance output to XML, both in the unprocessed (where special nodes may exist) and processed (where they may not exist) stages
00:33 mugwump As for the 'containment' stuff...
00:33 mugwump I really wanted to make sure that you didn't need to parse POD to tell where it starts and ends, you see
00:34 mugwump So that the actual conversion from source to a $?DOC style object can be lazy and not hold up parsing of a source file
00:41 mugwump I'll put that in the document as annotations...
00:46 Khisanth joined perl6
00:47 rashakil left perl6
00:50 rashakil joined perl6
01:04 f0rth_ is now known as f0rth
01:18 svnbot6 r9797 | mugwump++ | docs/Perl6/Spec/Documentation.pod: continue to feed back on discussion points
01:34 tewk quick perl5 question How do I pass a reference to an anonymous sub as and argument
01:34 tewk myfunc( \&sub { print "Hello World\n"; } ??
01:34 svnbot6 r9798 | mugwump++ | docs/Perl6/Spec/Documentation.pod: correct incorrect comment
01:35 mugwump tewk: myfunc( { say "Hello World" } )
01:36 zgh in perl5 it's "myfunc( sub { print 'stuff' } )" I think
01:37 mugwump oh, whoops :)
01:38 tewk zgh: thanks I was putting a ; after 'stuff'
01:38 zgh tewk: glad to help
01:38 tewk myfunc( { print 'stuff' } ) seems to work.
01:38 zgh a ; after 'stuff' should work tho... as long as it's inside the }
01:40 zgh tewk: unadorned {} would create a hashref not a subref.... you'd need sub {} to create a subref.
01:40 Leandro- joined perl6
01:40 zgh in perl5 that is
01:41 tewk ok
01:41 Leandro- http://pastebin.com/631886
01:41 Leandro- anybody can see why dont return anything?
01:42 audreyt $x = &y
01:42 audreyt this now means
01:42 audreyt $x = \&y # in p5
01:42 audreyt to call it you need to
01:42 audreyt $x = y();
01:42 audreyt $x = y; # should also work
01:45 mugwump audreyt: do you have a working draft for your EuroOSCON talk?  I'll be presenting findings in this field to an interested local .pm group
01:45 mugwump once I get up to speed ;)
01:47 mugwump or maybe some hints about getting `use v6-pugs' working?
01:48 weinig joined perl6
01:52 audreyt mugwump: no, I do not have a working draft
01:53 audreyt mugwump: v6.pm should work the way any Module::Compile subclass works, namely calling lrep.p6 (or a modular API of it thereof) and generate p5 code, then return the compiled code (probably bundling the runtime reqs if needed)
01:54 audreyt mugwump: I'm not sure if I'll be in euroscon (havn't heard anything yet, submitted past deadline)
01:54 avar since automatic list/array flattening is gone, does (@a,@b) equal (\@a,\@b) in p5 or does p6 support arrays inside arrays?
01:54 audreyt avar: automatic flattening is alive and well in list context
01:54 audreyt mugwump: but the same talkis accepted in YAPC::NA
01:55 * avar was under the impression that it wasn't
01:55 TimToady avar: you can't prejudge which arguments of (A,B,C,D) are in scalar vs list context.
01:56 zgh how very unperlish that would be...! I'm glad autoflattening is sticking around.
01:56 TimToady In general the flattening has to be done at parameter binding time.
01:56 TimToady Fortunately @foo and %bar don't need to know context beforehand.
01:57 TimToady Unfortunately, baz() does, so must sometimes guess list context.
01:57 merlyn Having wrestled with a few people about the "/ means divide and regex" issue over the past few weeks again, I'm curious about how perl6 is finally resolving that.  Does / no longer mean both divide and regex, or do prototypes go away?
01:57 TimToady Unless baz() is also evaluated lazily, which has its own problems, esp if you want to do MMD.
01:57 merlyn or will you need to execute code to compile code?
01:57 merlyn s/compile/lex/
01:58 merlyn cuz you can't have all three at once. :)
01:58 TimToady We still resolve lots of syntax by expecting op vs term.  Is that what you're asking?
01:58 merlyn so is there still the equivalent of prototypes?
01:58 merlyn user defined code that can provide syntax nudges?
01:59 theorbtwo merlyn: Yes, you will, but we're hoping to provide better tools to allow perl to do the parsing perl for you.
01:59 mugwump Hmm, YAPC::Eu and EuroOSCON seem close enough together in space and time to go to both with a hackathon in between...
01:59 avar TimToady: I think he means will we have something like:
01:59 theorbtwo Both of those features become more powerful, in fact.
01:59 svnbot6 r9799 | fglock++ | PCR - implemented <before ...>
01:59 TimToady hopefully we've tamed the syntax nudges to not have P5's problems.
01:59 avar BEGIN { eval (time % 2) ? 'sub x ($) {}' : 'sub x (@) {}' }
01:59 avar x / ....
01:59 merlyn so the idea of the "simple pipeline" from lexer to compiler to intermediate code to execution engine is still messy because you have be executing during even the lex
02:00 merlyn I think the people of this channel understand the problem
02:00 avar ;)
02:00 merlyn just wondering the current state of thinking about the solution
02:00 TimToady well, we still have that particular problem.
02:00 merlyn it means you have to execute *some* code to lex *other* parts.
02:00 merlyn so there's no such thing as a standalone P6 -> PIR for example
02:00 merlyn it's gotta have an execution engine in it
02:01 theorbtwo merlyn: I think the solution is mostly in providing hilighters and the like to simply ask perl to do their dirty work, instead of having to reimplement perl.
02:01 merlyn I keep seeing allison talk about this wonderful abstraction.  I'm wondering how long before the bunny in the hat dies. :)
02:02 theorbtwo Also, we're providing more mechnisims to write macros without warping the lexer stage, unless you really want to warp it.
02:02 merlyn theorbtwo - +1 for "missing the point".
02:02 merlyn Maybe I should have described it better for you.
02:02 theorbtwo merlyn: Perhaps you should have, yes.
02:02 merlyn Larry and I have talked about this offline.  Maybe I'm presuming that this is a continuation of that discussion, rather than starting from scratch.
02:02 theorbtwo Is your issue with security/trust, or simply with writing tools that work correctly for the interesting cases?
02:03 merlyn my issue is knowing how Perl can interpret "/" without executing code.  It must.
02:03 merlyn therefore, there can't be a "compile" step that doesn't have an execution engine too.
02:03 TimToady that is correct.
02:03 theorbtwo Correct.
02:03 merlyn OK, so allison's models are somewhat handwaving then.
02:04 audreyt merlyn: interleaved execution is neccessary
02:04 theorbtwo Most models are.  Otherwise, they wouldn't be called models.
02:04 audreyt the TGE model can emulate it via saving all object space
02:04 merlyn since they seem to imply that text becomes AST becomes PIR then gets executed
02:04 audreyt and resume the compile cycle recursively as needed
02:04 merlyn how does pugs deal with that?  can the execution affect the lexer?
02:05 TimToady the hope is that by making all the "desugaring" via explicit mechanism rather than deep magic, we can keep better track of the current language.
02:05 audreyt merlyn: yes, the way we do it is to use /...{...}.../
02:05 audreyt merlyn: same as p5's /...(?{...}).../
02:05 mugwump Generating precompiled Prelude... pugs: internal error: scavenge_one: strange object 68
02:05 TimToady only better. :)
02:05 mugwump ^^ grr, I assume that's the mysterious amd64 error that means you need ghc6.4.1
02:05 merlyn OK, I'm happy.  I just wanted to get resynced. :)
02:06 audreyt TimToady: actually, well, after dave's work this week
02:06 audreyt I'd say it's similar :)
02:06 merlyn because allison's handwaving was blowing me away. :)
02:06 TimToady dave++
02:06 theorbtwo Oh, I didn't realize that pugs had gotten that far -- I thought that was only lrep doing that.
02:06 theorbtwo Colour me impressed.
02:06 merlyn what's the state of the p6 rules engine running native on p5?
02:06 audreyt theorbtwo: pugs had been doing that (via parsec) since 11 months ago :)
02:06 merlyn is that cpan'ed, useable?
02:06 merlyn or perhaps even in the p6 svn?
02:07 audreyt theorbtwo: but parsec<>rule transofmration is the next step and needs work
02:07 audreyt merlyn: it's cpaneed and usable
02:07 merlyn named ?
02:07 audreyt http://search.cpan.org/~fglock/Pugs-Compiler-Rule-0.02/
02:08 merlyn Cool.  I'm doing a column on that then.
02:08 audreyt merlyn: I think the Perl6::* namespace is somewhat cursed
02:08 audreyt at least for code
02:08 audreyt so I'm trying to push implementation into Pugs::* or Module::* or other regular cpan spaces
02:08 merlyn I want to rewrite my "spew" away from Parse::RecDescent to a different system.
02:08 TimToady Perl6:: is really Perl6Acme::
02:08 audreyt TimToady++
02:08 merlyn yeah... anything scrottie wrote about is a bit scary.
02:09 merlyn The Book That Shouldn't Have Been
02:09 audreyt with regard to CPAN, I think the "p6 is a language and we currently call implementations by other names (lrep, pugs, etc)" explanation works better
02:09 theorbtwo Oh, the perl6 today book.
02:09 TimToady "this book fills a much-needed gap."
02:09 audreyt than explaining the relationship between Perl6:: and Perl 6
02:10 audreyt TimToady: that quote is so "inteesting" on so many levels :)
02:10 audreyt "interesting" even
02:10 TimToady "What is the name of this book?"
02:11 * theorbtwo thinks the interesting bit is mostly how much people want perl 6 to be here already.
02:11 merlyn "he's typing as fast as he can!"
02:11 audreyt theorbtwo: aye.
02:11 theorbtwo I see encouraging signs that it might happen this decade.  ;)
02:12 fglock_ joined perl6
02:12 TimToady I think it'd be cool if we had something by Perl's 20th birthday.
02:12 TimToady which is when you come of age in Japan.
02:12 audreyt (also .cn and .tw)
02:12 TimToady they even have a special word for it: "hatachi"
02:12 audreyt TimToady: you are going to declassify the info?
02:13 audreyt the birthday of perl
02:13 * audreyt gets ready to submit a perlhist.pod patch
02:13 miyagawa TimToady: and we have "Seijinshiki", the ceremony for Hatachi
02:13 TimToady the birthday doesn't need to be declassified.  The conception is another matter.
02:13 * theorbtwo wonders if hata-, perchance, means 20.
02:13 merlyn I was just commenting to someone today about perl being 19 this year.
02:14 merlyn and realizing how old that makes me. :)
02:14 * SamB is 19
02:14 fglock_ merlyn: are you going to write on Pugs::Compiler::Rule?
02:14 merlyn fglock - I might
02:14 merlyn if I can get my "spew" thing working
02:14 TimToady written 二十歳
02:14 merlyn it's not that hard.  In fact, I thought about handwriting a rec-decent parser already using normal regex.
02:15 merlyn but if I could write it as P6Rules... even better.
02:15 * theorbtwo learned how to use a computer, but not how to program, before perl was born... I think.
02:15 * merlyn had already written a shelf-full of books before Perl came along
02:15 fglock_ please let me know if you have problems - I'd be glad to fix bugs in PCR
02:15 merlyn And now the Perl books to which I've contributed fill an entire shelf!
02:15 merlyn In fact, I'm running out of room now.
02:16 audreyt merlyn: you are aware of my work on Template::{Extract,Generate} right?
02:16 merlyn I had to wedge "Intermediate Perl" in the last free space along the top of a bunch of other books.
02:16 merlyn audreyt - of course.
02:16 merlyn Oh wait, recent work?
02:16 audreyt ok. you may find http://svn.openfoundry.org/pugs/misc/pX/audreyt/rules-are-templates amusing then
02:16 audreyt no, previous work
02:17 merlyn OK, yes, I had looked at those at one point to do interesting things.
02:17 audreyt right. now the bad idea of the day is using p6 ules
02:17 theorbtwo I think an article on PCR would be very interesting -- but would probably be too long.
02:17 audreyt as a templating system
02:17 theorbtwo ...also, you might want to hold off until the CAVEATS section no longer says "It is currently unsuitable for just about any use other than Pugs development.:
02:17 merlyn Oh, slick.
02:18 merlyn "spew" is pretty lightweight
02:18 merlyn the grammar is only about ten lines
02:19 merlyn ... http://www.stonehenge.com/merlyn/LinuxMag/col04.html
02:19 merlyn lines 31 to 65 - a new definition of "ten". :)
02:19 fglock_ merlyn: you can already compile p6 grammars to p5 - but this part is not published yet. PCR grammar is written in p6
02:20 merlyn wait - I thought I coudl use the CPAN'ed module with Perl5?  no?
02:20 fglock_ theorbtwo: that will be removed in apr 1st :)
02:20 theorbtwo Ah, yeah, p6 rules are no more complicated here then PRD.
02:20 theorbtwo Cool, fglock.
02:20 merlyn darn it... I talk to someone from south america and my word order becomes spanish. :)
02:21 merlyn I even speak in my head with a crazy accent. :)
02:21 theorbtwo Oh, that reminds me, I'd better write my PM april fools joke for the year.
02:21 fglock_ merlyn: the p6 grammar (.pm) is compiled to p5 (.pmc) - see audreyt work on 'use p6-pugs'
02:23 fglock_ Makefile.PL will recompile the grammar if necessary - but you need the pugs svn version - the CPAN version doesn't have the compiler bundled
02:25 merlyn well - what I'm looking for is how to compile my rules, and then run them against an input to get an AST back
02:25 merlyn less than an AST, actually.  just a nice data structure
02:25 theorbtwo "Match object" is the term you're looking for.
02:26 TimToady fglock: s/use p6-pugs/use v6-pugs/ I think
02:26 colares joined perl6
02:28 merlyn well - not the match object directly
02:28 merlyn a table of items and their expansions in a nice hash
02:29 fglock_ you can use a return block: my $dot = Pugs::Compiler::Rule->compile( q( \. { return { 'dot' => 1 ,} } ) );
02:31 fglock_ $match = $dot->match( '.' );  print Dumper $match->();
02:33 fglock_ with the p6->p5 compiler this gets much cleaner
02:35 meppl gute nacht
02:35 TimToady .oO(someone just spat on my shoes)
02:36 TimToady meppl: oyasuminasai!
02:36 fridim joined perl6
02:39 fglock_ merlyn: there aren't many examples or docs - I'm still focusing on the implementation. The test files may help - see the last tests in http://svn.openfoundry.org/pugs/misc/pX/Common/Pugs-Compiler-Rule/t/04-rule.t
02:39 meppl what?
02:40 fridim hi all
02:42 * audreyt naps some more. bbiab... &
02:47 r0nny joined perl6
02:49 * fglock_ wonders if implementing a standalone 'Grammar' compiler would be a good idea
02:53 fglock_ s/standalone/Pugs::Compiler::Grammar module/
02:54 TimToady meppl: s/oyasuminasai/gute nacht/
02:54 fglock_ midnight here &
02:55 TimToady 日本語 --> Deutsch
02:55 fglock_ left perl6
02:56 * theorbtwo wants to be able to s:e/(<german>)/english($1)/
02:56 mugwump theorbtwo: use Lingua::Translate!  :)
02:57 theorbtwo mugwump: I have, from time to time.
02:57 ko1_away is now known as ko1_
02:57 meppl ;)
02:57 theorbtwo Sadly, p6 already has plenty of problems without adding hard AI to the list.
02:59 fridim I am not sure to understand : will pugs be the futur compiler of perl6 ?
02:59 fridim (for parrot)
02:59 theorbtwo My, perlmonks becomes slow to load, and I get all cynical.
03:00 theorbtwo fridim: Pugs will be able to compile perl6 to pugs.  If it will be "the future compiler", as in the one and only, is a much harder question.
03:01 fridim ok, so can i say that we are far away perl running in parrot ?
03:02 theorbtwo If I recall correctly, compiling perl6 to pugs is working now, at least for some code.
03:03 mugwump fridim: I'd say it's fairly safe to say we are far from a complete implementation of perl6 capable of compiling to parrot, yes
03:03 fridim you mean :  pugs test.pl6    works i guess
03:04 mugwump sorry, I meant "capable of compiling itself to parrot"
03:05 mugwump just how far is a matter of debate.  Perhaps if the work being done to convert the Haskell source code to a pugs language starts working, it will surprise everyone by arriving soon.
03:30 xinming_ is now known as xinming
03:34 Shabble joined perl6
03:43 pdcawley_ joined perl6
03:47 sky__ joined perl6
04:23 Quell joined perl6
04:33 mako132_ joined perl6
04:39 FurnaceBoy_ joined perl6
05:10 nothingmuch joined perl6
05:12 mugwump ok, I've got pugs going with ghc6.4.1, and I try a simple test case: use v6-pugs;\nsay "Hello, world\n" - then run that with perl, and it doesn't work...
05:12 mugwump there's just a process 'pugs -e my$Z= =$*IN;while 1{$_=perl eval eval=$*IN;print$Z;say$!//$_;print$Z;flush$*OUT}' waiting for input
05:13 mugwump that's happening at BEGIN time
05:14 nothingmuch morning
05:14 mugwump hey nm
05:15 mugwump ok, so my test script, if I run it with perl -d, and wait for the CPU to finish, then press Ctrl+C, my program runs :)
05:15 mugwump er, wait for the CPU activity to settle
05:18 mugwump the example on the `v6' perldoc page also does very weird things
05:19 mugwump any ideas?
05:25 amnesiac joined perl6
05:28 Quell joined perl6
05:33 mugwump ok, I now have Module::Compile et al installed :) but no change
05:35 mugwump hmm, same thing with Inline::Pugs
05:35 audreyt right
05:35 audreyt v6 is just using Inline::pugs for now
05:35 audreyt it needs to switch to M::C
05:38 mugwump the Module::Compile on CPAN or the one in the pugs tree?
05:38 tennin joined perl6
05:38 audreyt well, they are synced regularly, but use the perl5/
05:39 tennin wow, that XUL Haskell introduction is impressive
05:39 mugwump they look wildly different to me, esp. in t/
05:45 nirgle joined perl6
05:51 * spinclad .oO { and so... one day remains }
05:59 bernhard joined perl6
06:01 gaal morning
06:01 nirgle hi
06:02 gaal ho
06:11 audreyt gaal: yo
06:11 audreyt http://svn.openfoundry.org/perlsyck/
06:12 audreyt ou are metacommitter now
06:14 gaal whee :)
06:14 gaal did you look at the problem?
06:14 audreyt looking now, just want you to check out the repo
06:14 gaal sure, am
06:15 gaal audreyt: btw: your ideas for Template::Patch very, very, welcome. Especially on how to exploit Template::Generate for a metadiff tool }:)
06:15 nirgle left perl6
06:16 audreyt gaal: I want to redo it as a fronend to Harmony
06:17 gaal link error: undefined symbol: Harmony
06:18 GeJ joined perl6
06:19 gaal can someone explain the cpantesters errors here? -
06:20 gaal 1. http://www.nntp.perl.org/group/perl.cpan.testers/302149 - looks like it gets the dependency, but gives up on building it
06:20 gaal 2. http://www.nntp.perl.org/group/perl.cpan.testers/301664 - it doesn't trust my signature? okay, how do i get it to be trusted?
06:20 gaal 3. http://www.nntp.perl.org/group/perl.cpan.testers/301587 - why does it not attempt to follow the dependency?
06:21 gaal also, shouldn't I be getting these failure reports by email?
06:25 mugwump hmm, lrep-compiler uses Inline::Pugs ?
06:26 mugwump oh, via v6-pugs
06:26 mugwump which is not working for me.  blast.
06:26 audreyt mugwump: the other way around more likely
06:26 audreyt mugwump: they are not hooked with each other yet
06:27 mugwump It's including Pugs::Grammar::Rule
06:27 mugwump which is `use v6-pugs'
06:27 mugwump I'm looking for the right thing to do in v6.pm
06:27 mugwump but I don't see the magic entry point in this lrep stuff :)
06:28 mugwump Maybe if I could get Inline::Pugs working I could bootstrap myself
06:28 audreyt gaal: is your structure self recursive?
06:29 gaal no
06:29 audreyt mugwump: huh
06:29 audreyt P::G::R doesn't use v6-pugs
06:29 audreyt oh, you mean P::G::R::R
06:29 mugwump right, yes
06:29 gaal audreyt: the only weird thing about it is that it's a Class::Accessor::Ref object
06:30 audreyt mugwump: the glue is mostly in Makefile.PL in perl5/Pugs-Compiler-Rule/MAkefile.PL
06:30 gaal a blessed-hashref thing in which some fields were tweaked by ref
06:31 GeJ localtime() moosefolks
06:31 mugwump so, in misc/pX/Common/lrep-compiler, there is a p5 `lrep', presumably the perl 5 compilation of `lrep.p6'
06:31 mugwump If I run `pugs lrep.p6' I get:
06:31 fordinal joined perl6
06:31 mugwump pugs: *** Can't locate warnings.pm in @*INC (...)
06:32 audreyt mugwump: lrep.p6 isn't to be compiled by pugs
06:32 audreyt it's to be compiled by itself
06:32 audreyt pugs-haskell has nothing to do with the lrep tree
06:32 mugwump ok
06:32 audreyt (please see README - if it's unclear please fix README)
06:33 mugwump ah, Common/README
06:34 mugwump no, nothing there
06:34 audreyt k... please fix - I meant ~/work/pugs/misc/pX/Common/lrep/README
06:35 mugwump oh yay
06:37 svnbot6 r9800 | mugwump++ | Add pointer to best README of the bunch :)
06:38 audreyt anyone got a 5.6.x?
06:39 mugwump sure
06:39 mugwump 5.6.1
06:40 audreyt mugwump: try http://perlcabal.org/~autrijus/tmp/YAML-Syck-0.40.tar.gz
06:40 mugwump All tests successful, 1 test skipped.
06:40 mugwump t/json-basic....skipped all skipped: No Unicode support
06:41 audreyt miyagawa: authors/id/S/ST/STENNIE/camelpack/perl-camelpack-5.6.1.exe
06:41 audreyt mugwump: good, thanks!
06:45 gaal audreyt: do you see the problematic behavior?
06:45 audreyt gaal: yes
06:45 audreyt but very hard to reduce
06:46 audreyt I'd like a Storable image and a test vs Data::Dumper
06:46 gaal yeah :/
06:46 audreyt I'll switch to another context for the moment
06:47 gaal sure. (it's not just any C:A:R object that exhibits this behavior... I'll try reducing this but am switched to Class::Rebless context myself now)
06:50 audreyt k
06:51 iblechbot joined perl6
06:53 * mugwump boggles that p6compiler can compile lrep.p6 but not «say "Hello, world"»
06:56 mugwump wow, cool to see the proof of concept working though.
06:57 mugwump but for now, off for a weekend!  :)
07:17 KingDiamond joined perl6
07:25 ghenry joined perl6
07:30 gaal sure. (it's not just any C:A:R object that exhibits this behavior... I'll try reducing this but am switched to Class::Rebless context myself now)
07:30 gaal (oops)
07:36 rgs joined perl6
07:38 KingDiamond joined perl6
07:42 vel joined perl6
07:53 KingDiamond joined perl6
08:06 xinming1983 joined perl6
08:15 kane_ joined perl6
08:20 xinming1983 joined perl6
08:26 xinming1983 joined perl6
08:28 xinming1983 joined perl6
08:33 xinming joined perl6
08:40 tomyan joined perl6
08:41 nothingmuch joined perl6
08:58 nnunley joined perl6
09:06 wolverian heh, headexplode: ARGV->[0]
09:07 tennin left perl6
09:11 wolverian heh, pseudoboolean context..
09:11 wolverian today is obviously a headache day
09:12 xinming joined perl6
09:17 gaal wolverian: that's a desugaring trick
09:18 wolverian gaal, yeah, it's neat.
09:18 gaal $arrayref->[0] === $$arrayref[0]
09:18 gaal x-> === $x
09:19 gaal where's pseudoboolean context?
09:19 svnbot6 r9801 | gaal++ |  r9834@sike:  roo | 2006-03-31 12:13:17 +0300
09:19 svnbot6 r9801 | gaal++ |  * Update Class::Rebless to 0.05
09:19 wolverian gaal, lhs of || and rhs of &&
09:20 gaal do you have a particular case in mind?
09:20 audreyt isn't it just boolean context?
09:21 wolverian audreyt, you can return meaningful values. I'm not sure if that counts as special in perl5 (everything is special here), but it strikes me as a bit odd.
09:21 audreyt well, it's everywhere in p6
09:21 audreyt if f() -> $x { ... }
09:21 audreyt f() could return 3
09:21 audreyt under boolean context
09:21 wolverian found it in the Context::Handle docs
09:22 audreyt the if() gets the rvalue first
09:22 audreyt and then cast it as boolean for testing
09:22 audreyt if it's true then it goes binding the original rvalue into $x
09:22 audreyt but want() inside f() would say Bool
09:22 wolverian hmm. yeah. that's the other way around compared to if (my $x = f) { ... }
09:22 wolverian interesting. :)
09:23 audreyt but in p6 that my would scope over the outer scope
09:23 audreyt not limited in the ...
09:23 wolverian yeah, I just meant the order of .. context ..
09:24 wolverian (and it was perl5 code)
09:24 audreyt k
09:25 wolverian never mind me, I'm just confused and interested :)
09:26 kallianka question: shouldn't ~@k.say do the same as (~@k).say?
09:32 audreyt I think it parses as ~(@k.say)
09:32 audreyt so, no
09:33 wolverian prior art: !$foo->bar;
09:33 kallianka ahh
09:33 kallianka I just expected the latter behavior...
09:33 wolverian why? would you have expected it with another method, not .say?
09:34 audreyt I like the fact that .method() binds tightest
09:35 kallianka I don't know, I guess I think that a . look separating
09:36 kallianka I'm going to think about this a bit I think... ;) (just learning p6 now)
09:39 kallianka no, it was probably only with .say...
09:39 rindolf joined perl6
09:39 rindolf Hi all!
09:39 rindolf audreyt: here?
09:39 wolverian afternoon
09:39 rindolf wolverian: it's morning here.
09:40 wolverian heresy :)
09:40 KingDiamond joined perl6
09:40 rindolf I'm also looking for nothingmuch
09:45 rindolf KingDiamond: are you the Premshree that gave some presentations about Ruby in OSDC::Israel::2006?
09:47 renormalist joined perl6
09:50 ruz joined perl6
09:50 rindolf audreyt: here?
09:52 pasteling "renormalist" at 195.30.114.50 pasted "how to do in place sorting" (40 lines, 927B) at http://sial.org/pbot/16545
09:52 elmex joined perl6
09:52 integral @rray .= sort; ?
09:52 renormalist pls see the example, I want to sort on %Hash.values
09:53 integral renormalist: why are you initialising your hash with a hash reference?
09:53 integral .oO( that works in p6?! )
09:54 xinming joined perl6
09:54 wolverian integral, no.
09:54 wolverian or rather, yes, but it doesn't flatten.
09:54 integral then what on earth is renormalist meaning when he says one version of his code works?
09:55 renormalist uncomment the second variant to try the first one
09:55 wolverian oh, wow. strange
09:55 wolverian my %ok = { a => "b" }; # %ok is ({a => "b"}), %ok.keys is ("a")
09:56 wolverian it's as if %ok was really $ok. :)
09:57 renormalist integral: right, hashref is stupid. changed to %SomeHash = = (...), but it wasn'tnot the problem
10:00 marmic joined perl6
10:03 renormalist is the some kind of data dumper in pugs? I don't know how to pretty print nested structures
10:04 audreyt .perl
10:05 audreyt or .yaml
10:06 premshree_ joined perl6
10:12 rindolf audreyt: hi.
10:13 rindolf audreyt: I converted my Perl QOTW #8 (Graham Number) script to Perl 6. Problem is that it may not be too perl6y. What should I do with it?
10:15 audreyt commit it to examples/qotw
10:16 rindolf audreyt: OK.
10:25 renormalist my example seems to be rubbish, I'm still too unfamiliar with p6 syntax, I want to do the following Perl5 snippet in Pugs:
10:25 pasteling "renormalist" at 195.30.114.50 pasted "perl5: in place sorting of a nested structure --> ho to do in pugs?" (43 lines, 903B) at http://sial.org/pbot/16546
10:28 svnbot6 r9802 | shlomif++ | Added the QOTW 8 Expert solution in Perl 6.
10:29 audreyt %SomeHash .= sort({ $^a<vtrnr> <=> $^b<vtrnr> });
10:30 audreyt oh wait, no
10:31 nothingmuch joined perl6
10:31 audreyt %SomeHash = zip(%SomeHash.keys; %SomeHash.values.sort({ $^a<vtrnr> <=> $^b<vtrnr> }));
10:31 audreyt er, wait, no
10:32 nothingmuch morning
10:32 audreyt %SomeHash{$_} .= sort({ $^a<vtrnr> <=> $^b<vtrnr> }) for %SomeHash.keys
10:33 * nothingmuch goes to learn some mochikit
10:35 renormalist audreyt: thanks, it works. I tried to work directly on .values to avoid the %SomeHash{$_}, should this be possible?
10:36 audreyt it should. it's a bug... look around for a test and if it's not write a t/pugsbugs/?
10:36 audreyt look around, as in grep for .values in t/
10:36 renormalist m'kay
10:37 LeTo audreyt: I'm looking for some pugs doc with a list of all value types
10:38 audreyt LeTo: I'm committing into synopsis at this moment
10:38 rindolf nothingmuch: what's mochikit?
10:38 audreyt LeTo: though user can define their own value types
10:39 audreyt LeTo: also, I confirmed with TimToady
10:39 rindolf nothingmuch: I'd like to ask you some questions about http://rt.cpan.org/Ticket/Display.html?id=7172
10:39 audreyt the way allison put it... namely the way parrot works now
10:39 LeTo k - a list of core values?
10:39 audreyt is broken. what should work is
10:39 audreyt my Int $x = MAXINT();
10:39 audreyt $x.class # Int
10:39 audreyt $x++;
10:39 audreyt $x.class # Int
10:39 LeTo audreyt: I know
10:39 audreyt that's the semantic. it can't become BigInt from an "int"
10:41 audreyt also another news: ::Int is to support +Inf -Inf and NaN
10:41 nothingmuch mochikit is $google->im_feeling_lucky("mochikit")
10:41 LeTo what is a Int NaN?
10:41 audreyt LeTo: persumably the bigint encoding has special bitfields just like Num
10:42 nothingmuch rindolf: i needed custom logging of exceptions
10:42 audreyt i.e. the native encoding still uses native-bit-sized ints
10:42 nothingmuch to preserve full error history in the DB for certain subclasses
10:42 nothingmuch err
10:42 nothingmuch certain error classes
10:42 audreyt but if it has the bigint tag on, the bigint part needs to represent the out of bound errors
10:43 LeTo k
10:45 rindolf nothingmuch: I see.
10:45 rindolf nothingmuch: but the record() method is not implemented in the patch.
10:45 rindolf nothingmuch: nor is there documentation for it.
10:46 nothingmuch bummer
10:46 nothingmuch ;-)
10:46 nothingmuch the author warnocked it and I don't need it anymore
10:46 nothingmuch i didn't even get questions
10:47 nothingmuch so as far as I'm concerned it can be closed as abandoned
10:47 rindolf I have a maintenance branch of Error.pm now, so I'm trying to close the bugs in RT.
10:47 nothingmuch iirc it's not much more than slight refactoring
10:48 rindolf nothingmuch: what's "warnocked"?
10:48 nothingmuch ignored
10:48 rindolf nothingmuch: I see.
10:49 rindolf nothingmuch: is it hackers' slang? (It's not in m-w.com)
10:49 rindolf nothingmuch: the author hasn't been responsive since 2002 or 2003.
10:50 nothingmuch http://en.wikipedia.org/wiki/Warnock
10:59 rindolf nothingmuch: I see.
11:02 nothingmuch rindolf: did you get pause maint access?
11:03 rindolf nothingmuch: not yet.
11:04 rindolf nothingmuch: http://use.perl.org/~Shlomi+Fish/journal/29151
11:05 nothingmuch btw, do you know of the leak problem?
11:06 rindolf nothingmuch: no.
11:07 chris2 joined perl6
11:07 nothingmuch closures in Perl are not destroyed
11:07 nothingmuch and additionally they used to (for a very long while) not destroy captured stuff IIRC
11:07 nothingmuch and also leak stuff on each capture
11:08 nothingmuch at least two of these statements are true ;-)
11:08 nothingmuch anyway, this has given Error a very bad rep, since it's interface causes accidental capturing of values quite commonly
11:08 nothingmuch *its
11:09 rindolf nothingmuch: is there any solution for this?
11:09 nothingmuch Dave Mitchell recently fixed all the leaks
11:09 nothingmuch wait, i'll demonstrate
11:10 rindolf nothingmuch: in perl5?
11:11 nothingmuch yes
11:11 nothingmuch perl -e 'sub DESTROY { warn "destroy" }; my $y = do { my $x = bless {}; sub { $x } }; warn "capture"; undef $y; warn "global"'
11:11 nothingmuch this demonstrates captured data destruction
11:11 nothingmuch traditionally Error's biggest problem
11:11 nothingmuch in perl 5.8 it's fixed
11:12 nothingmuch this demonstrates that code refs never get destroyed: perl -e 'sub DESTROY { warn "destroy" }; my $y = do { my $x = bless sub {}; sub { $x } }; warn "capture"; undef $y; warn "global"'
11:12 nothingmuch (they may be cleaned up in a timely fashion but DESTROY is never triggerred)
11:13 nothingmuch as for leaks: you need to monitor the size of the process
11:14 nothingmuch which is not very portable
11:14 nothingmuch use the Gtop module in linux
11:14 nothingmuch something like { for (1 .. 10000 ) { my $x = sub { } }
11:15 nothingmuch and also { for (1 .. 10000 ) { my $y = do { my $x = 1; sub { $x } } }
11:16 audreyt LeTo: committed!
11:16 LeTo S-which one?
11:17 LeTo nm
11:17 damn_I_am_good joined perl6
11:17 TimToady joined perl6
11:19 LeTo audreyt: mutable (container) types ... +C<Code> ?
11:20 audreyt upon further discussion
11:20 audreyt it's now +C<Routine>
11:22 audreyt committing
11:26 rindolf nothingmuch: OK.
11:35 pmurias joined perl6
11:36 pmurias hi all
11:42 audreyt hi
11:56 kisu joined perl6
12:07 LeTo audreyt: ping
12:07 audreyt LeTo: please see the new S06
12:07 LeTo k
12:07 elmex joined perl6
12:07 pmurias a perl5/perlmonks question: is the source to the chatter-box avaliable and what is it's license?
12:08 LeTo audreyt: please check:  lt@feather:~$ ls dev-doc/Var_Value.pod
12:09 audreyt looking
12:10 audreyt LeTo: S06.pod now has a more comprehensive list
12:10 xinming joined perl6
12:11 LeTo reading ...
12:14 Juerd spo0nman: You have mail
12:15 Aankhen`` joined perl6
12:15 Juerd There was someone else who requested an account. I accidentally deleted the mail, thinking it was spam. Please resend, if you requested an account and haven't received it yet.
12:27 premshree_ I think it was spo0nman
12:28 pmurias Juerd: i sent a request recently
12:29 pmurias i resent it just now
12:29 audreyt LeTo: 29bits for pointers?
12:30 LeTo were are the 29?
12:30 audreyt Any other PMC      | pointer    |00|
12:30 audreyt ?eval 32-2
12:30 audreyt sorry, 30bits
12:30 evalbot_9777 is now known as evalbot_9802
12:30 evalbot_9802 30
12:31 LeTo well, the lo 0 bits are of course part of the pointer
12:31 audreyt sure
12:31 audreyt 30 effective bits
12:31 LeTo yep
12:34 audreyt looks sane.
12:34 LeTo thx
12:34 audreyt YARV is reusing the VALUE structure
12:34 audreyt so what you proposed works in ko1_'s tree as well
12:35 Juerd pmurias: tak
12:41 xinming1983 joined perl6
12:41 Juerd pmurias: Haven't received anything. Where did you send it?
12:43 Juerd pmurias: Got it now
12:44 pmurias jurd at convolution.org (typo) i resent it once again to [email@hidden.address]
12:44 pmurias Juerd: beware that both "tak" and "no" mean yes in polish
12:46 azuroth heyy, psycho killer
12:47 Juerd pmurias: "tak" is Danish for "thanks"
12:47 fglock joined perl6
12:47 pmurias hi fglock
12:48 Juerd pmurias: You've got mail.
12:49 Juerd pmurias: Isn't it incredibly confusing to learn English, where "no" doesn't quite mean "yes"?
12:50 svnbot6 r9803 | fglock++ | PCR - <after ..> insfrastructure (not in API yet)
12:53 fglock pmurias: hi!
12:53 premshree_ is now known as KingDiamond
12:58 gabor529 joined perl6
13:00 mako132_ joined perl6
13:02 fglock it would be nice to have a specification for the 'base' p6 language - the thing that gets loaded before the 'prelude' - mainly, what are the syntax categories - this has been implementation specific so far (just like the AST)
13:06 pmurias Juerd: just amusing; loged into my new bright and shinny feather account and changed my password
13:10 nothingmuch fglock: i asked for that
13:10 nothingmuch chromatic complained that I should stop asking for javascript core compiling to the "scheme" subset of Perl 65
13:10 nothingmuch Perl 6
13:10 nothingmuch if you agree please reraise the issue on p6l in your own words
13:10 nothingmuch basically i'd like to know:
13:11 nothingmuch a. what are we allowed to implement the prelude with
13:11 nothingmuch b. what is the system api every runtime must provide (IO stuff, for example)
13:11 nothingmuch c. what is the optional system api every runtime can provide (e.g fork() where it makes sense)
13:11 fglock pmichaud: how about a 'higher level' version of http://svn.perl.org/parrot/trunk/languages/perl6/lib/grammar.g - one that doesn't assume implementation limitations - each implementation can derive it's own version-specific grammar - even if it must be hand-modified initially
13:11 nothingmuch d. what are the "core" types, e.g. the ones that have no reference implementation
13:12 nothingmuch (e.g. most of the Num role consumers, the Char class, etc)
13:17 fglock nothingmuch: I mean very basic things - like "you need a statement_control table" - the contents of this table can be defined elsewhere, but the table must be defined in the core
13:18 fglock this spec would be rather small, but it needs to be well thought
13:18 svnbot6 r9804 | pmurias++ | %hash was merged in recently; cleaning the old implementation
13:19 pmurias fglock: any thoughts why 08-hash failes, before i begin to fix it?
13:19 nothingmuch fglock: right
13:20 fglock pmurias: all tests pass here
13:20 nothingmuch since if is an expr, is it really a function?
13:20 nothingmuch is x a macro or a builtin?
13:20 nothingmuch etc etc
13:20 nothingmuch what I said was basically what it should be finished as
13:20 nothingmuch and i think you said you wanted the same thing, except you wanted it to start first =)
13:22 fglock nothingmuch: I need a 'skeleton' - what are the things that lrep (for example) must implement, that make it qualify as 'p6' (incomplete or not)
13:23 nothingmuch =)
13:23 nothingmuch exactly what I wanted
13:24 nothingmuch and the reason i wanted it is to help people who are writing things like lrep make the right decisions
13:24 nothingmuch so that they don't have to throw away lots of effort if someone from the design team later clarifies something that was misinterpreted
13:24 nothingmuch what I want is not implementation details
13:24 nothingmuch but the requirements for it
13:25 nothingmuch i think it sounded like i wanted implementation details because i confusingly added a draft for a plan that deals with that too
13:25 nothingmuch but that was conjectural
13:25 nothingmuch and was trying to rationalize my request, not ammend to it
13:25 nothingmuch either way, Good Luck™
13:26 pasteling "pmurias" at 81.168.228.98 pasted "the failing test" (6 lines, 238B) at http://sial.org/pbot/16548
13:26 fglock nothingmuch: do you have something written already? I'd be glad to filter it (ie - remove things that sound like implementation)
13:26 nothingmuch i'll link you to the thread
13:26 nothingmuch makybe you can learn from it
13:26 nothingmuch about what not to do ;-)
13:27 nothingmuch http://groups.google.com/group/perl.perl6.language/browse_frm/thread/611b9cc5940bb0c6/258aaefb7b4f9d9e?q=streamlining&amp;rnum=1#258aaefb7b4f9d9e
13:28 meppl joined perl6
13:29 fglock pmurias: I got a fresh svn up, and still no error
13:30 nothingmuch i think the problem is that everyone replied to the subject of my post except stevan ;-)
13:30 svnbot6 r9805 | fglock++ | PCR - removed CPAN'ed prototype
13:32 pmurias fglock: did the same with PCR and it still fails
13:33 fglock nothingmuch: there is too much in that post - all I need is a base grammar, that strictly matches the synopsis
13:33 nothingmuch yes, i know there is too much in that post
13:33 nothingmuch you want the paragraph that says "Perl 6 Core"
13:33 nothingmuch ;-)
13:34 nothingmuch the minimal bootstrap required to:
13:34 nothingmuch load the prelude
13:34 nothingmuch load grammar extensions
13:34 nothingmuch create macros
13:34 nothingmuch since that's the implementation strategy
13:34 fglock pmurias: 'perl -w -Ilib t/08-hash.t' fails?
13:36 svnbot6 r9806 | pmurias++ | obsoleted by lrep-compiler a long time ago
13:36 fglock nothingmuch: not 'minimal', but 'standard' - even if it is not well specified yet, so it is 'the current standard'
13:36 nothingmuch ah
13:36 nothingmuch well
13:37 nothingmuch i think that's too big for a start
13:37 nothingmuch hell, when I have more free time i'll try to write up some ideas
13:38 fglock nothingmuch: it's not too big - lrep's grammar and pmichaud PGE grammar almost got there - all it needs is a few corrections (and a blessing)
13:38 nothingmuch >= grammar
13:38 nothingmuch it's also behavior
13:39 nothingmuch and semantics
13:39 pmurias fglock: yes, it failes
13:39 fglock nothingmuch: I see - but you have to start somewhere
13:40 nothingmuch fglock: of course
13:41 fglock pmurias: sorry, I don't know. It passes here both in ubuntu and windows XP
13:43 pmurias fglock: I'll try it on feather
13:48 fglock pmurias: it fails in feather
13:48 chris2 joined perl6
13:49 GeJ joined perl6
13:50 Qiang joined perl6
13:52 xinming joined perl6
13:54 svnbot6 r9807 | fglock++ | PCR - fixed 'undefined' capture stringification in Match.pm
13:54 fglock pmurias: fixed
13:55 kolibrie joined perl6
13:57 pmurias fglock: thanks
13:57 nothingmuch denny linked to this in #catalyst: http://www.theregister.co.uk/2006/03/31/ebay_box_sale/
13:57 nothingmuch ++
13:59 fglock nothingmuch: I don't think your "Perl 6 Extended" definition should be implemented as a second step - if you have extensible grammar from the start, the core gets much smaller
14:00 fglock which is why lrep worked
14:02 nothingmuch in my head a viewed them as a single step
14:02 nothingmuch for some reason I chose to separate them on paper
14:02 nothingmuch i don't remember hwy now
14:07 nothingmuch ciao
14:14 hexmode joined perl6
14:20 vel joined perl6
14:29 vel joined perl6
14:36 KingDiamond joined perl6
14:38 audreyt http://www.dan.co.jp/~dankogai/yapcasia2006/lamdaorz3.mov
14:43 vel joined perl6
14:45 audreyt http://perlcabal.org/~autrijus/larry-bugs.mov
14:45 audreyt # same movie
14:46 vel joined perl6
14:48 vel joined perl6
14:50 vel joined perl6
14:54 vel joined perl6
14:54 hexmode joined perl6
14:56 Phiend joined perl6
14:56 vel joined perl6
14:59 Juerd There goes our bandwidth ;)
15:00 Juerd There comes l~r
15:01 Limbic_Region joined perl6
15:01 * Juerd was just tailing the access log, and I saw you login, Limbic_Region
15:01 Juerd In a strange way, that was funny.
15:04 vel joined perl6
15:07 stennie joined perl6
15:07 spo0nman Juerd: thanks.
15:10 Juerd audreyt: For some reason, ~autrijus/~public_html/index.html was the homepage of one of our upstream providers. I deleted it.
15:10 audreyt sure
15:10 Juerd audreyt: I don't know how it got there (could be my mistake), but I also dno't know if you used to have another index
15:10 Juerd If so, it's gone
15:11 audreyt no, I think it's a typo in wget
15:11 Juerd Aha
15:11 audreyt and fallbacks to index.html
15:11 Juerd You have no idea how horrible my thoughts were when I saw it ;)
15:12 Juerd If I were a little more impulsive, I'd have accused them of transproxying ;)
15:12 audreyt heh :)
15:13 Juerd audreyt: And, erm... How to put this... Is it okay with you if I remove the firefly stuff after I download it? :P
15:13 Juerd (And please don't use feather for that)
15:14 audreyt okay, and oay. :)
15:14 audreyt s/oay/okay/
15:14 autark joined perl6
15:15 vel joined perl6
15:18 fordinal hi all :)
15:19 Juerd vel: Please try to fix your connection.
15:19 vel Juerd: Sorry. I am. Should be ok now...
15:25 marmic joined perl6
15:33 xinming joined perl6
15:36 Limbic_Region salutations Juerd - I am glad I can be use as a bit of humor
15:41 geoffb Can someone point me to the timestamp for the discussion of the end of Ref?
15:42 geoffb The commit note left me with more questions than answers ....
15:51 geoffb ?eval 1+1
15:51 Juerd I wonder how the universe is shaped, without a ref type.
15:51 evalbot_9802 is now known as evalbot_9807
15:51 evalbot_9807 2
15:51 Juerd It's quite fundamental to my understanding of Perl 5 and 6
15:51 geoffb Juerd, nodnod, and that's bothering me ...
15:51 Juerd Meaning that it feels like I no longer understand it.
15:52 geoffb Hmmm ... it's been too long.  Is there a "typeof" equivalent?
15:53 justatheory joined perl6
15:53 geoffb ?eval my @bar=(1,2,3); my $foo=@bar; $foo.ref
15:54 evalbot_9807 ::Array
15:54 geoffb Man, evalbot is SLOW
15:56 geoffb I assume I'm on crack here, but it seems to me that without Ref, you can never have more than one level of generic indirection.
15:58 geoffb ?eval my @bar=(1,2,3); my $foo=@bar; my %baz = (a => 1, b => 2); my $quux = %baz; sub test($ref) { $ref.ref } test(rand() > .5 ?? $foo !! $quux)
15:59 evalbot_9807 ::Hash
15:59 geoffb ?eval my @bar=(1,2,3); my $foo=@bar; my %baz = (a => 1, b => 2); my $quux = %baz; sub test($ref) { $ref.ref } test(rand() > .5 ?? $foo !! $quux)
15:59 evalbot_9807 ::Hash
15:59 geoffb ?eval my @bar=(1,2,3); my $foo=@bar; my %baz = (a => 1, b => 2); my $quux = %baz; sub test($ref) { $ref.ref } test(rand() > .5 ?? $foo !! $quux)
16:00 evalbot_9807 ::Hash
16:00 geoffb Clearly I'm using rand() from another language ... sigh
16:01 geoffb ?eval my @bar=(1,2,3); my $foo=@bar; my %baz = (a => 1, b => 2); my $quux = %baz; sub test($ref) { $ref.ref } &test.sig
16:01 evalbot_9807 Error: No such method in class Sub: "&sig"
16:01 geoffb ?eval my @bar=(1,2,3); my $foo=@bar; my %baz = (a => 1, b => 2); my $quux = %baz; sub test($ref) { $ref.ref } &test.signature
16:01 evalbot_9807 Error: No such method in class Sub: "&signature"
16:02 geoffb Anyone remember the right method name to get the signature back from a Routine?
16:02 geoffb hmmmm.
16:02 geoffb ?eval my @bar=(1,2,3); my $foo=@bar; my %baz = (a => 1, b => 2); my $quux = %baz; sub test($ref) { $ref.ref } &test.ref
16:02 evalbot_9807 ::Sub
16:05 siosiosios joined perl6
16:17 nnunley joined perl6
16:18 audreyt geoffb: \3 is now \(3)
16:18 audreyt Arguments.new(positional=>[3])
16:19 audreyt and doing a ${} on Arguments with one positional gives you back that thing
16:21 audreyt geoffb: &code.signature  should return a Signature object
16:21 audreyt still working on drafting its API (as part of perl5/Variable-Bind)
16:21 audreyt will implement it to the hs runcore this weekend
16:23 obra good shower, audrey?
16:23 obra "I didn't know the laptop was waterproof"
16:23 rgs heh
16:26 Juerd Ahhh, waterproof laptop
16:26 ingy hola
16:26 Juerd THAT's what the world needs.
16:27 rgs that, and BUGS
16:27 clkao joined perl6
16:27 theorbtwo toughbook++
16:28 theorbtwo Not that I've ever owned one, but the concept is cool.
16:29 obra mm. love my toughbook
16:29 clkao good morning
16:29 saorge joined perl6
16:30 Juerd audreyt: Ehm, and why?
16:30 Juerd audreyt: Isn't a Ref in terms of implementation much and much and much lighter of weight?
16:31 svnbot6 r9808 | clkao++ |  r12975@ab:  clkao | 2006-03-31 10:10:36 +0100
16:31 svnbot6 r9808 | clkao++ |  Bind named args.
16:31 svnbot6 r9807 | fglock++ | PCR - fixed 'undefined' capture stringification in Match.pm
16:34 svnbot6 r9809 | clkao++ |  r12976@ab:  clkao | 2006-03-31 10:57:49 +0100
16:34 svnbot6 r9809 | clkao++ |  * Data::Bind->sig as helper to create signature.
16:34 svnbot6 r9809 | clkao++ |  * Drop Data::Bind::Arg.
16:34 svnbot6 r9810 | clkao++ |  r12977@ab:  clkao | 2006-03-31 11:11:10 +0100
16:34 svnbot6 r9810 | clkao++ |  Check named parameter requirement as well.
16:34 svnbot6 r9811 | clkao++ |  r12978@ab:  clkao | 2006-03-31 11:15:21 +0100
16:34 svnbot6 r9811 | clkao++ |  adjust tests.
16:34 svnbot6 r9812 | clkao++ |  r12979@ab:  clkao | 2006-03-31 11:51:06 +0100
16:34 svnbot6 r9812 | clkao++ |  high level declaration of subsigs.
16:34 svnbot6 r9813 | clkao++ |  r12980@ab:  clkao | 2006-03-31 13:27:52 +0100
16:34 svnbot6 r9813 | clkao++ |  array subscription support!
16:35 * clkao grins
16:35 Limbic_Region karma whore
16:35 Juerd karma clkao
16:35 Juerd Not worth the trouble :)
16:36 Limbic_Region perlbot karma clkao
16:36 perlbot Karma for clkao: 17
16:36 Juerd Hm, these weren't the first commits, were they?
16:36 * Limbic_Region thinks perlbot has been configured to ignore karma from svnbot6
16:37 Limbic_Region and the other bot isn't around apparently
16:37 Limbic_Region which sucks cause
16:37 Limbic_Region seen Juerd
16:37 Limbic_Region doesn't work
16:38 Phiend left perl6
16:40 clkao i just noticed today @a = <a b c> actually works in perl5
16:40 Limbic_Region I asked the other day but no one answered so I will ask again
16:41 Limbic_Region is IO::Select and/or IO::Socket::INET currently ported and if not, is Pugs currently up to the task?
16:42 Limbic_Region at least in 5.8.8 clkao
16:43 PerlJam clkao: for varying definitions of "work" :-)
16:47 Limbic_Region perl -Mwarnings -Mstrict -e "my $foo = 'foo';my @bar = <a b $foo>; print $_, $/ for @bar"
16:47 gaal hahaha
16:47 gaal # http://blog.livedoor.jp/dankogai/mov/lamdaorz.mov
16:47 Limbic_Region PerlJam - what definition of work doesn't it meet?
16:48 PerlJam Limbic_Region: when a b or c is really a sequence that contains * or ? or an appropriate {...} or [...]
16:49 PerlJam Hmm.  actually, I'm not sure if glob understands {...}
16:49 rgs it does
16:49 rgs perl -le 'print for <a{b,c}>'
16:49 rgs (I have abused this.)
16:49 PerlJam rgs: oh that's right ... that's how you get permutations
16:50 marmic joined perl6
16:55 * Limbic_Region doesn't like that <> is used both for glob and for readline synonyms
16:56 PerlJam Limbic_Region: yep.  It's a good thing perl6 fixes that.
16:57 Limbic_Region so no ideas on if IO::Select and IO::Socket::INET are currently doable in Pugs?
16:58 * Limbic_Region would consider re-writing hundreds lines of code (p5 -> p6) if they were
16:59 FurnaceBoy joined perl6
16:59 PerlJam Dunno, but it seems to me than te perl6 implementations would be much smaller :)
17:00 PerlJam s/te/the/
17:02 justatheory joined perl6
17:09 pmurias perlbot karma pmurias
17:09 perlbot Karma for pmurias: 4
17:18 geoffb audreyt, I guess I was just trying to understand how we can say that $foo = @bar makes $foo contain a reference to the Array, but not have a Ref type, especially as that leaves me wondering about the signature of a routine that can take references of multiple types ...
17:20 geoffb If we punt and say $foo is a Scalar, that breaks my mental model that Scalar is a junction of other types
17:24 kisu joined perl6
17:28 renormalist joined perl6
17:45 pdcawley joined perl6
17:55 KingDiamond joined perl6
18:02 pmichaud joined perl6
18:06 notivan joined perl6
18:09 zgh joined perl6
18:13 ruoso joined perl6
18:21 PerlJam http://www.perlmonks.org/index.pl?node_id=540390  TPF needs more grant proposals
18:21 pmichaud hello, perljam
18:21 PerlJam hey pm.  How goes?
18:22 pmichaud goes well
18:22 PerlJam Have you applied for a TPF grant lately? :-)
18:22 pmichaud was just thinking about that :-)
18:23 GeJ_ joined perl6
18:24 pmichaud but I think I'll decline for now, unless there's a specific project someone thinks I ought to be working on :-)
18:25 pmichaud I think I'd be happy to mentor a grant for someone else who wants to work on the p6 compiler, however :-)
18:25 pmichaud I've got a list of short tasks I'm putting together now, and maybe someone could pick a worthy task from the list and get a small grant for it
18:26 PerlJam you could get grant money to work on things you're already working on (though there will be the extra added benefit of a deadline and a progress report or an end-of-project report)
18:27 pmichaud well, I'll take a look at my list a bit later and see if anything is worth a proposal :-)
18:27 ko1_ is now known as ko1_away
18:28 pmichaud well, I need to go grab some lunch -- be back in an hour
18:29 weinig_ joined perl6
19:28 Grrrr joined perl6
19:34 kral joined perl6
19:35 kvakke joined perl6
19:41 GeJ_ is now known as GeJ
19:54 kral left perl6
19:56 Limbic_Region joined perl6
19:57 fglock back
19:57 Limbic_Region front
19:57 Limbic_Region side-to-side
19:58 pmurias joined perl6
20:01 * fglock looks around and see L~R everywhere
20:15 PerlJam fglock: are you saying Limbic_Region is fat?
20:15 PerlJam ;-)
20:15 * Limbic_Region is
20:15 Limbic_Region too fat in fact - being married will due that to you
20:16 wolverian okay, I just came home to find the most bizarre video ever in my inbox...
20:16 Limbic_Region "Success goes to your head, happiness to your hips" - Tye McQueen
20:17 fglock :)
20:22 Odin- Limbic_Region: Too bad it doesn't work the other way around, too. :D
20:26 FurnaceBoy lol@Limbic_Region
20:37 FurnaceBoy is now known as FB|afk
20:53 hlen joined perl6
21:00 larsen joined perl6
21:00 SamB joined perl6
21:05 kanru joined perl6
21:12 mj41_ joined perl6
21:18 vel joined perl6
21:19 * fglock wonders if porting lrep do parrot would do any good
21:19 pmichaud Could be -- what would lrep need to do there?
21:21 fglock pmichaud: I'm just wondering. lrep has it's own grammar engine, but it could use PGE instead. I'm just thinking aloud.
21:21 pmichaud thinking aloud is good :-)
21:22 ruoso fglock, I think lrep can be a way to self-host it in parrot
21:22 ruoso as soon as lrep is self-hosted in perl5
21:22 ruoso it can be ported to parrot
21:22 fglock pmichaud: is there a chance to get a TPF grant for lrepish work?
21:22 pmichaud I'm not on the TPF grants committee, nor do I have experience with such things, so I'm not the person to ask :-)
21:22 pmichaud sorry
21:23 pmichaud however, I would strongly encourage an application :-)
21:23 PerlJam fglock: IMHO, I would say "yes, there's a chance"
21:23 * ruoso still think using perl5 runtime is the easiest way to self-host Perl 6
21:24 fglock pmichaud: how about writing a 'high level' grammar - not committed to PGE/Pugs/PCR compatibility - I think it would provide a view of what the grammar engines should targe
21:24 fglock target
21:24 pmichaud fglock -- well, the grammar for PGE is supposed to be at high-level grammar of sorts, or at least that's the way I've been thinking of it
21:25 pmichaud I guess the exception would be the operator precedence parser, which could theoretically be done purely with rules
21:25 fglock pmichaud: like, the 'if' statement is supposed to be a macro
21:25 pmichaud is it?
21:25 * ruoso don't see like this too
21:26 pmichaud yes, S04 has it that way
21:26 fglock s04 - macro statement_control:<if> ($expr, &ifblock) {...}
21:26 PerlJam coming up with a testing framework for  the perl6 parser sounds like TPF grant fodder ;)
21:26 pmichaud well, pj, there's two ways to go about that
21:26 fglock it is implemented (poorly) as a macro in lrep
21:26 pmichaud first, we could come up with a framework to test the parser
21:27 pmichaud but another way to test is to just get a runtime environment, and then we test the result of the thing being parsed :-)
21:27 FurnaceBoy_ joined perl6
21:27 PerlJam pm: I prefer the latter. :)
21:27 pmichaud perljam: so do I, which is why I haven't been jumping to the former :-)
21:27 ruoso pmichaud, isn't perl 5 is the nearest candidate to a runtime environment?
21:27 pmichaud ruoso: Parrot's not that far off
21:28 PerlJam Though a generalized testing framework that works on all of the various tree-structures would be useful across many sub-projects
21:28 pmichaud perljam: oh, I agree with that, but I suspect it'll come out of TGE
21:29 fglock the reason for defining 'if' as a macro is extensibility - and you don't need to define statements and functions into the base language
21:29 fglock s/statements/all statements/
21:30 PerlJam ruoso: how do you figure that perl5 is the nearest candidate?
21:30 pmichaud fglock: well, I can do some of that without necessarily having to be a macro:    rule statement { %statement_control }
21:30 ruoso PerlJam, well, almost all Perl 6 concepts are implemented in Perl 5 in some way... we just need to translate it...
21:31 ruoso Perl6::* modules
21:31 ruoso and PCR...
21:31 pmichaud ruoso:  I'm not saying that you're wrong about perl 5 as the best runtime environment.  however, I know that many programmers who I consider to be much better than I attempted to do it in Perl 5, and decided it wouldn't work and that a new approach (i.e., PGE) was needed
21:31 ruoso pmichaud, hmmm...
21:32 pmichaud that's the point at which I joined the perl 6 project, and that's the advice I was given by the design team :-)
21:32 PerlJam ruoso: From my perspective, there's too large of an impedence mismatch between perl5 and perl6 for many concepts.  (though PCR is moving right along so I could be way off base)
21:33 pmichaud on the other hand, perl 6 has evolved a lot since 2004, especially in the area of S05 and the way rules are implemented, so that what was attempted prior to 2004 may not be relevant
21:33 pmichaud i.e., implementing a P6 rules engine in P5 might change that dynamic a fair bit.
21:33 ruoso I think PCR could be the missing part...
21:33 pmichaud ruoso: Indeed, it could be.
21:34 PerlJam ruoso: perhaps.
21:34 fglock pmichaud: the original PCR (iterator_engine.pl) was designed for portability - I was thinking about porting it to javascript :)
21:35 pmichaud ruoso: I'm highly appreciative (and hope to encourage) other efforts like lrep and PCR, even if I'm not contributing directly.  But for the moment my perception is that the design team wants to continue on the path we've defined, so that's where I've continued to work
21:35 PerlJam fglock: well .... why couldn't you have invented it 2 years ago?!?  ;-)
21:35 pmichaud perljam: because S05 wasn't fully speced 2 years ago :-)
21:35 ruoso maybe I just doesn't have a clue of what I'm saying... but I can't see anything that really stops Perl 6 from being translated to Perl 5
21:35 PerlJam pm: pshaw! a mere technicality!  ;)
21:36 pmichaud perljam: not so much a technicality.  My first 6-8 months of working on things was spent exploring the unexplored corners of the S05 that existed then
21:36 pmichaud and finding that the whole capture structure was totally underspeced
21:36 PerlJam ruoso: Well, nothing *stops* it, though there are things that could offer large amounts of resistance.
21:36 PerlJam ruoso: Turing equivalences and all.
21:37 ruoso PerlJam, ok... I'm not talking in this level...
21:37 pmichaud ruoso:  I don't think you're clueless in this respect;  part of me thinks that with what I know now from PGE that I could probably build something in Perl 5 as well
21:38 pmichaud ruoso: but Perl 6 encompasses more than just getting a running version of Perl 6 -- we're also after language interoperability, and runtime performance improvements, and for that our best target is the Parrot runtime engine
21:38 ruoso pmichaud, sure...
21:38 ruoso but that's a dillema
21:38 PerlJam pm: heh, you'd better watch where you sling that "best target" around here  :-)
21:39 PerlJam the lambda camels have increased the options available to us
21:39 ruoso OTOH, if we self-host something small we can port to almost anything
21:39 pmichaud pj: good point.  However, I'm not the one making that particular decision; I'm just repeating what I'm told there :-)
21:40 pmichaud ruoso: I think that parrot was intended to be the "something small" that could be ported to almost anything :-).
21:40 ruoso the question is (and Pugs confirm that): having something to mature the language itself is as important as having a good vm
21:41 PerlJam pm even with that big rock of ICU tied around its neck?
21:41 pmichaud PerlJam: I believe the plan was to come up with a lighter-weight version of ICU at some point -- parrot's just using ICU because it's readily available
21:41 pmichaud but I'm not the parrot designer -- see #parrot for that :)
21:42 ruoso so, if it's easier to implement Perl 6 in perl 5 and then port it to parrot... good... even if we don't have the inter-operability in the first moment...
21:42 pmichaud ruoso:  I have no problem with having multiple interpreters/compilers for Perl 6 -- that's part of the point
21:43 pmichaud ruoso: at the moment I'm not sure that it'll be easier to do p6 on p5 than it will to do p6 on parrot.  (I'm not sure that parrot will be easier either.)
21:43 pmichaud ruoso:  either way, it's good to progress on two or more fronts
21:43 zgh heh that's why p6 is a language and p5 is merely a tool
21:43 * zgh ducks.
21:43 PerlJam As far as perl6 goes, I think it's kind of a race.  Whoever gets the full-circle bootstrapping that includes a rules engine of some sort done first, gets us a real, honest to goodness perl6.
21:44 pmichaud I don't see it as a race, just as complementary efforts with different targets
21:44 PerlJam whether it's through parrot, or perl5, or haskell or javascript or COBOL doesn't matter.
21:44 PerlJam pmichaud: well, it's like a cooperative race where everyone is helping everyone else make it to the finish line.
21:45 fglock PerlJam: that sounds better
21:46 pmichaud fglock: back to the notion of "higher level" grammar -- that's what I hope to be producing w/PGE in the long run
21:46 ruoso I don't know much of parrot state... how far is it to be able to self-host a rule-parser with at set of rules in Perl 6 and a script that matches a string with these rules and emit parrot bytecode?
21:46 pmichaud ruoso: not far at all.  PGE does it for PGE
21:47 pmichaud Allison is doing it with punie, and Coke is doing it with APL
21:47 PerlJam pmichaud: Yeah, PGE has gotten us through the first 90% ... now we just need to make it through the next 90%  ;)
21:51 pmichaud and, we're doing it while hamstringing ourselves with the notion that we don't just want to get working implementations of these languages, we want to develop the intermediate tools for implementing other languages at the same time
21:51 fglock pmichaud: the idea would be to define subs in p6, with 'eval( ..., lang<parrot> )' where necessary, for example
21:52 pmichaud fglock: based on the conversation yesterday with audreyt, I thought we were going to use a small set of p6 primitives in rule closures and limit ourselves to that
21:53 pmichaud (besides, it's already possible for PGE to call subs from within rules :-)
21:53 PerlJam pm: you know how the cabal are always asking each other if they're blocking on anything?  In my lurking, it seems like it's usually short-term blockages that are addressed.  Has anyone looked at the "big picture" for long-term blockage?  For instance, I know that parrot still needs threads. How does not having them hurt us in the long run?
21:53 fglock pmichaud: yes, for the grammar - this is for the library
21:53 pmichaud which library?  You mean the perl 6 library?
21:54 PerlJam If anyone has thought these things through, it would be good to add projects to the TPF idea pool for grants that alleviate the blockage
21:54 LeTo PerlJam: not having threads now and in a near future doesn't harm at all, we'll have them, when needed
21:54 pmichaud PerlJam: I don't think it hurts us much at all -- I think that parrot is just trying to avoid committing to a bad model, and all we have so far are models that have at least one undesirable feature
21:55 pmichaud when we need it, we can pick the model then and go
21:55 pasteling "fglock" at 200.17.89.80 pasted "snippet from http://svn.openfoundry.org/pugs/misc/pX/Common/Pugs-Compiler-Rule/lib/Pugs/Grammar/Category.pm" (13 lines, 309B) at http://sial.org/pbot/16555
21:55 fglock pmichaud: that's the interface between the grammar and the p6 library
21:57 pmichaud s/the/an/, perhaps :-)
21:57 fglock as being proposed/implemented by PCR
21:57 LeTo fglock: please update docs/{notes,quickref} ;)
21:58 fglock it would be nice to have a 'standard' way to do this (Sxx)
21:58 pmichaud I'm not sure that closures like this are the best way to go for the grammar
21:58 fglock LeTo: this is a snippet from the pod
21:58 pmichaud in general
21:58 LeTo it's not really obvious in which of the src files a current relevant interface spec is hidden
21:59 pmichaud for one, I'm not sure what happens when we get to a compiled form
21:59 LeTo fglock: no it is misc/pX/Common/Pugs-Compiler-Rule/lib/Pugs/Grammar/Category.pm ;)
21:59 * ruoso is convinced to try to port lrep to parrot...
21:59 pmichaud i.e., if we compile something down to bytecode, but we depend on manipulating <category> as part of the parse, then we lose that information if/when we're no longer doing a parse
22:00 LeTo why should anybody search there ;)
22:00 pmichaud of course we can work around it, but by definition "work around" may mean that this isn't the best approach.  (Again, not saying it is/isn't, just that there may be other constraints to consider)
22:00 fglock <category> would be saved to bytecode - we need it for runtime extensibility, at least
22:01 pmichaud but category already has lots of entries in it
22:01 fglock but it is not used after the parse
22:01 pmichaud what about eval?
22:01 fglock unless you need to parse at runtime - yes (eval)
22:02 pmichaud we can't just dump <category> to bytecode, because ther ecould be multiple bytecode modules manipulating it
22:02 fglock category is lexical (as the grammar itself)
22:03 pmichaud hmmmm
22:04 pmichaud I'll think about it some more.  But I'm not convinced that having these sorts of manipulationed defined directly in the "high-level" grammar is the way to go here
22:05 pmichaud s/tioned/tions/
22:05 pmichaud I'd prefer a generic dispatch mechanism that just passes the match to be handled by the underlying system
22:06 pmichaud that doesn't depend on having a working p6 procedure call interface underlying it :-)
22:06 pmichaud s/procedure/method/
22:08 fglock this is working at the parser level - it does not depend on a working p6
22:08 fglock it uses the 'simple p6' return block
22:08 pmichaud        $<category>.add_op( name => $<name>, fixity => ..., precedence => ... );
22:08 pmichaud isn't 'simple
22:09 PerlJam If you ask me, it's some form of greek or latin
22:10 PerlJam And what are <options> exactly, and how do they fit in?
22:10 pmichaud pj: it's a snippet -- <options> is defined by another rule somewhere :-)
22:10 fglock PerlJam: see the link
22:11 LeTo pmichaud: then it's a Klingon dialect
22:11 pmichaud LeTo: I'll get Damian on it right away :-)
22:11 LeTo yup
22:11 PerlJam Then I guess I'm having trouble distinguishing {}-as-closure from {}-as-definition or something
22:12 pmichaud perljam:   rule prototype { ... }
22:12 pmichaud everything within the outer { ... } is part of the rule definition
22:12 nnunley joined perl6
22:12 pmichaud it's matching "proto", <category>, <name>, and <options>, and if it matches the inner curlies are a closure to be executed
22:13 PerlJam right, I get it.  I'm just distracted.
22:16 fglock it's not much different from the PGE precedence parser
22:17 pmichaud another reason I'm not too fond of putting the closure directly in the grammar is that parsing a statement automatically modifies the grammar, and there might be times I don't want to do that
22:17 fglock at the API level
22:17 pmichaud parsing a statement should be separate from evaluating it
22:18 fglock pmichaud: you should discuss that with audreyt - or audreyt should discuss with allison :)
22:18 pmichaud I will, if it comes up :-)
22:19 pmichaud but just because I'm interesting in parsing something that is  <Perl6::prototype>  should imply that I'm automatically evaluating it
22:19 pmichaud s/should/shouldn't
22:19 viewer joined perl6
22:19 pmichaud it may be that I want to immediately evaluate it after the parse, but that shouldn't be required
22:20 pmichaud that's why I think audreyt chose the perl 6 primitives that she did -- the operations are all just bindings of a sort, none of them "modify" anything
22:20 pmichaud i.e., no assignments
22:23 ruoso left perl6
22:23 fglock it would modify the category that is associated to the match - this doesn't look much wrong either - but I wish audreyt were here because it was mostly influenced by her ideas
22:24 fglock I just found a way to implement it
22:24 pmichaud I'm of the opinion that such modification should happen at a slightly later stage, not as part of the parse
22:25 fglock but then you would not have the precedence info for parsing the next statement
22:25 fglock unless you delayed it
22:25 pmichaud or have some other mechanism for immediately executing it :-)
22:26 pmichaud which doesn't have to be a perl6 closure :-)
22:26 fglock you could pipe the parser to the evaluator using coroutines...
22:27 pmichaud You can overload <commit>.
22:27 pmichaud rule prototype { proto <category>:name <options> <commit> }
22:27 pmichaud (although more likely the commit occurs after rule statement
22:30 pmichaud for now I'm just saying that there are other ways of getting what we need besides putting perl 6 closures in the middle of the grammar rules
22:30 pmichaud or at least I think there are other ways -- time may disprove me
22:30 fglock yes - discussing implementation details means we are agreeing
22:31 pmichaud for example, yesterday on #parrot audrey and I were talking about how to parse integers
22:31 pmichaud audrey had     rule integer { <sign> <natural> }
22:31 Chris_ joined perl6
22:32 pmichaud rule natural { 0 : [ <hex_natural> | <octal_natural> | <decimal_natural> | {return 0;} ] }
22:32 pmichaud (or something like that)
22:32 pmichaud where each of the subrules had its own closure
22:32 Chris_ hello
22:32 pmichaud I preferred    rule   integer { <sign> <natural> { return +$(); } }
22:32 pmichaud which left the conversion up to the numification of strings
22:33 pmichaud instead of having a separate one for hex, decimal, octal, etc.
22:33 pmichaud that to me is a "simple" closure -- easy to implement, assumes that there's a numification operator on strings (which we need anyway)
22:34 pmichaud it also doesn't interfere with parsing
22:35 pmichaud i.e., we can still get the separate <sign>, <natural>, etc. components for some language that just wants to parse a perl 6 construct but doesn't necessarily want to immediately evaluate it
22:38 fglock it could { return proto($/) } and lazy-evaluate the prototype when needed - there is no need to use a complicated API
22:38 pmichaud oooh, that's not too bad
22:38 pmichaud we didn't have sub-calls in the p6primitives, but we may want them
22:38 fglock is there a spec for p6primitives?
22:39 pmichaud not beyond what audreyt said yesterday
22:39 pmichaud (at least, I'm not aware of any other spec)
22:39 pmichaud and I think the idea is that we as grammar authors will collectively decide what we need and what we can forego
22:40 pmichaud but I really prefer to keep closures in the grammar to a minimum, from a parsing perspective at least
22:40 fglock subs are nice because you can implement in any language
22:41 pmichaud yes, this is the approach that I've been taking with the parrot-based stuff -- anything that was too difficult to do in a top-down or bottom-up parse could be relegated to a special-purpose sub if needed
22:42 pmichaud to be used sparingly, if at all, but available for bootstrapping or things that are just a pain
22:42 pmichaud (string parsing comes to mind)
22:43 fglock oh, I need to go
22:43 fglock thanks!
22:43 pmichaud thank you!
22:43 fglock left perl6
22:46 FurnaceBoy_ is now known as FurnaceBoy
22:55 nnunley joined perl6
23:10 hlen joined perl6
23:11 autark joined perl6
23:18 chovy joined perl6
23:30 chovy hello
23:33 drrho joined perl6
23:46 TimToady audreyt: %hash .= sort maybe oughta transmute %hash to an autosorting hash that remembers the sort criterion sufficiently well to keep new entries sorted as well, or at least resorts on traversal.
23:49 damn_I_am_good joined perl6
23:56 Juerd TimToady: I think the abstraction that turned references into argumentlists makes thinks harder to understand, and smells like inefficiency (regardless of actual performance)
23:57 TimToady I don't.
23:58 TimToady .oO(at least I think I think don't...)
23:59 TimToady In a way, this is actually closer to how Perl 5 works.  Perl 5 has no official Ref type.
23:59 TimToady It's just part of the infrastructure.

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

Perl 6 | Reference Documentation | Rakudo