Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-03-11

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:05 thoughtpolice joined #perl6
00:10 meppl good night
00:32 bsb joined #perl6
00:36 thoughtpolice joined #perl6
00:41 thoughtpolice joined #perl6
01:02 Schwern joined #perl6
01:05 lyokato_ joined #perl6
01:23 mncharity joined #perl6
01:27 phil__ joined #perl6
01:30 phil__ left #perl6
01:32 mncharity oh, yay.  rakudo parser getting attention.  that makes the next bit a little less nutty...
01:42 Juerd_ Nutty?
01:56 mncharity re nutty, my line for this evening was going to be "ok, I'm getting really tired of the struggle to get a usable p6 parser on which to stand.  the foundation for a rapid backend bootstrap.  using a "simple and direct to p5" emitter/runtime.  so let's just pretend that we know the scraped rakudo parser is strong enough to support the bootstrap.  even though
01:58 mncharity we don't yet.  and it's not clear there are the resources fix that if it becomes a blocker.  I'm just going to pretend for a bit, and sketch out the full bootstrap.  perhaps it will attract resources.  and even if rakudo parse doesn't work out, I'm leaning towards then falling back to
01:59 mncharity the "pretend ruby is a p6 dialect, and its parse tree a p6 parse" approach.  I need the backend bootstrapped into p6 this week for next to be free for rx and prelude work.  so finger's crossed, we'll see how it goes."
02:01 mncharity that was going to be the vision.  having something else pushing to improve the parse, and finding resources for it, takes the edge off the biggest risk - "cute sketch, but can't really parse, so utterly useless".
02:04 mncharity rakudo --target=parse -> scrape -> ir -> emit direct to p5.  supporting enough p5-ish oo to then immediately translate the scraper, ir, and emitter into p6.
02:08 mncharity the largest hunk of effort is the scrape -> ir.  the rakudo parser nodes aren't tagged with their originating rules, so a big 'node was labeled X and has fields A B C' -> so that's a DumbIR::ForLoop node.  Then emitting a p5 for loop is comparatively trivial.
02:10 mncharity the largest risk is that you start handing the rakudo parser simple class declarations for the scrapper/ir/emitter, and find out, well... thing Q isn't quite working yet... and thus descend into the "trying to write p6 oo code while working around p6 implementation bugs" which has squandered so much effort on pugs.
02:11 mncharity Juerd_: thus, nutty. :)
02:12 mncharity building a house on unchecked foundations in the hope that even if it can't stand, it attracts developers/homesteaders.
02:13 Psyche^ joined #perl6
02:24 Juerd_ mncharity: Whoa, I come back and find your monologue. Great explanation, though :)
02:25 Juerd_ Interesting strategy too.
02:26 stevan__ joined #perl6
02:27 mncharity :)
02:31 jhorwitz joined #perl6
02:39 mncharity the idea would be to then translate yet_another_regex_engine from p5 to p6, extending it a bit, then take the rakudo p6 grammar, and you have a full and usable bootstrap.  which works on anything p5-like (ruby, common-lisp, etc).  then address need for better grammar and ir and emitter/runtimes, working in p6.
02:41 mncharity or I suppose could translate PCR instead of yare.  I'll likely do yare, though if someone else does PCR first, would use that instead. :)
02:41 thoughtpolice joined #perl6
02:53 Zygo joined #perl6
02:58 pbuetow joined #perl6
03:03 lidden joined #perl6
03:03 marmic joined #perl6
03:03 devogon joined #perl6
03:03 ilogger2_ joined #perl6
03:03 c9s joined #perl6
03:03 jrockway joined #perl6
03:03 pjcj joined #perl6
03:03 zev joined #perl6
03:03 wolverian joined #perl6
03:03 jnthn joined #perl6
03:03 awwaiid joined #perl6
03:03 yves joined #perl6
03:03 mofino joined #perl6
03:03 Yappo_ joined #perl6
03:03 ingy joined #perl6
03:03 perlbot joined #perl6
03:05 jnthn joined #perl6
03:06 ingy joined #perl6
03:14 peepsalot joined #perl6
03:45 _SamB_ joined #perl6
03:47 charsbar_ joined #perl6
03:47 pugs_svnbot r20098 | putter++ | misc/winter_jig/ast_rakudo/scrape: start mutation into a backend bootstrap.
03:47 pugs_svnbot diff: http://dev.pugscode.org/changeset/20098
03:47 lambdabot Title: Changeset 20098 - Pugs - Trac
03:47 mncharity very crufty, but end of day.
03:52 mncharity ./scrape -e '3'  will show the --target=parse dump, a hash version of same, another with tags added, the tags which weren't recognized (all of them), and some placeholders (for IR and emitted p5).
03:52 mncharity good night &
03:53 mncharity ./scrape FILE  also works.
03:54 mncharity err, should work.  untested... "and so doesn't work, by definitition".
03:55 Lorn joined #perl6
04:14 luqui joined #perl6
04:20 RayMagini joined #perl6
04:28 justatheory joined #perl6
04:45 alc joined #perl6
04:45 thoughtpolice joined #perl6
05:04 lyokato_ joined #perl6
05:15 lambdabot joined #perl6
05:33 TimToady update: it's not B12 deficiency, but likely some kind of GI bleeding, since my hemoglobin dropped over the last week.  more tests likely tomorrow, and not the pleasant sort...
05:36 PerlJam yikes!
05:36 * PerlJam dccs some warm fuzzies to TimToady
05:36 PerlJam (it sounds like you need them)
05:39 kanru joined #perl6
05:47 stevan_ joined #perl6
06:05 xinming joined #perl6
06:11 devogon_ joined #perl6
06:12 lambdabot joined #perl6
06:12 spinclad TimToady's GI tract: get well soon please!
06:28 Jedai joined #perl6
06:33 bsb joined #perl6
06:53 lambdabot joined #perl6
06:55 allbery_b yug
06:57 lambdabot joined #perl6
07:52 Aankhen`` joined #perl6
07:56 meppl joined #perl6
08:07 iblechbot joined #perl6
08:50 penk joined #perl6
09:17 xinming_ joined #perl6
09:38 ruoso joined #perl6
09:50 rakudo_svn r26309 | allison++ | [pdd17pmc] Merging the pdd17pmc branch into trunk (r24435 to r26307).
09:52 ebassi joined #perl6
10:14 ebassi joined #perl6
10:46 masak joined #perl6
11:02 chris2 joined #perl6
11:09 rindolf joined #perl6
11:38 devogon joined #perl6
11:47 pbuetow joined #perl6
11:54 smtms joined #perl6
12:12 iblechbot joined #perl6
12:21 pbuetow joined #perl6
12:28 cmarcelo joined #perl6
12:30 clintongormley joined #perl6
12:44 pugs_svnbot r20099 | ruoso++ | [smop] Finally, the issue was solved. All tests pass again, and now we have the lowlevel scalar implementation working.
12:44 pugs_svnbot diff: http://dev.pugscode.org/changeset/20099
12:45 lambdabot Title: Changeset 20099 - Pugs - Trac
12:47 gbacon joined #perl6
12:54 pugs_svnbot r20100 | ruoso++ | [smop] two small memory leaks fixed.
12:54 pugs_svnbot diff: http://dev.pugscode.org/changeset/20100
12:54 lambdabot Title: Changeset 20100 - Pugs - Trac
12:56 ruoso it's interesting to note that test/11_lowlevel_scalar.sm0p already uses the SMOP__SLIME__CurrentFrame.move_capturize operation...
12:56 FurnaceBoy joined #perl6
13:21 rhr joined #perl6
13:37 hanekomu joined #perl6
13:49 Helios joined #perl6
13:54 Helios_ joined #perl6
13:56 rindolf joined #perl6
14:01 Lorn joined #perl6
14:07 ebassi joined #perl6
14:15 eternaleye joined #perl6
14:18 ebassi joined #perl6
14:35 jhorwitz joined #perl6
14:37 TJCRI joined #perl6
15:01 peeps[work] joined #perl6
15:33 ruz joined #perl6
15:36 Aankh|Clone joined #perl6
15:38 jferrero joined #perl6
15:59 TJCRI joined #perl6
16:07 ruoso [particle], BTW... I managed to fix the KP6 sm0p implementation... but it would still be nice to have it working with rakudo instead, as rakudo's performance is much better than KP6
16:08 ruoso and rakudo seems to be able to work with a closer-to-STD grammar than KP6 (as you can see in the differences between Grammar.pm and KP6sm0p.p6...
16:10 iblechbot joined #perl6
16:12 cognominal_ I am working to support self in inner method blocks by declaring as a lexical variable
16:12 cognominal_ in rakudo
16:14 cognominal_ necessary for any but trivial p6 code in rakudo
16:16 PerlJam you mean $self or was the "lexical variable" part just an implementation detail?
16:17 cognominal_ this will be an implementation detail
16:17 ebassi joined #perl6
16:19 cognominal_ blocks are defined as subs with outer context.
16:22 ebassi joined #perl6
16:25 mncharity joined #perl6
16:30 pmurias joined #perl6
16:33 pmurias ruoso: do you think it would be worth to have smop RI declarations in some sort of a declarative way?
16:35 pmurias a DSL like %method SMOP__ID__FETCH\n...code..\n%method SMOP__ID__DESTROYALL\n
16:35 ruoso pmurias, maybe... writing the cascading ifs may be quite boring....
16:36 ruoso but that's why there will be s1p after all
16:37 pmurias i can try to come up with/implement something and see if it works
16:39 cosimo joined #perl6
16:41 marmic joined #perl6
16:41 pmurias ruoso: why do we need s1p?
16:42 ruoso pmurias, because writing sm0p is boring also ;)
16:42 pmurias i mean how is it diffrent from p6
16:42 ruoso http://www.perlfoundation.org/perl6/index.cgi?smop_s1p_language
16:42 lambdabot Title: SMOP s1p Language / Perl 6
16:42 ruoso it's a simplification
16:42 ruoso not of the syntax
16:42 ruoso but of the runtime
16:43 stevan_ joined #perl6
16:43 ruoso pmurias, take a look at the fibonacci example
16:47 pmurias ruoso: i remember, because the object metamodel and related stuff aren't loaded yet, right?
16:47 ruoso yep...
16:48 ruoso it's what MOP.pm does in KP6
16:53 Jamtech joined #perl6
16:57 FurnaceBoy joined #perl6
16:57 clintongormley left #perl6
16:57 b2gills joined #Perl6
16:59 pmurias ruoso: is the order of methods accidential or intensional?
16:59 pmurias i.e. the most common ones first?
17:00 ruoso pmurias, order where?
17:01 pmurias in foo_message
17:01 ruoso it's in random order ;)
17:07 justatheory joined #perl6
17:12 BinGOs joined #perl6
17:15 meppl joined #perl6
17:15 pugs_svnbot r20101 | putter++ | ast_rakudo/scrape becomes elf_on_rakudo/elf_zero_generate.pl.  Switch to metaprogramming because while the ruby elf_zero doesn't need it, the p6 elf_one will.
17:15 pugs_svnbot diff: http://dev.pugscode.org/changeset/20101
17:15 lambdabot Title: Changeset 20101 - Pugs - Trac
17:15 pmurias ruoso: where should i put the translator and and example of how smop_s1p_scalar.c would look like with it?
17:18 meppl joined #perl6
17:19 * mncharity ponders forking the kp6 ast...
17:20 pmurias mncharity: what do you want to change?
17:20 pugs_svnbot r20102 | pmurias++ | [sm0p] a proposal for more declarative RI description
17:20 pugs_svnbot diff: http://dev.pugscode.org/changeset/20102
17:20 lambdabot Title: Changeset 20102 - Pugs - Trac
17:20 ruoso pmurias, you can create a new root level dir
17:22 mncharity pmurias: not to change, just to decouple.  elf needs an IR.  infrastructure already exists to metaprogram a kp6 one.  forking the code just isn't warm fuzzies. :/
17:23 pmurias ruoso: i'm not sure if the translator is actually usefull
17:24 eternaleye joined #perl6
17:24 mncharity lazy forking, waiting until there is a change, seems too messy.
17:24 mncharity ah well.
17:26 cognominal_ IR?
17:27 pmurias itermidate representation
17:27 pmurias mncharity: you might want to fork it to avoid havind a Pad
17:28 spinclad forking could be good if it leads to convergence down the road; if it gives room to develop a common AST; to clone for another domain (elf, if i read right)
17:28 mncharity re Pad, :)
17:28 rindolf joined #perl6
17:28 mncharity re flexibility for convergence, indeed.
17:29 rdice joined #perl6
17:29 pmurias * having
17:31 spinclad fork-and-merge kp6, rakudo, pugs ASTs...
17:31 spinclad (just to speak of our own)
17:34 pugs_svnbot r20103 | putter++ | Fork ../ast_kp6/'s node definitions, to become the basis for a new IR.
17:34 pugs_svnbot diff: http://dev.pugscode.org/changeset/20103
17:34 lambdabot Title: Changeset 20103 - Pugs - Trac
17:40 pugs_svnbot r20104 | putter++ | [elf_on_rakudo] Get imported kp6_ast infrastructure working.
17:40 pugs_svnbot diff: http://dev.pugscode.org/changeset/20104
17:40 lambdabot Title: Changeset 20104 - Pugs - Trac
17:40 mncharity re common ast, I suspect we may end up with more than one, just like many compilers have multiple intermediate representations, because different organizations lend themselves to different kinds of use.
17:41 mncharity but it would be nice to avoid entropy by historical artifact. :)
17:55 barney joined #perl6
18:20 peepsalot joined #perl6
18:20 TJCRI joined #perl6
18:28 FurnaceBoy joined #perl6
18:33 rindolf joined #perl6
18:37 Psyche^ joined #perl6
18:44 IllvilJa joined #perl6
18:58 b2gills I wonder if anyone has information about cross compiling a WIN32 parrot on a linux distribution, I already have the MingW GCC.
19:08 barney I don't. You might want to ask in #parrot on MagNet.
19:12 spinclad on irc.perl.org
19:12 spinclad (is that MagNet?)
19:15 buchetc joined #perl6
19:25 rindolf spinclad: yes, it's MAGNet
19:41 pugs_svnbot r20105 | putter++ | misc/winter_jig/elf_on_rakudo: first light - ./elf_zero_generate.pl -e '3' makes it through the pipe to p5.
19:41 pugs_svnbot diff: http://dev.pugscode.org/changeset/20105
19:41 lambdabot Title: Changeset 20105 - Pugs - Trac
19:50 pugs_svnbot r20106 | putter++ | [elf_on_rakudo]: -e 'say(3)' works.
19:50 pugs_svnbot diff: http://dev.pugscode.org/changeset/20106
19:50 lambdabot Title: Changeset 20106 - Pugs - Trac
19:50 b2gills left #Perl6
19:53 mncharity So that's the drill.  Try new code with ./elf_zero_generate.pl -e.  Add any missing parse tags to rakudo_ast.data, and a corresponding IR node constructor to ir_nodes in elf_zero_generate.pl.  If the ir node has a missing or inadequate p5 emitter, correct that in emit_p5().  Done.  Repeat.
19:56 spinclad putter++
19:56 mncharity I'll sketch in elf_one_generate.pl, to create p6 rather than ruby.  As soon as that generated p6 can be processed into p5 by elf_zero, elf_zero can be frozen, and work shift to elf_one.
19:57 buchetc joined #perl6
20:08 Lorn joined #perl6
20:13 mncharity TimToady: re health issues, sadness. :(
20:16 meppel-san joined #perl6
20:21 lisppaste3 joined #perl6
20:23 peeps[work] joined #perl6
20:29 aindilis Is there any work ongoing to make a ginormous standard library like might come with Java for Perl6?
20:34 buchetc left #perl6
20:35 thesh0ck joined #perl6
20:35 buchetc joined #perl6
20:40 TJCRI joined #perl6
20:42 spinclad aindilis: that should be covered by modules found in CP6AN, a smallish subset only of which will be core.  (my guess)
20:42 pugs_svnbot r20107 | putter++ | misc/winter_jig/elf_on_rakudo/: a first sketch of elf_one, intended to eventually become a p6 bootstrapped backend (ie, p6 code which, with the assistance of an external (rakudo) parser, can compile itself (to p5)).
20:42 pugs_svnbot diff: http://dev.pugscode.org/changeset/20107
20:43 marmic joined #perl6
20:43 pmurias joined #perl6
20:48 mncharity aindilis: re standard library, what spinclad said: smallish core + CPAN.  re any work ongoing, not so much.  there is some old work in http://svn.pugscode.org/pugs/ext/ .  but we've been stuck for a couple of years without an implementation which can handle not-small projects, so people are waiting.  hopefully we will be unstuck rsn.
20:49 aindilis well I am interested in knowledge based systems, linguistics, etc.  I would like to see a very vivid and powerful set of commands, and I'd be interested in doing some data collection and design to see what types of code to implement, like iterators and all those things.
20:50 aindilis the other day I saw a java function called firstElement or something, and while that's kind of lame in and of itself, the notion of having such a detailed language is nice
20:51 gbacon joined #perl6
20:53 mncharity p6 is designed to be extremely extensible.  as in extend or replace the entire parser on a lexically scoped basis.  so eventually even ...p6... { use Java; ...java... } ...p6...  or what ever other DSL one wants to use.  so a core/non-core issue is less important than usual.  as for "the language defined by an objects methods", I'm a bit fuzzy on the plans (which are perhaps
20:53 mncharity themselves a bit fuzzy).
20:54 mncharity repeat: as for "the language defined by an objects methods", I'm a bit fuzzy on the plans (which are perhaps themselves a bit fuzzy).
20:54 aindilis I see
20:55 mncharity some form of MOP, so you can override object dispatch within a lexical scope, seems likely.  at which point you can separate the "language *I* want to use when talking to objects of type Foo" from the "language the author of Foo indended".
20:56 aindilis are there books on this?
20:56 aindilis or sources, so I don't voice my ignorance more
20:56 mncharity not so much.
20:56 mncharity re books, re sources... hmm, also not so much.  there are some language docs at
20:56 mncharity http://feather.perl6.nl/syn/
20:57 lambdabot Title: Official Perl 6 Documentation
20:58 aindilis I suppose I will start whatever this idea I have as a project and attempt to build its vocabulary and then show people when I have some real data.
20:58 mncharity but since "Perl 6" is a language specification, rather than an implementation, a lot of "we'll may/probably do foo, but we're not quite sure what it will look like", doesn't end up there.
20:58 aindilis ah
21:00 mncharity re 'start with vocabulary/langauge, and then worry about implementation after', sounds like a plausible plan.  the p6 intent is to permit people to run the languages they want to be using, rather forcing them to shape their languages into a particular style.  though with caveats that
21:02 mncharity Erlang style feather-weight massive parallelism, and prolog style massive backtracking, are not likely to be near-term objectives.  we're more in a "more flexible p5, ruby, smalltalk, python" space.  and... while we have hopes for a usable p6 rsn, this is a volunteer project with just a few volunteers, so...
21:03 mncharity so... it's not clear when, calendar wise, we will finally get something you can actually use.  it's been a nasty bootstrap problem.
21:05 aindilis well maybe that's good as it leaves the ability to adapt to developments in PL
21:05 aindilis my personal interest is in semantic web type stuff, I will we could bring some of that to it
21:05 aindilis s/will/wish/
21:06 aindilis maybe just a module tho
21:06 mncharity re developments in PL, well, it's been more developments in PL are starting to catch up with what we've been planning for years now. :/
21:06 aindilis hehe
21:07 aindilis well I'm no PL guru but I can execute grunt tasks
21:07 aindilis right now I'm autopackaging software from sf/fm to debian
21:07 mncharity the author of the haskell implementation of p6, pugs, was to be the invited keynote(?) at POPL a year or two back.
21:07 mncharity on p6
21:08 aindilis nice
21:08 aindilis Audrey?
21:09 spinclad working out specs on vocabulary will be part of designing good modules.
21:09 spinclad so that would be welcome.
21:10 mncharity re semantic web, I was slightly tempted to try FLORA-2 as a compiler infrastructure, but my experience has been they really don't test their code enough, and it just wasn't critical path.  but a prolog backend is down there on my todo list somewhere.
21:10 aindilis okay, well I'll use p5 to organize everything and approach it from a Ontological/Linguistics end
21:10 mncharity re audrey, eys
21:10 mncharity *yes
21:11 aindilis I'll make good use of existing AI knowledge sets for deriving properties that apply to specific objects
21:11 aindilis and classes, etc.
21:11 mncharity re 'use p5 to organize everything', well, p5 or ruby.  mine is perhaps a minority opinion (not sure), but I find it much easier to prototype p6 code in ruby rather than in p5.
21:12 aindilis I don't use anything but p5
21:12 mncharity np
21:12 spinclad use more Moose;
21:12 aindilis don't know anything
21:12 aindilis me
21:12 aindilis I mean
21:12 aindilis I don
21:12 aindilis 't know anything other than p5
21:12 mncharity ooo, Moose, good idea.
21:12 spinclad (Moose adds a p6ish MOP to p5)
21:13 mncharity http://search.cpan.org/~stevan/Moose-0.38/lib/Moose.pm
21:13 lambdabot Title: Moose - A postmodern object system for Perl 5 - search.cpan.org
21:13 aindilis (I'm a little afraid to program in anything else because I think it will antagonize my understanding of P5.)
21:13 cmarcelo joined #perl6
21:13 aindilis I've been meaning to learn Moose
21:13 aindilis I'm not exactly at the forefront
21:13 aindilis I once got a copy of one of Damien's books on OO Perl.  That's as far as I've gotten
21:14 NyxVladi joined #perl6
21:14 aindilis I'm kind of poor.  btw, do you know where I can get legal DRM free ebooks for $?
21:14 mncharity I should get back to hacking.  My window for the day is closing.  It's been interesting chatting with you.
21:14 mncharity :)
21:14 aindilis thanks, my name is Andrew, ttyl!
21:14 mugwump left #perl6
21:15 spinclad good talking, andrew, and welcome
21:15 NyxVladi left #perl6
21:20 chris2 joined #perl6
21:34 meppel-san joined #perl6
21:40 pugs_svnbot r20108 | buchetc++ | [t/spec] some thread methods
21:40 pugs_svnbot diff: http://dev.pugscode.org/changeset/20108
21:40 lambdabot Title: Changeset 20108 - Pugs - Trac
21:42 pmurias aindilis: re antagonizing i think it's highly unlikly
22:01 jferrero joined #perl6
22:04 pugs_svnbot r20109 | putter++ | [elf_on_rakudo]: elf_zero_generate.pl -e 'class A { method m(){4} }' generates p5.  Messiness is increasing, and will need to be pruned back.
22:04 pugs_svnbot diff: http://dev.pugscode.org/changeset/20109
22:04 lambdabot Title: Changeset 20109 - Pugs - Trac
22:07 mncharity Re the "add features to elf_zero" drill, i may have overstated it's accessibility.  The last set was not straightforward.
22:09 mncharity but... getting there.  back at it tomorrow.  and folks are welcome to poke at it.  I can always tweak the changes.
22:12 mncharity anyone know what the current Moose performance hit is, roughly?  it might simplify emitting has() and such.
22:12 mncharity will backlog.  cheers &
22:13 mncharity actually, doesn't matter what it is, within reason.  simple == good.  can tune later.
22:29 ebassi joined #perl6
22:42 spx2 I have a problem
22:47 spx2 joined #perl6
22:48 Limbic_Region joined #perl6
22:51 eternaleye joined #perl6
23:33 eternaleye joined #perl6
23:42 FurnaceBoy spx2: the first step is to admit it. well done.
23:47 wknight8111 joined #perl6

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

Perl 6 | Reference Documentation | Rakudo