pugscode.org/ | nopaste: sial.org/pbot/perl6 | pugs: [~] <m oo se> (or rakudo:, kp6:, smop: etc.) || We do Haskell, too | > reverse . show $ foldl1 (*) [1..4] | irclog: irc.pugscode.org/
Set by TimToady on 25 January 2008.
00:05 thoughtpolice joined
meppl good night 00:10
00:32 bsb joined 00:36 thoughtpolice joined 00:41 thoughtpolice joined 01:02 Schwern joined 01:06 lyokato_ joined 01:23 mncharity joined 01:27 phil__ joined 01:30 phil__ left
mncharity oh, yay. rakudo parser getting attention. that makes the next bit a little less nutty... 01:32
Juerd_ Nutty? 01:42
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:56
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:58
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:00
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:01
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:04
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:08
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:10
Juerd_: thus, nutty. :) 02:11
building a house on unchecked foundations in the hope that even if it can't stand, it attracts developers/homesteaders. 02:12
02:13 Psyche^ joined
Juerd_ mncharity: Whoa, I come back and find your monologue. Great explanation, though :) 02:25
Interesting strategy too.
02:26 stevan__ joined
mncharity :) 02:27
02:31 jhorwitz joined
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:40
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
02:41 thoughtpolice joined 02:53 Zygo joined 02:58 pbuetow joined 03:04 TimToady joined, pbuetow joined, Zygo joined, thoughtpolice joined, stevan__ joined, Patterner joined, mncharity joined, lyokato_ joined, cognominal_ joined, Grrrr joined, lambdabot joined, gbacon joined, qmole joined, IllvilJa joined, Daveman joined, Lorn_ joined, [particle] joined, alester joined, xinming joined, Southen_ joined, FurnaceBoy joined, spx2 joined, peepsalot joined, thepler joined, fullermd joined, zamolxes joined, RayMagini joined, simcop2387 joined, r0bby joined, lisppaste3 joined, mj41 joined, Maddingue joined, Lunchy joined, dalek joined, bocksp joined, integral joined, rafl joined, pugs_svnbot joined, agentzh joined, Helios joined, GeJ joined, shachaf joined, IRSeekBot joined, charsbar joined, mugwump joined, irc.freenode.net sets mode: +o TimToady, bbkr__ joined, allbery_b joined, arguile joined, kcwu joined, buu joined, pasteling joined, ting_ joined, ycheng joined, pugsbot_r17185 joined, kolibrie joined, Qiang joined, Botje joined, avar joined, nnunley joined, TreyHarris joined, arcady joined, Khisanth joined, yahooooo joined, whiteg joined, cj joined, nothingmuch joined, zostay joined, spinclad joined, SubStack joined, moritz_ joined, cxreg joined, mtve joined, PerlJam joined, orafu joined, REPLeffect joined, pravus joined, diakopter joined, jiing joined, Caelum joined, baest_ joined, nipotan joined, rakudo_svn joined, buubot joined, pmichaud joined, ruz joined, drbean joined, mattz_ joined, SamB joined, Alias_ joined, dmq joined, rhr joined, silug_ joined, araujo joined, eternaleye joined, aindilis joined, kanru joined, bockmabe joined, hcchien joined, Juerd_ joined, jjore joined, ead joined, audreyt joined, tcliouAway joined, meteorjay joined, BinGOs joined, cosimo_ joined, lumi joined, obra joined, jql joined, cookys joined, felipe joined, clkao joined, sunnavy joined, ilbot2 joined, tewk joined, Eidolos joined 03:06 jnthn joined, ingy joined 03:14 peepsalot joined 03:45 _SamB_ joined 03:47 charsbar_ joined
pugs_svnbot r20098 | putter++ | misc/winter_jig/ast_rakudo/scrape: start mutation into a backend bootstrap. 03:47
diff: dev.pugscode.org/changeset/20098
lambdabot Title: Changeset 20098 - Pugs - Trac
mncharity very crufty, but end of day. 03:48
./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
good night & 03:53
./scrape FILE also works.
err, should work. untested... "and so doesn't work, by definitition". 03:54
03:55 Lorn joined 04:15 luqui joined 04:20 RayMagini joined 04:28 justatheory joined 04:45 alc joined, thoughtpolice joined 05:04 lyokato_ joined 05:15 lambdabot joined
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:34
PerlJam yikes! 05:36
PerlJam dccs some warm fuzzies to TimToady
(it sounds like you need them)
05:39 kanru joined 05:47 stevan_ joined 06:05 xinming joined 06:11 devogon_ joined 06:12 lambdabot joined
spinclad TimToady's GI tract: get well soon please! 06:12
06:28 Jedai joined 06:33 bsb joined 06:53 lambdabot joined
allbery_b yug 06:55
06:57 lambdabot joined 07:52 Aankhen`` joined 07:57 meppl joined 08:07 iblechbot joined 08:50 penk joined 09:17 xinming_ joined 09:38 ruoso joined
rakudo_svn r26309 | allison++ | [pdd17pmc] Merging the pdd17pmc branch into trunk (r24435 to r26307). 09:50
09:52 ebassi joined 10:14 ebassi joined 10:46 masak joined 11:02 chris2 joined 11:09 rindolf joined 11:39 devogon joined 11:47 pbuetow joined 11:55 smtms joined 12:12 iblechbot joined 12:21 pbuetow joined 12:28 cmarcelo joined 12:30 clintongormley joined
pugs_svnbot r20099 | ruoso++ | [smop] Finally, the issue was solved. All tests pass again, and now we have the lowlevel scalar implementation working. 12:45
diff: dev.pugscode.org/changeset/20099
lambdabot Title: Changeset 20099 - Pugs - Trac
12:47 gbacon joined
pugs_svnbot r20100 | ruoso++ | [smop] two small memory leaks fixed. 12:54
diff: dev.pugscode.org/changeset/20100
lambdabot Title: Changeset 20100 - Pugs - Trac
ruoso it's interesting to note that test/11_lowlevel_scalar.sm0p already uses the SMOP__SLIME__CurrentFrame.move_capturize operation... 12:56
12:56 FurnaceBoy joined 13:22 rhr joined 13:37 hanekomu joined 13:49 Helios joined 13:54 Helios_ joined 13:57 rindolf joined 14:01 Lorn joined 14:07 ebassi joined 14:15 eternaleye joined 14:19 ebassi joined 14:35 jhorwitz joined 14:37 TJCRI joined 15:01 peeps[work] joined 15:33 ruz joined 15:36 Aankh|Clone joined 15:39 jferrero joined 15:59 TJCRI joined
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:07
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:09
16:10 iblechbot joined
cognominal_ I am working to support self in inner method blocks by declaring as a lexical variable 16:12
in rakudo 16:13
necessary for any but trivial p6 code in rakudo 16:14
PerlJam you mean $self or was the "lexical variable" part just an implementation detail? 16:16
cognominal_ this will be an implementation detail 16:17
16:17 ebassi joined
cognominal_ blocks are defined as subs with outer context. 16:19
16:23 ebassi joined 16:26 mncharity joined 16:30 pmurias joined
pmurias ruoso: do you think it would be worth to have smop RI declarations in some sort of a declarative way? 16:34
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
but that's why there will be s1p after all
pmurias i can try to come up with/implement something and see if it works 16:37
16:39 cosimo joined 16:41 marmic joined
pmurias ruoso: why do we need s1p? 16:42
ruoso pmurias, because writing sm0p is boring also ;)
pmurias i mean how is it diffrent from p6
ruoso www.perlfoundation.org/perl6/index....p_language
lambdabot Title: SMOP s1p Language / Perl 6
ruoso it's a simplification 16:43
not of the syntax
but of the runtime
16:43 stevan_ joined
ruoso pmurias, take a look at the fibonacci example 16:43
pmurias ruoso: i remember, because the object metamodel and related stuff aren't loaded yet, right? 16:47
ruoso yep... 16:48
it's what MOP.pm does in KP6
16:53 Jamtech joined 16:57 FurnaceBoy joined, clintongormley left, b2gills joined
pmurias ruoso: is the order of methods accidential or intensional? 16:59
i.e. the most common ones first? 17:00
ruoso pmurias, order where?
pmurias in foo_message 17:01
ruoso it's in random order ;)
17:08 justatheory joined 17:12 BinGOs joined 17:15 meppl joined
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
diff: dev.pugscode.org/changeset/20101
lambdabot Title: Changeset 20101 - Pugs - Trac
pmurias ruoso: where should i put the translator and and example of how smop_s1p_scalar.c would look like with it? 17:16
17:18 meppl joined
mncharity ponders forking the kp6 ast... 17:19
pmurias mncharity: what do you want to change? 17:20
pugs_svnbot r20102 | pmurias++ | [sm0p] a proposal for more declarative RI description
diff: dev.pugscode.org/changeset/20102
lambdabot Title: Changeset 20102 - Pugs - Trac
ruoso pmurias, you can create a new root level dir 17:21
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
mncharity lazy forking, waiting until there is a change, seems too messy. 17:24
ah well.
cognominal_ IR? 17:26
pmurias itermidate representation 17:27
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)
mncharity re Pad, :)
17:28 rindolf joined
mncharity re flexibility for convergence, indeed. 17:28
17:29 rdice joined
pmurias * having 17:29
spinclad fork-and-merge kp6, rakudo, pugs ASTs... 17:31
(just to speak of our own) 17:32
pugs_svnbot r20103 | putter++ | Fork ../ast_kp6/'s node definitions, to become the basis for a new IR. 17:34
diff: dev.pugscode.org/changeset/20103
lambdabot Title: Changeset 20103 - Pugs - Trac
pugs_svnbot r20104 | putter++ | [elf_on_rakudo] Get imported kp6_ast infrastructure working. 17:40
diff: dev.pugscode.org/changeset/20104
lambdabot Title: Changeset 20104 - Pugs - Trac
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
but it would be nice to avoid entropy by historical artifact. :)
17:55 barney joined 18:20 peepsalot joined, TJCRI joined 18:28 FurnaceBoy joined 18:33 rindolf joined 18:37 Psyche^ joined 18:45 IllvilJa joined
b2gills I wonder if anyone has information about cross compiling a WIN32 parrot on a linux distribution, I already have the MingW GCC. 18:58
barney I don't. You might want to ask in #parrot on MagNet. 19:09
spinclad on irc.perl.org 19:12
(is that MagNet?) 19:13
19:15 buchetc joined
rindolf spinclad: yes, it's MAGNet 19:25
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
diff: dev.pugscode.org/changeset/20105
lambdabot Title: Changeset 20105 - Pugs - Trac
pugs_svnbot r20106 | putter++ | [elf_on_rakudo]: -e 'say(3)' works. 19:50
diff: dev.pugscode.org/changeset/20106
lambdabot Title: Changeset 20106 - Pugs - Trac
19:50 b2gills left
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:53
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 20:08 Lorn joined
mncharity TimToady: re health issues, sadness. :( 20:14
20:16 meppel-san joined 20:22 lisppaste3 joined 20:23 peeps[work] joined
aindilis Is there any work ongoing to make a ginormous standard library like might come with Java for Perl6? 20:29
20:34 buchetc left 20:35 thesh0ck joined 20:36 buchetc joined 20:40 TJCRI joined
spinclad aindilis: that should be covered by modules found in CP6AN, a smallish subset only of which will be core. (my guess) 20:43
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)).
diff: dev.pugscode.org/changeset/20107
20:44 marmic joined, pmurias joined
mncharity aindilis: re standard library, what spinclad said: smallish core + CPAN. re any work ongoing, not so much. there is some old work in 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:48
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:49
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:50
20:51 gbacon joined
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
themselves a bit fuzzy).
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
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:55
aindilis are there books on this? 20:56
or sources, so I don't voice my ignorance more
mncharity not so much.
re books, re sources... hmm, also not so much. there are some language docs at
feather.perl6.nl/syn/ 20:57
lambdabot Title: Official Perl 6 Documentation
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.
aindilis ah
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:00
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
so... it's not clear when, calendar wise, we will finally get something you can actually use. it's been a nasty bootstrap problem.
aindilis well maybe that's good as it leaves the ability to adapt to developments in PL 21:05
my personal interest is in semantic web type stuff, I will we could bring some of that to it 21:06
s/will/wish/
maybe just a module tho
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. :/
aindilis hehe 21:07
well I'm no PL guru but I can execute grunt tasks
right now I'm autopackaging software from sf/fm to debian
mncharity the author of the haskell implementation of p6, pugs, was to be the invited keynote(?) at POPL a year or two back. 21:08
on p6
aindilis nice
Audrey? 21:09
spinclad working out specs on vocabulary will be part of designing good modules.
so that would be welcome.
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
mncharity re audrey, eys
*yes
aindilis I'll make good use of existing AI knowledge sets for deriving properties that apply to specific objects 21:11
and classes, etc.
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.
aindilis I don't use anything but p5 21:12
mncharity np
spinclad use more Moose;
aindilis don't know anything
me
I mean
I don
't know anything other than p5
mncharity ooo, Moose, good idea.
spinclad (Moose adds a p6ish MOP to p5) 21:13
mncharity search.cpan.org/~stevan/Moose-0.38/lib/Moose.pm
lambdabot Title: Moose - A postmodern object system for Perl 5 - search.cpan.org
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
aindilis I've been meaning to learn Moose 21:13
I'm not exactly at the forefront
I once got a copy of one of Damien's books on OO Perl. That's as far as I've gotten 21:14
21:14 NyxVladi joined
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.
:)
aindilis thanks, my name is Andrew, ttyl!
21:15 mugwump left
spinclad good talking, andrew, and welcome 21:15
21:15 NyxVladi left 21:20 chris2 joined 21:34 meppel-san joined
pugs_svnbot r20108 | buchetc++ | [t/spec] some thread methods 21:40
diff: dev.pugscode.org/changeset/20108
lambdabot Title: Changeset 20108 - Pugs - Trac
pmurias aindilis: re antagonizing i think it's highly unlikly 21:43
22:01 jferrero joined
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
diff: dev.pugscode.org/changeset/20109
lambdabot Title: Changeset 20109 - Pugs - Trac
mncharity Re the "add features to elf_zero" drill, i may have overstated it's accessibility. The last set was not straightforward. 22:07
but... getting there. back at it tomorrow. and folks are welcome to poke at it. I can always tweak the changes. 22:09
anyone know what the current Moose performance hit is, roughly? it might simplify emitting has() and such. 22:12
will backlog. cheers &
actually, doesn't matter what it is, within reason. simple == good. can tune later. 22:13
22:29 ebassi joined
spx2 I have a problem 22:42
22:47 spx2 joined 22:48 Limbic_Region joined 22:51 eternaleye joined 23:34 eternaleye joined
FurnaceBoy spx2: the first step is to admit it. well done. 23:42
23:48 wknight8111 joined