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:04 aindilis` left 00:07 njbartlett joined 00:12 silug left 00:17 cls_bsd joined 00:20 pbuetow left, pbuetow joined 00:23 jferrero joined 00:25 aindilis joined 00:27 Limbic_Region joined 00:28 eternaleye joined 00:38 lidden_ left, lidden joined 00:39 devogon left 00:42 stevan_ joined 01:04 cmarcelo joined 01:07 justatheory left 01:09 justatheory joined 01:11 cnhackTNT joined, meteorjay left 01:29 cathya left 01:42 wknight8111 joined 01:48 fagzal left 01:49 Daveman left 01:52 justatheory left, wknight8111 left, lisppaste3 left, Zygo left, ruoso left, rakudo_svn left, [particle] left, demq left, pmichaud left, buubot left, shachaf left 01:53 wknight8111 joined, justatheory joined, lisppaste3 joined, Zygo joined, ruoso joined, demq joined, shachaf joined, [particle] joined, rakudo_svn joined, buubot joined, pmichaud joined 02:09 peepsalot left
ingy hola 02:13
anyone smart around? 02:14
;)
02:14 cmarcelo left
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:15
ingy: Leaving in a few minutes, though.
ingy :) 02:16
shachaf ingy: Why?
ingy shachaf: I want to have a subset of python that I can compile to Perl 02:17
02:17 lyokato joined
ingy do you know how I might do that? 02:17
I either need to override python compilation to bytecode 02:18
or find some parser generator to use
obviously I'd like a solution with the least work and also least language dependency
if you come up with any ideas, let me know 02:19
02:20 jferrero left
ingy fyi, everybody... shachaf is *extremely* smart :) 02:20
[particle] ingy: there's a subset of python running on parrot... languages/pynie 02:23
you could take the generated AST and transform it to perl 5
svn.perl.org/parrot/trunk/languages...Grammar.pg for the grammar 02:24
lambdabot tinyurl.com/2rfba6
[particle] i'm kinda close to getting the parrot AST to dump in YAML 02:25
you could take that and run
shachaf: sorry, i know how smart you are... hope i'm not stepping on your toes :) 02:26
ingy thanks [particle]! 02:43
[particle]: we should have a hackathon on some Sundays 02:44
03:40 Daveman joined 03:53 Limbic_Region left 04:00 kst` joined 04:01 aindilis left, Schwern left, tobeya left, hermax_ left, kst left, alester left, nipotan left, falesca left, koo` left, drbean left, hcchien left, charsbar left, hermax_ joined 04:02 charsbar joined 04:03 koo` joined, aindilis joined 04:04 hcchien joined 04:09 alester joined 04:17 nipotan joined, tobeya joined, RayMagini left 04:19 falesca joined 04:20 RayMagini joined 04:23 stevan_ left 04:39 pcbuetow joined 04:52 pbuetow left 04:58 lyokato left 05:05 stevan_ joined 05:27 lyokato joined 05:30 stevan_ left 05:31 hermax_ left 05:32 hermax_ joined 05:33 stevan_ joined 05:42 awwaiid left 05:45 njbartlett left 05:59 kst` left 06:13 Schwern joined 06:18 awwaiid joined 06:27 devogon joined 06:31 Somni joined 06:32 Somni left 06:41 justatheory left 07:13 Schwern left 07:25 Schwern joined 07:43 shellprompt joined 07:54 shellprompt left 07:56 iblechbot joined, Aankhen`` joined 08:06 njbartlett joined 08:37 njbartlett left 08:45 lyokato left 09:04 lyokato joined 09:15 ting_ left 09:21 agentzh left 09:24 cognominal_ left 09:35 lyokato left 09:39 penk joined 09:40 njbartlett joined 09:41 IllvilJa joined 10:03 penk left 10:09 njbartlett left 10:23 cnhackTNT left 10:26 agentzh joined 10:28 lyokato joined 10:38 meteorjay joined 10:40 pcbuetow left 11:09 DarkWolf84 left, cognominal_ joined 11:10 hanekomu joined 11:11 cognominal__ joined, cognominal_ left 11:19 IllvilJa left 11:27 pmurias joined 11:45 nipotan is now known as nipotaway 12:12 meppl joined 12:20 iblechbot left 12:37 ebassi joined
ruoso wonders how hard would it be to write a ANSI C grammar... 12:52
ruoso considers writing a tool that analises the public headers of a library in order to verify ABI incompatibilities between versions...
12:59 sordith joined
pmurias ruoso: you could borrow it from somewhere 13:04
13:04 hermax_ left 13:05 njbartlett joined
pmurias or do you want a perl6 rules instead of yacc & lex? 13:05
13:05 koo` left
ruoso actually... I was thinking it probably better to do it from gcc directly... 13:06
integral parrot already has a c99 impl in it's languages/ dir 13:07
ruoso my idea is to parse a set of header files and generate an ABI description
then get that file from two different versions of a library 13:08
to check for incompatible changes...
integral was thinking of using LLVM's clang for something close to that
ruoso but oops... I've just realised I must have a C++ header parser... 13:09
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:10
13:10 IllvilJa joined 13:15 sordith_ left
pugs_svnbot r20025 | pmurias++ | [kp6-mp6like] methods and subs 13:15
diff: dev.pugscode.org/changeset/20025
lambdabot Title: Changeset 20025 - Pugs - Trac
13:20 rindolf joined 13:30 ebassi left, ebassi joined, rindolf left 13:31 ebassi is now known as ebassi|lunch 13:35 marmic left 13:36 ycheng joined 13:37 njbartlett left 13:38 r0bby left 13:40 iblechbot joined, marmic joined 13:42 Patterner left
ruoso hmmm... I was recommended to avoid trying that from inside gcc... it seems I would need a C/C++ grammar after all... 13:44
integral, do you think it would be possible to extend parrot's C99 grammar to support C++? 13:45
13:46 lyokato left
ruoso integral, btw... I didn't know llvm... it seems a very interesting project... 13:47
in fact... it seems that they already have what I want... 13:51
llvm.org/docs/TableGenFundamentals.html
lambdabot Title: TableGen Fundamentals
13:59 Psyche^ joined, Psyche^ is now known as Patterner 14:02 ebassi|lunch is now known as ebassi
[particle] C99 is C++ 14:06
ruoso oh.. 14:12
ruoso always get confused by this...
[particle], "C99 introduced a number of new features that C++ does not support" -- en.wikipedia.org/wiki/C%2B%2B#Incom...ity_with_C 14:20
14:21 ofer joined
[particle] hrmm, i wasn't aware of that 14:22
ruoso++
14:34 njbartlett joined 14:39 mattz_ joined, mattz left 14:43 mattz_ left
avar C++ has never been a superset of C 14:43
Patterner int class; /* eat that C++ */
14:44 eternaleye left
avar int *class = malloc(1); /* woo! */ 14:45
14:48 mattz_ joined
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:50
avar Maybe:)
but bootstrap would be ++
Gothmog_ int i = 4 //* boom */ 2; 14:51
avar oh that's nasty 14:52
although the latest C standard supports // commends
*ents
Gothmog_ One could write funny programs that way which compile in both C and C++ and do completely different things. :)
Yeah.
15:00 njbartlett left
Gothmog_ wam.tgoedderz.de/~tobias/cvscpp.c 15:00
15:05 hanekomu left 15:07 mattz__ joined 15:11 silug joined 15:12 mattz_ left 15:18 TJCRI joined 15:24 chris2 joined 15:30 mattz__ left 15:34 rindolf joined 15:44 mattz__ joined 15:50 alester left 15:54 turrepurre joined 15:55 turrepurre left, turrepurre joined 15:56 hcchien left 15:57 alester joined 16:05 blindfish joined 16:19 njbartlett joined 16:29 kst joined 16:38 kyrbe joined 16:42 kyrbe left 16:47 njbartlett left 16:52 justatheory joined 16:54 DarkWolf84 joined 17:00 ahmadz joined, ahmadz left 17:02 blindfish left
ruoso I've just found another runtime that looks just like smop.... www.iolanguage.com/ 17:10
lambdabot Title: io
[particle] ah, i remember looking at that some time ago 17:11
ruoso the only difference seems to be the fact that they don't support different object representations...
17:12 skorbuth joined 17:20 Aankhen`` left 17:32 blindfish joined
pugs_svnbot r20026 | gbacon++ | FIXME: ! -e third-party/hsregex/LICENSE -> install fail (Cabal-1.3.3) 17:34
diff: dev.pugscode.org/changeset/20026
lambdabot Title: Changeset 20026 - Pugs - Trac
17:43 ruoso left 17:50 Psyche^ joined 17:52 cmarcelo joined 17:53 r0bby joined 17:57 jwest-- joined, jwest-- left 18:08 Patterner left, Psyche^ is now known as Patterner 18:09 jwest-- joined 18:17 skorbuth left 18:23 yahooooo left 18:26 blindfish left 18:32 rindolf left 18:39 ebassi left 18:48 devogon left, devogon joined 18:49 justatheory left 19:01 njbartlett joined 19:04 TJCRI left 19:05 r0bby left 19:09 blindfish joined 19:10 r0bby joined 19:13 chris2 left 19:16 TJCRI joined 19:33 justatheory joined 19:41 justatheory left, justatheory joined 19:44 justatheory left, justatheory joined 19:48 rindolf joined
pugs_svnbot r20027 | lwall++ | [STD5] all trace info now goes to stderr 20:17
r20027 | lwall++ | [STD5_run] now simply dumps the return value
r20027 | lwall++ | [Cursor5] now refrains from flattening structure of $/
diff: dev.pugscode.org/changeset/20027
lambdabot Title: Changeset 20027 - Pugs - Trac
20:18 justatheory left 20:39 rindolf left 21:11 kolibrie_ joined 21:12 kolibrie left, kolibrie_ is now known as kolibrie 21:18 peepsalot joined 21:33 buchetc joined 21:34 peepsalot left 21:40 jwest-- left 21:43 ofer left 21:58 cmarcelo left, Gothmog_ left 22:01 wknight8111 left 22:02 wknight8111 joined 22:05 Schwern left 22:06 Schwern joined
pugs_svnbot r20028 | buchetc++ | [t] S17 yield test 22:09
diff: dev.pugscode.org/changeset/20028
lambdabot Title: Changeset 20028 - Pugs - Trac
22:12 buchetc left, buchetc joined 22:15 buchetc left 22:16 cognominal_ joined, cognominal_ left, cognominal_ joined 22:17 alester left 22:18 cognominal__ left, buchetc joined, blindfish left 22:19 buchetc left, Jamtech joined 22:25 smtms left 22:34 buchetc joined, lambdabot left 22:35 buchetc left, lambdabot joined 22:45 iblechbot left 22:50 njbartlett left 22:51 cognominal_ left 22:52 cmarcelo joined 23:03 pmurias left 23:09 Jamtech left 23:15 mncharity joined
mncharity ingy: re python grammar, you've looked at pypy, yes? 23:17
23:19 TJCRI left
mncharity pmurias: re Emit::AstYaml, yes, I added that. currently used by winter_jig. 23:20
23:20 justatheory joined
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:23
but you are better off using an exiting tool.
23:24 IRSeekBot left
mncharity oh, re 'C++ header parser', that's an entirely different kettle of fish. more like a tractor trailer of fungus. 23:24
to a first approximation it's impossible to do right, so everyone does hacks. so find an existing hack. 23:25
23:27 IRSeekBot joined
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:29
question/comments would be most welcome. see emit_from_kp6_pl_generate, a work in progress emitter to simple but fast p5. 23:30
avar: ^^ same observations re cl. 23:32
[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:36
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:38
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
cj: but once parrot can dump an ast as yaml, I'm not sure how much role kp6 keeps playing going forward. 23:40
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:41
23:41 peeps left
mncharity (aside from being a valuable source of code to scavange of course) 23:41
23:41 peepsalot joined
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:45
Is somebody working on dumping yaml? 23:46
23:47 njbartlett joined
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:47
the raw code, and certainly the concepts, underlying all those parts can be reused of course.
re someone, [particle]. 23:48
"i'm kinda close to getting the parrot AST to dump in YAML"
not sure what that means for when.
but I hope to roll something like misc/winter_jig/kp6_ast for it 23:49
so it's easy to metaprogram p5 backends. 23:50
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
23:52 Limbic_Region joined
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:54
cj: once the parrot ast is out, it would be nice to start building p5 classes around it for doing semantic analysis. 23:59
ingy hi mncharity
mncharity hi ingy
ingy pypy eh?
cj mchhmm?
heya ingy!
ingy cj!