Perl 6 - the future is here, just unevenly distributed

IRC log for #perl6, 2008-02-29

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:06 njbartlett joined #perl6
00:16 cls_bsd joined #perl6
00:19 pbuetow joined #perl6
00:21 jferrero joined #perl6
00:24 aindilis joined #perl6
00:26 Limbic_Region joined #perl6
00:27 eternaleye joined #perl6
00:37 lidden joined #perl6
00:40 stevan_ joined #perl6
01:03 cmarcelo joined #perl6
01:07 justatheory joined #perl6
01:10 cnhackTNT joined #perl6
01:40 wknight8111 joined #perl6
01:51 wknight8111 joined #perl6
01:51 justatheory joined #perl6
01:51 lisppaste3 joined #perl6
01:51 Zygo joined #perl6
01:51 ruoso joined #perl6
01:51 demq joined #perl6
01:51 shachaf joined #perl6
01:51 [particle] joined #perl6
01:51 rakudo_svn joined #perl6
01:51 buubot joined #perl6
01:51 pmichaud joined #perl6
02:12 ingy hola
02:12 ingy anyone smart around?
02:12 ingy ;)
02:13 ingy shachaf: you're smart. are you around?
02:14 shachaf ingy: I don't know if I'd agree with that, but I'm around, at least.
02:14 shachaf ingy: Leaving in a few minutes, though.
02:15 ingy :)
02:15 shachaf ingy: Why?
02:15 ingy shachaf: I want to have a subset of python that I can compile to Perl
02:15 lyokato joined #perl6
02:16 ingy do you know how I might do that?
02:16 ingy I either need to override python compilation to bytecode
02:16 ingy or find some parser generator to use
02:17 ingy obviously I'd like a solution with the least work and also least language dependency
02:17 ingy if you come up with any ideas, let me know
02:19 ingy fyi, everybody... shachaf is *extremely* smart :)
02:21 [particle] ingy: there's a subset of python running on parrot... languages/pynie
02:21 [particle] you could take the generated AST and transform it to perl 5
02:22 [particle] http://svn.perl.org/parrot/trunk/la​nguages/pynie/src/parser/Grammar.pg for the grammar
02:22 lambdabot http://tinyurl.com/2rfba6
02:23 [particle] i'm kinda close to getting the parrot AST to dump in YAML
02:23 [particle] you could take that and run
02:25 [particle] shachaf: sorry, i know how smart you are... hope i'm not stepping on your toes :)
02:42 ingy thanks [particle]!
02:42 ingy [particle]: we should have a hackathon on some Sundays
03:39 Daveman joined #perl6
03:59 kst` joined #perl6
04:00 hermax_ joined #perl6
04:01 charsbar joined #perl6
04:02 koo` joined #perl6
04:02 aindilis joined #perl6
04:02 hcchien joined #perl6
04:08 alester joined #perl6
04:16 nipotan joined #perl6
04:16 tobeya joined #perl6
04:17 falesca joined #perl6
04:18 RayMagini joined #perl6
04:37 pcbuetow joined #perl6
05:04 stevan_ joined #perl6
05:26 lyokato joined #perl6
05:30 hermax_ joined #perl6
05:31 stevan_ joined #perl6
06:12 Schwern joined #perl6
06:17 awwaiid joined #perl6
06:25 devogon joined #perl6
06:29 Somni joined #Perl6
06:30 Somni left #Perl6
07:24 Schwern joined #perl6
07:41 shellprompt joined #perl6
07:55 iblechbot joined #perl6
07:55 Aankhen`` joined #perl6
08:05 njbartlett joined #perl6
09:03 lyokato joined #perl6
09:20 agentzh left #perl6
09:38 penk joined #perl6
09:39 njbartlett joined #perl6
09:40 IllvilJa joined #perl6
10:25 agentzh joined #perl6
10:26 lyokato joined #perl6
10:36 meteorjay joined #perl6
11:08 cognominal_ joined #perl6
11:09 hanekomu joined #perl6
11:09 cognominal__ joined #perl6
11:25 pmurias joined #perl6
12:10 meppl joined #perl6
12:36 ebassi joined #perl6
12:50 * ruoso wonders how hard would it be to write a ANSI C grammar...
12:51 * ruoso considers writing a tool that analises the public headers of a library in order to verify ABI incompatibilities between versions...
12:57 sordith joined #perl6
13:02 pmurias ruoso: you could borrow it from somewhere
13:03 njbartlett joined #perl6
13:03 pmurias or do you want a perl6 rules instead of yacc & lex?
13:05 ruoso actually... I was thinking it probably better to do it from gcc directly...
13:05 integral parrot already has a c99 impl in it's languages/ dir
13:06 ruoso my idea is to parse a set of header files and generate an ABI description
13:06 ruoso then get that file from two different versions of a library
13:06 ruoso to check for incompatible changes...
13:07 * integral was thinking of using LLVM's clang for something close to that
13:07 ruoso but oops... I've just realised I must have a C++ header parser...
13:08 ruoso the thing is that I'm packaging a library that uses non-public headers of another library... and it would be very important to notice when there are incompatible changes for headers the author of the other library doesn't care about...
13:08 IllvilJa joined #perl6
13:14 pugs_svnbot r20025 | pmurias++ | [kp6-mp6like] methods and subs
13:14 pugs_svnbot diff: http://dev.pugscode.org/changeset/20025
13:14 lambdabot Title: Changeset 20025 - Pugs - Trac
13:19 rindolf joined #perl6
13:29 ebassi joined #perl6
13:35 ycheng joined #perl6
13:38 iblechbot joined #perl6
13:39 marmic joined #perl6
13:43 ruoso hmmm... I was recommended to avoid trying that from inside gcc... it seems I would need a C/C++ grammar after all...
13:43 ruoso integral, do you think it would be possible to extend parrot's C99 grammar to support C++?
13:46 ruoso integral, btw... I didn't know llvm... it seems a very interesting project...
13:50 ruoso in fact... it seems that they already have what I want...
13:50 ruoso http://llvm.org/docs/TableGenFundamentals.html
13:50 lambdabot Title: TableGen Fundamentals
13:57 Psyche^ joined #perl6
14:04 [particle] C99 is C++
14:10 ruoso oh..
14:11 * ruoso always get confused by this...
14:19 ruoso [particle], "C99 introduced a number of new features that C++ does not support" -- http://en.wikipedia.org/wiki/C​%2B%2B#Incompatibility_with_C
14:19 ofer joined #perl6
14:21 [particle] hrmm, i wasn't aware of that
14:21 [particle] ruoso++
14:32 njbartlett joined #perl6
14:38 mattz_ joined #perl6
14:42 avar C++ has never been a superset of C
14:42 Patterner int class; /* eat that C++ */
14:43 avar int *class = malloc(1); /* woo! */
14:47 mattz_ joined #perl6
14:48 pmurias avar: would you be interested with continuing the clisp backend if kp6 bootstraped itself with a limited perl5 backend (equivalent to mp6 semanticly)?
14:49 avar Maybe:)
14:49 avar but bootstrap would be ++
14:49 Gothmog_ int i = 4 //* boom */ 2;
14:50 avar oh that's nasty
14:50 avar although the latest C standard supports // commends
14:51 avar *ents
14:51 Gothmog_ One could write funny programs that way which compile in both C and C++ and do completely different things. :)
14:51 Gothmog_ Yeah.
14:59 Gothmog_ http://wam.tgoedderz.de/~tobias/cvscpp.c
15:06 mattz__ joined #perl6
15:10 silug joined #perl6
15:16 TJCRI joined #perl6
15:23 chris2 joined #perl6
15:33 rindolf joined #perl6
15:43 mattz__ joined #perl6
15:53 turrepurre joined #perl6
15:54 turrepurre joined #perl6
15:56 alester joined #perl6
16:03 blindfish joined #perl6
16:18 njbartlett joined #perl6
16:28 kst joined #perl6
16:36 kyrbe joined #perl6
16:41 kyrbe left #perl6
16:51 justatheory joined #perl6
16:53 DarkWolf84 joined #perl6
16:58 ahmadz joined #perl6
16:58 ahmadz left #perl6
17:08 ruoso I've just found another runtime that looks just like smop.... http://www.iolanguage.com/
17:08 lambdabot Title: io
17:09 [particle] ah, i remember looking at that some time ago
17:10 ruoso the only difference seems to be the fact that they don't support different object representations...
17:10 skorbuth joined #perl6
17:31 blindfish joined #perl6
17:33 pugs_svnbot r20026 | gbacon++ | FIXME: ! -e third-party/hsregex/LICENSE -> install fail (Cabal-1.3.3)
17:33 pugs_svnbot diff: http://dev.pugscode.org/changeset/20026
17:33 lambdabot Title: Changeset 20026 - Pugs - Trac
17:49 Psyche^ joined #perl6
17:50 cmarcelo joined #perl6
17:52 r0bby joined #perl6
17:55 jwest-- joined #perl6
17:56 jwest-- left #perl6
18:07 jwest-- joined #perl6
18:47 devogon joined #perl6
19:00 njbartlett joined #perl6
19:08 blindfish joined #perl6
19:09 r0bby joined #perl6
19:15 TJCRI joined #perl6
19:32 justatheory joined #perl6
19:40 justatheory joined #perl6
19:43 justatheory joined #perl6
19:47 rindolf joined #perl6
20:16 pugs_svnbot r20027 | lwall++ | [STD5] all trace info now goes to stderr
20:16 pugs_svnbot r20027 | lwall++ | [STD5_run] now simply dumps the return value
20:16 pugs_svnbot r20027 | lwall++ | [Cursor5] now refrains from flattening structure of $/
20:16 pugs_svnbot diff: http://dev.pugscode.org/changeset/20027
20:16 lambdabot Title: Changeset 20027 - Pugs - Trac
21:10 kolibrie_ joined #perl6
21:16 peepsalot joined #perl6
21:32 buchetc joined #perl6
22:00 wknight8111 joined #perl6
22:04 Schwern joined #perl6
22:08 pugs_svnbot r20028 | buchetc++ | [t] S17 yield test
22:08 pugs_svnbot diff: http://dev.pugscode.org/changeset/20028
22:08 lambdabot Title: Changeset 20028 - Pugs - Trac
22:11 buchetc left #perl6
22:11 buchetc joined #perl6
22:15 cognominal_ joined #perl6
22:15 cognominal_ joined #perl6
22:16 buchetc joined #perl6
22:18 buchetc left #perl6
22:18 Jamtech joined #perl6
22:32 buchetc joined #perl6
22:33 lambdabot joined #perl6
22:51 cmarcelo joined #perl6
23:13 mncharity joined #perl6
23:15 mncharity ingy: re python grammar, you've looked at pypy, yes?
23:19 mncharity pmurias: re Emit::AstYaml, yes, I added that.  currently used by winter_jig.
23:19 justatheory joined #perl6
23:21 mncharity ruoso: re 'how hard would it be to write a ANSI C grammar', for preprocessed C, not too hard.  with backtracking you can even look just at the file itself, without obtaining types from headers.  but for api work, you probably need preprocessor commands too.  those... well, a few heuristics take care of a large majority of cpp usage.
23:22 mncharity but you are better off using an exiting tool.
23:23 mncharity oh, re 'C++ header parser', that's an entirely different kettle of fish.  more like a tractor trailer of fungus.
23:24 mncharity to a first approximation it's impossible to do right, so everyone does hacks.  so find an existing hack.
23:25 IRSeekBot joined #perl6
23:28 mncharity pmurias: re 'Emit/MiniPerl6Like.pm', have you looked at misc/winter_jig/backend_bare_perl5/ ?  if bootstrap isn't part of your vision, six_kp6_bare_p5 and emit_from_kp6 may be useful.  kp6 -Cast-yaml does the parse, and the emit is done in p5.  so it's faster and easier to write.  and doesn't use visitor injection, so you can inherit from the emitter to create derivatives.
23:28 mncharity question/comments would be most welcome.  see emit_from_kp6_pl_generate, a work in progress emitter to simple but fast p5.
23:31 mncharity avar: ^^ same observations re cl.
23:33 mncharity [particle]: re "i'm kinda close to getting the parrot AST to dump in YAML", yay.  looking forward to it.
23:34 avar mncharity: you mean the yaml stuff?
23:37 mncharity cj: re KindaPerl6::Visitor::Emit::Generic, the backends are reaching out to an mp6 runtime "dodge the bootstrap" file, but other than that, my fuzzy impression is there is little sharing/sharable code, in part because there is not much compilation or analysis happening.  but it might be useful to add helper methods to the ast nodes.  all the emitters are injected into them. :/
23:37 mncharity avar: well, yaml decoupling kp6 parse from emit.  so the emit can be done in p5.  for which there is now assorted support in misc/winter_jig.
23:39 mncharity cj: but once parrot can dump an ast as yaml, I'm not sure how much role kp6 keeps playing going forward.
23:39 avar It might have a role as a p6-in-p6 compiler, but if you just want a yaml ast from it you're probably better of using parrot
23:40 mncharity (aside from being a valuable source of code to scavange of course)
23:40 peepsalot joined #perl6
23:42 mncharity avar: once parrot exposes yaml, then we're finally able to do full backends.  those are not hard.  we've just been long wedged by the absence of a parser willing to report on oo.  with backends, we can actually start writing non-trivial perl6 implementation components in p6.  which makes an incremental bootstrap less interesting.
23:44 avar Yes, parrot is turning out to be somewhat interesting after all, recently
23:44 avar Is somebody working on dumping yaml?
23:45 njbartlett joined #perl6
23:46 mncharity kp6 is parser, compiler infrastructure, emitters, runtimes.  runtimes can be reused, the emitters are more easily written in p5 or a fuller subset of p6, the infrastructure can benefit from a reimplementation pass, and the parser becomes less interesting if parrot is usable.
23:46 mncharity the raw code, and certainly the concepts, underlying all those parts can be reused of course.
23:46 mncharity re someone, [particle].
23:47 mncharity "i'm kinda close to getting the parrot AST to dump in YAML"
23:47 mncharity not sure what that means for when.
23:48 mncharity but I hope to roll something like misc/winter_jig/kp6_ast for it
23:49 mncharity so it's easy to metaprogram p5 backends.
23:49 mncharity though since the parrot ast is likely to be in greater flux than the kp6 ast has been, the approach taken may be somewhat different, to reduce maintenance cost.
23:51 Limbic_Region joined #perl6
23:53 * mncharity gets warm fuzzies from seeing STD5_run edited.  it's been rather a while since my p6-universe code was visibly banged on by anyone else. ;)
23:58 mncharity cj: once the parrot ast is out, it would be nice to start building p5 classes around it for doing semantic analysis.
23:58 ingy hi mncharity
23:58 mncharity hi ingy
23:58 ingy pypy eh?
23:58 cj mchhmm?
23:58 cj heya ingy!
23:58 ingy cj!
23:58 cj mncharity: hmm?
23:59 cj ingy: got any work for a perl hack?  I'm unmotivated to continue grinding out code that we throw away the next day, and my bosses are getting grumpy.
23:59 mncharity cj: re hmm?, it's a Emit::Generic-like task coming up rsn
23:59 cj mncharity: ah!
23:59 cj mncharity: very cool

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

Perl 6 | Reference Documentation | Rakudo