|
Parrot 0.6.0 "P&P" released | Please mentor for SoC | parrotcode.org/ | YAPC::NA talks deadline is Mar 31 | tinyurl.com/2pmnlq Set by moderator on 18 March 2008. |
|||
| cotto_work | Infinoid, yes afaict | 00:00 | |
| Infinoid | the patch looks awesome, but I'm wondering if it will catch some extra headers you didn't want | ||
| guess if it builds, that's proof that it didn't. :) | 00:01 | ||
| Coke | why don't I want *all* the headers? | 00:06 | |
| the pmc's depend on parrot/parrot.h - if that isn't included... | |||
| that patch is borked, btw. moment. | |||
| Infinoid | Coke: depending on things in /usr/include/ is bad | 00:07 | |
| Coke | pastebin.com/d18e2f195 | 00:08 | |
| Infinoid | (especially if you then prepend a "src/pmc/" to them) | ||
| Coke | ok. moment. | 00:09 | |
| Infinoid | don't worry too much... if everything built, that means nothing depends on external headers, which is a good thing | ||
| Coke | nothing does. | ||
| but moment. | |||
|
00:15
Sartak joined
|
|||
| Coke | one of these depends on a .str file. | 00:17 | |
| one of them includes ../src/io/io_private.h - where is that path relative from? | 00:21 | ||
| Infinoid | relative to the location of the source file | 00:22 | |
| (or header file, whatever file contains the #include line) | |||
| Coke | that's in one of the pmcs. | 00:23 | |
| src/pmc/../src/io/io_private.h isn't right. =-) | |||
| Infinoid | yeah, that does look wrong | ||
| Coke | but it must compile or we'd have seen it before, neh? | ||
| oh. duh, it's relative to ./include | 00:24 | ||
| Infinoid | is it split out by pmc2c? | 00:25 | |
| or just relying on the -Iinclude? | |||
|
00:26
darbelo joined
|
|||
| Coke | the latter | 00:26 | |
| purl | the latter is better | ||
|
00:27
rdice joined
|
|||
| Coke | pastebin.com/de49c558 has an updated patch that builds on linux. | 00:27 | |
| otto... I'm working on this right now. | 00:28 | ||
| cotto_work | thanks | ||
| Coke | oh, that's from 6 hours ago. =-) | 00:29 | |
| cotto_work: try that patch. | 00:30 | ||
| that generates a proper dep line for src/pmc/role.o | |||
| (testing on windows...) | |||
| cotto_work | did you notice that most of those includes are unnecessary/redundant? | 00:32 | |
| Coke | nope! =-) | 00:33 | |
| checking. | |||
| like what? | |||
| include/parrot/parrot.h ? | |||
| cotto_work | all the pmc_* includes except pmc_{object|class}.h in {class|object}.pmc | 00:35 | |
| parrot make and make test run fine if all the other includes are commented out | |||
| s/parrot// | |||
| Infinoid | cotto++ | 00:36 | |
| Coke | just because it's a dep on a static file doesn't mean it's not a dep. | ||
| I'm putting in *all* the missing deps that file has, regardless of whether it's a generated file or not. | |||
| doesn't matter for joe-parrot-builder, but for a developer who is changing one of the included .h files, that's important. | 00:37 | ||
| Infinoid | for build deps, sure, but isn't cotto talking about the #include lines themselves? | 00:38 | |
| Coke | that's SEP. =-) | 00:39 | |
| cotto_work | yes, I'm talking about the explicit #includes in the .pmc files | ||
| Infinoid | ok. but if it doesn't include the other file, it doesn't need a build dep either | ||
| Coke | well, if those are removed, then the deps will vanish the next time someone builds the makefile. =-) | ||
| Infinoid | ok :) | 00:40 | |
|
00:40
particle joined
|
|||
| tetragon | Bleh, parrot stopped building | 00:41 | |
| Coke | recent revision? what os? | 00:42 | |
| tetragon | OS X 10.5.2, ppc | ||
| Current rev | |||
| Coke | can you nopaste/pastebin the build error? | ||
| tetragon | And I know the manual changes I have to do to the makefiles didn't kill the missing rule | 00:43 | |
| Coke | I did just change somethign that gens the makefile, so it's a likely culprit. | ||
| which revision? | |||
| (i mean, do you have a before and after?) | |||
| particle: can you test something for me on windows? applying a patch is murder. | 00:44 | ||
| particle | k | ||
| tetragon | Just after, it built a couple days ago | ||
| Coke | pastebin.com/de49c558 | ||
| tetragon | pastebin.com/m47e4d2b8 | 00:45 | |
| Coke | tetragon: you shouldn't be compiling jit at all, methinks. | ||
| tetragon | I'm not explicitly telling it to do that | ||
| Limbic_Region | Coke - I have access to Win32/MinGW and Win32/Cygwin if testing all variations is required | 00:46 | |
| Coke | I figured, but I'm fairly certain jit is still borked on ppc, so I'm not sure why it's building. | ||
| tetragon | Hrm... some of the darwin stuff is using deprecated functions | ||
| Coke | Limbic_Region: Doubtful, but if you're feeling paranoid... | ||
| tetragon: yup. open ticket on that somewhere. | 00:47 | ||
| (patches welcome, in a not at all snarky way.) | |||
| Limbic_Region | nope, just offering what little contribution I provide these days | ||
| tetragon | I was preparing to see if I could convince this thing to build without requiring manual Makefile edits | ||
| tetragon grumbles about Apple's /usr/bin/perl being built as a universal binary | 00:48 | ||
| Coke | tetragon: you shouldn't need manual edits at all. :| | ||
| ah, is that why? | 00:49 | ||
| tetragon | Back when builds still worked for me, it would trip over i386 assembly | ||
| Coke | probably a matter of smartening up the darwin hints file to pick one or the other and not both. | ||
| cotto_work | Coke, I'm not seeing any build failures so far. | ||
| tetragon | Apple's perl includes '-arch i386 -arch ppc' in its build flags, which causes parrot to try to build itself as universal | ||
| particle | coke: realcleaned, applied patch, configured, building now | 00:50 | |
| Coke | particle: danke. | 00:51 | |
| particle | build succeeds. testing now | 00:55 | |
| particle bets the t/configure tests are as repetitive as the t/steps tests | 00:56 | ||
| Coke | particle: if the build worked, it worked. | ||
| particle | sure. commit it. i'm still gonna test it :) | ||
| course, i can't test nmake -j | 00:57 | ||
| that's not a valid option :( | |||
| Infinoid | hmm, I should test -j on mingw sometime | ||
| dalek | r26678 | chromatic++ | trunk: | ||
| : [GC] Fixed build for --gc=libc (Senaka Fernando, RT #52332). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26678 | |||
| particle wonders when our svn revision will surpass our rt number | 00:58 | ||
| tetragon | Coke: Some people would want both -arch flags | 00:59 | |
| Coke | tetragon: well, sure, if it built... but if it doesn't... | ||
| tetragon | Coke: I haven't tested on my Intel yet... | 01:00 | |
| Coke: I find universal builds tend to work there better than on ppc | |||
| cotto_work | looks like the make race condition is gone | ||
| as am I | |||
| thanks for fixing that | 01:01 | ||
| dalek | r26679 | coke++ | trunk: | ||
| : [build] | |||
| : Resolve #52316 ([BUG] undeclared dependency between role and namespace PMCs). | |||
| : cotto++ for diagnosis. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26679 | |||
| Coke goes to find the old open ticket about the darwin deprecation so he can merge the new bug with the old one... | 01:02 | ||
| particle | # Trailing space or tab char found in the following files: | 01:08 | |
| # C:\\usr\\local\\parrot\\trunk\\config\\auto\\pmc.pm 131 | |||
| Coke grumbles. | |||
| Coke can't find the old ticket he is sure that is a duplicate of. ah well. | 01:13 | ||
| Tene | Coke: open a ticket about it. | 01:15 | |
| Coke | you funny. :p | 01:16 | |
| Tene | I certainly think so. :) | 01:17 | |
| tetragon | I found a build from a couple days ago. It has jit built | 01:18 | |
| dalek | r26680 | coke++ | trunk: | 01:19 | |
| : [codingstd] | |||
| : remove trailing whitespace introduced by myself and other villians. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26680 | |||
| Coke | tetragon: hokay. | 01:21 | |
| dalek | r26681 | coke++ | trunk: | 01:25 | |
| : [oops] | |||
| : Undo accidental commit included in r26680. Villians, indeed. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26681 | |||
| Coke wonders if anyone has thought about how we're going to do MMD without type ids. | 01:52 | ||
|
01:53
grim_fandango joined
02:17
arbingersys joined
|
|||
| wknight8111 | what is MMD? | 02:18 | |
| purl | i think MMD is the media database...do not hurt | ||
| wknight8111 | thanks purl, you're a lifesaver | ||
| Infinoid | purl: no, MMD is multi-method dispatch | 02:27 | |
| purl | okay, Infinoid. | ||
| wknight8111 | Multi-method dispatch? looking that up now.... | 02:28 | |
| haha, it's reassuring when the documentation says "Part or all of this document is outdated" | 02:29 | ||
| Infinoid | if you have multiple methods of the same name, MMD is the process of finding out which one to call, based on the types of arguments you've passed | ||
| wknight8111 | oh. Suddenly I see what coke is worried about | ||
| without explicit data types, matching prototypes is going to suck mad nutz | 02:30 | ||
| Infinoid | type ids would help, indeed | ||
| wknight8111 | excuse my internet slang | ||
| Infinoid | :) | ||
| making MMD as easy (and foolproof) as possible would seem like a good thing, to me. | |||
| purl, without explicit data types, matching prototypes? | 02:32 | ||
| purl | well, without explicit data types, matching prototypes is going to suck mad nutz | ||
| Infinoid | sorry, had to. | ||
|
02:33
contingencyplan joined
|
|||
| dalek | r26682 | duff++ | trunk: | 02:42 | |
| : [config] git URL might not be https and it might not be of trunk | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26682 | |||
|
02:42
grim_fandango_ joined
|
|||
| dalek | r26683 | infinoid++ | trunk: | 02:56 | |
| : [raduko] minor change to pass t/codingstd/trailing_space.t | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26683 | |||
| Infinoid | Coke: should I check in your amd64 t/compilers/imcc/syn/regressions.t workaround? | 02:58 | |
| Infinoid doesn't want to paper over the fact that something is weird on amd64, but maybe the open ticket is enough. | 03:02 | ||
| wknight8111 | what is weird about amd64? | 03:23 | |
| i guess i haven't read enough bug reports yet | 03:24 | ||
| Infinoid | something is being optimized differently enough to break a test | ||
| see the last post on rt.perl.org/rt3/Ticket/Display.html?id=43048 | |||
| I'm not too familiar with IMCC (thankfully), but apparently all situations where the "div_i_ic_ic" was to be useful are supposed to have been optimized away. so it was considered fair game to remove the op. which uncovered the fact that apparently it isn't being optimized away on amd64, though everything seems great on x86 | 03:26 | ||
| or something like that. | |||
| wknight8111 | that is weird that PIR would behave differently on the two platforms. | 03:27 | |
| Infinoid | sounds like a bug, doesn't it? | ||
|
03:27
Ademan joined
|
|||
| wknight8111 | maybe amd64 has some strange floating point bug, like a problem representing 0.0 | 03:28 | |
| of course, it's rarely productive to assume that the error lies in the hardware | |||
| Infinoid | hah. well, this is an Intel chip, so I wouldn't put it past them | ||
| wknight8111 | i would like to see a hex dump of the floating point results out of the imcc parser, see if it's generating the proper values for 0.0 | 03:29 | |
| Infinoid | I would have thought such a bug would have been discovered, advertized and worked around by now. | ||
| but then again, very little of the stuff I do uses floating point at all. | 03:30 | ||
| if you give me a command line I can run, I will run it | |||
| (as I said, I'm IMCC-clueless) | |||
| wknight8111 | i wouldn't know how to do it either, i'm not big on imcc internals either | 03:31 | |
| Infinoid | ./parrot --target=imcc-parse-results-thingy | ||
| wknight8111 | and i dont have an amd64 laying around here, so i cant play with it | ||
| Infinoid | that's odd. | 03:46 | |
| nopaste? | |||
| purl | i guess nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or rafb.net/paste or paste.husk.org/ or poundperl.pastebin.com/ or paste.scsys.co.uk/ or don't bother me while I'm eating | ||
| Infinoid | rafb.net/p/w27OrL16.html | 03:48 | |
| apparently div_x_xc_xc is shorthand for a class of ops that includes div_i_ic_ic ? | 03:49 | ||
| with -D I can see that parrot did attempt compile time constant folding, and got a real_exception (Divide by zero) | 03:50 | ||
| so presumably it fell back on the runtime op | 03:51 | ||
| and the same thing happened on x86, except for the runtime failure | |||
| parrot's debugging flags aren't helping. time for gdb... | 03:55 | ||
| looks like gdb loves continuations almost as much as I do. | 04:10 | ||
| ok.... here's where behavior starts to diverge | 04:20 | ||
| compilers/imcc/parser_util.c line 648: ins = IMCC_subst_constants_umix(interp, unit, name, r, n + 1); | |||
| oops, try again | 04:21 | ||
| compilers/imcc/parser_util.c line 653: ins = IMCC_subst_constants(interp, unit, name, r, n + 1, &ok); | |||
| both x86 and amd64 return NULL | |||
| however, x86 sets &ok to 11, amd64 leaves it set to 0. | |||
| I'm actually not sure whether that ok=11 thing was a stack smash, or somehow valid. | 04:25 | ||
| longjmp-- | |||
|
04:30
liona29 joined
04:32
davidfetter joined
|
|||
| tetragon | The make rule that my system is tripping over didn't exist a couple days ago | 04:32 | |
| Infinoid | which rule? | 04:33 | |
| tetragon | $(SRC_DIR)/exec_dep.c | ||
| Infinoid fixed some Makefile stuff for "make -j", and possibly broke some other stuff | |||
| tetragon | It works in i386 since the file src/jit/i386/exec_dep.c exists, but there is no file by an equivalent name for ppc | 04:34 | |
| Infinoid | and jit is somehow being detected on your platform, despite being ppc? | 04:35 | |
| tetragon | There is a jit directory for ppc and it built on the weekend | ||
| Anyway, the build is proceeding smoothly with the new rule commented out | 04:36 | ||
| And if an equivalent rule gets pumped out no matter which platform, I can already see that ARM'll break | 04:37 | ||
| Infinoid | when in doubt, blame chromatic. do you think it could have been r26636 ? | ||
| that's where i386/exec_dep.c was created, and a corresponding ppc/exec_dep.c wasn't. | 04:38 | ||
| and that's where the rule was added, too | |||
| tetragon | Build didn't complete, fell over the missing object exec_dep.o | 04:39 | |
| Infinoid | www.parrotvm.org/svn/parrot/revision?rev=26636 | ||
| tetragon | Looks like chromatic can be blamed | 04:40 | |
| That commit appears to fit the bill | |||
| Infinoid | svn merge -r26636:26635 . | ||
| if that fixes it, flame away :) | |||
| (you'll need a realclean/reconfigure after that) | 04:41 | ||
| tetragon | The majority of the commit looks to be moving exec_dep.h contents into exec_dep.c | 04:42 | |
| Infinoid looks at RT#47289 | 04:43 | ||
| aaw, I don't know that we can blame chromatic after all. not fully, at least. :( | 04:44 | ||
|
04:44
petdance joined
|
|||
| Infinoid reopens it | 04:45 | ||
| tetragon notes that her build is now at jit | 04:46 | ||
| Infinoid | any luck? | 04:49 | |
| tetragon | I determined that I forgot to clean the tree sufficiently before that build | 04:50 | |
| (Where that build is the one that had just reached jit) | 04:51 | ||
| At the very least, my -arch flag stripping is working | |||
| I don't have to edit every generated makefile in the tree to remove them | |||
| But I'm back at jit | 04:52 | ||
| Infinoid | ok. please post a followup to RT #47289 when you've finished your testing | ||
| tetragon | It succeeded in building jit | ||
| Now I just have to wait the rest out | |||
| Infinoid | I reopened that ticket and posted a description of the problem | 04:53 | |
|
04:53
chromatic joined
|
|||
| chromatic | I think I can fix the JIT problem. | 04:53 | |
| Infinoid | great! | ||
| chromatic | Which platform has the problem? | ||
| Infinoid | ppc | ||
| chromatic | Good. | ||
| tetragon | There are others that do, but not encountered yet | 04:54 | |
| Infinoid | good luck with it, I'm outta here. | 04:55 | |
| thanks for the quick response, chromatic | |||
| chromatic | You're welcome. | 04:56 | |
| tetragon | With that merge, parrot built | ||
|
04:56
jrockway joined
|
|||
| chromatic | It looks like ARM will also have the problem. | 04:56 | |
| tetragon | The ARM I have laying around has neither Perl nor gcc on it | 04:58 | |
| chromatic | I know what the problem is there too, fortunately. | 05:00 | |
| r26684 should work unmodified for you. | |||
| tetragon | The appropriate .c files weren't created? | ||
| dalek | r26684 | chromatic++ | trunk: | ||
| : [JIT] Fixed the JIT build on PPC accidentally broken in r26636. This also | |||
| : finishes more of what RT #47289 tried to accomplish. | 05:01 | ||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26684 | |||
| chromatic | Right. | 05:03 | |
| tetragon | I'll test in a few minutes, need to relocate my computer | ||
| dalek | r26685 | chromatic++ | trunk: | 05:05 | |
| : [JIT] Fixed the JIT build on ARM accidentally broken in r26636. This also | |||
| : finishes more of what RT #47289 tried to accomplish. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26685 | |||
|
05:14
tetragon joined
|
|||
| tetragon | chromatic: Build failed | 05:21 | |
| Syntax error | 05:22 | ||
| pastebin.com/m4f813132 | 05:24 | ||
| I'm taking a quick look at it | |||
| chromatic | Me too. | 05:25 | |
| tetragon | Is it just me, or do both clauses of #if JIT_CGP in exec_dep.h have identical contents | 05:27 | |
| chromatic | What if you include "jit.h" in src/jit/ppc/exec_dep.h? | 05:28 | |
| Good catch. | |||
| tetragon | Same error, error message line numbers offset by one | ||
| chromatic | How about also jit_emit.h? | 05:29 | |
| tetragon | Same error, offset two | 05:30 | |
| chromatic | It doesn't understand Parrot_jit_info_t, but that's defined in jit.h. | 05:32 | |
| Can you do 'make realclean; perl Configure.pl; make' again? | 05:33 | ||
| make -j <n> should be fine | |||
| tetragon | Don't worry, this little ppc only has one cpu | ||
| chromatic | Still goes faster this way. | ||
| tetragon | On this box, the thing that recently sped it up the most was tweaking it to automatically strip out the -arch flags it got from Perl 5 | 05:34 | |
| Same error | 05:39 | ||
| chromatic | Bizarre. | ||
| purl | vous avez dit "bizarre" ? | ||
| chromatic | oui | 05:40 | |
| I'll have to pull out my PPC and try it then. | 05:42 | ||
| ewilhelm | when did parallel make start working? | ||
| tetragon | Grr... When I went from "make -j2" to a plain old "make" it decided to rebuild | ||
| (Not rebuild as in start working) | |||
| chromatic | Infinoid and Coke made it work in the past couple of days. | 05:43 | |
| tetragon | Actually, I'm trying a change to the file that I think will fix it | ||
| ewilhelm | sweet. Infinoid++; Coke++ | ||
| ewilhelm mentions distcc | 05:44 | ||
| chromatic | Yeah, if you want to have multiple machines running simultaneously. | 05:45 | |
| ewilhelm | heh, does it work on ppc? | ||
| you could get about 10 of those for $200 now or so right? | 05:46 | ||
| chromatic | If you want to burn that much electricity yeah! | ||
| tetragon | And i386 works? | ||
| chromatic | Yes. | 05:47 | |
| ewilhelm | (hmm... put a cross-compiler on your real machine and use the ppc just for disk) | 05:48 | |
| chromatic | Scratch-that Computing indeed! | 05:49 | |
| tetragon | It works now | 05:50 | |
| I stuck #include "parrot/parrot.h" into exec_dep.c | 05:51 | ||
| pastebin.com/m7bddf9d2 | 05:52 | ||
| chromatic | That's all it took? | ||
| tetragon | Yes | 05:53 | |
| chromatic | Alright, I'll patch the other files. | ||
| tetragon | Wait... linker failed | ||
| ld: duplicate symbol _ppc_flush_line in src/jit.o and src/exec_dep.o | 05:54 | ||
| The symbol is definitely in both, text section | 05:55 | ||
| chromatic | It's in jit_emit.h | 05:56 | |
| tetragon | I'll remove that #include from exec_dep.h | ||
| Now the compile fails | 05:57 | ||
| chromatic | Remove both includes from exec_dep.h and copy the #include block from src/jit/i386/exec_dep.c into src/jit/ppc/exec_dep.c | ||
| lines 18 - 22 | 05:58 | ||
| tetragon | compile succeeds | 05:59 | |
| Looks like the link succeeded | 06:00 | ||
| chromatic | Now the real test | ||
| TEST_PROG_ARGS=1 prove t/op/*.t | |||
| (provided you're using bash or a bash-workalike) | |||
| tetragon | I'm on a Mac, I get bash by default | 06:01 | |
| And I get a whole stack of failing tests | |||
| chromatic | It was tcsh for a while. | ||
| tetragon | They switched to bash a couple major releases ago | ||
| chromatic | Er, I mean | ||
| TEST_PROG_ARGS=-j prove t/op/*.t | 06:02 | ||
| tetragon | Not nearly as many failing tests | ||
| chromatic | That's better. | 06:03 | |
| tetragon | I got one sigbus so far | ||
| chromatic | Not too surprising. | ||
| tetragon | Either in t/op/interp.t or t/op/jit.t | ||
| And one test unexpectedly succeeded | 06:04 | ||
| chromatic | info.t? | ||
| debuginfo.t? | |||
| tetragon | Need to run them individually | ||
| Neither | 06:05 | ||
| Wait, it was debuginfo | |||
| chromatic | I'll apply these changes for PPC and ARM, and hopefully that'll solve the compilation problem everywhere. | ||
| tetragon | And the sigbus was interp.t | 06:06 | |
| And I got the same sigbus before these changes (and it's on a TODO test) | 06:07 | ||
| chromatic | What's the TODO message? | 06:08 | |
| tetragon | not ok 3 - runinterp - works with printing # TODO something funky here | ||
| chromatic | There's a forehead slapper. | 06:09 | |
| dalek | r26686 | chromatic++ | trunk: | ||
| : [JIT] Really fixed JIT for PPC and ARM (thanks to Seneca Cunningham). | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26686 | |||
| tetragon | I can put up the trace | ||
| pastebin.com/m6db3bd3f | 06:10 | ||
| And the prove -v output | 06:11 | ||
| pastebin.com/m7593b46e | |||
| chromatic | The constant string is invalid for some reason. | 06:12 | |
| ... probably not getting copied correctly from the parent interpreter. | |||
| ... due to some crazy system-dependent weirdness. | |||
| ... because it works on x86. | |||
| tetragon | You're the one on the funky little-endian box | 06:13 | |
|
06:13
TonyC joined
|
|||
| tetragon | Time to drop some coredumps | 06:14 | |
| chromatic | I fully admit that the x86 is a patch on a patch on a patch on the 4004, which is the best engineering the '60s had to offer (despite coming out in the '70s), but might I just add that cross-platform arch-independent JIT sucks? | ||
| tetragon | I now have a coredump of the crash | 06:16 | |
| chromatic | I'm pretty sure I know where it is. | 06:24 | |
| Do you mind filing these crashes as bugs? | |||
| tetragon | Even the TODOs? I think I currently have seven of them | ||
| chromatic | If they succeed, bring them up here. | 06:25 | |
| Otherwise they're groovy. | |||
| tetragon | Most of the sigbus crashes are on TODO | 06:26 | |
| I don't think there are any non-TODO ones left | |||
| chromatic | That's probably good... but we should probably fix them at some point. | ||
| How about this. | |||
| If there aren't any RT numbers in the TODO descriptions, file them and I'll add the ticket numbers. | 06:27 | ||
| That way we'll *know* know they're there, instead of just thinking knowing. | |||
| dalek | r26687 | chromatic++ | trunk: | 06:28 | |
| : [pobj] Removed a blatant lie from the STRING struct comments. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26687 | |||
|
06:31
teknomunk joined
|
|||
| tetragon | I'm outright failing t/compilers/imcc/syn/regressions.t | 06:38 | |
| The non-TODO fails, and the TODO crashes | |||
| chromatic | Coke made some recent changes there. | 06:39 | |
| tetragon | The TODO already has an RT number on it | ||
| Someone else had that one crash | 06:40 | ||
| chromatic | Excellent. | ||
| tetragon | That ticket doesn't have a stack trace, though | 06:41 | |
| (41097) | |||
| chromatic | Feel free to reply with one if you like. | ||
|
06:56
iblechbot joined
08:44
Psyche^ joined
|
|||
| dalek | r26688 | kjs++ | trunk: | 09:33 | |
| : [NEWS] add news about added operators to NQP | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26688 | |||
| r26689 | allison++ | trunk: | 09:34 | ||
| : [pdd] Completed the core architectural component of the Strings PDD. Still | |||
| : adding API sections. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26689 | |||
| cognominal | someone can add to the perl6 status that hash composer is missing and array composer buggy | 09:42 | |
|
09:43
skv joined
10:32
ruoso joined
10:57
kj joined
|
|||
| diakopter notes that [the link to] feather is down. | 11:05 | ||
|
11:07
dalek joined
11:08
PerlJam joined,
wolverian joined
11:10
jonathan joined,
pmichaud joined
11:11
Juerd joined
11:15
leo joined
11:40
kid51 joined
11:42
muixirt joined
11:48
contingencyplan joined
12:17
rdice joined
12:40
particl1 joined
12:41
Infinoid joined
13:06
wknight8111 joined
13:21
skids joined
13:29
IllvilJa joined
13:37
gryphon joined
13:41
ask joined
13:42
ruz joined
|
|||
| wknight8111 | is parrotcode.org down? | 14:29 | |
| pmichaud | looks like the dns was hacked | 14:30 | |
| pmichaud@orange:~$ nslookup parrotcode.org | 14:31 | ||
| Server: 192.168.1.1 | |||
| Address: 192.168.1.1#53 | |||
| oops, wrong address -- never mind | |||
| <-- tired | |||
| ping works to parrotcode.org, but no response on port 80 | 14:32 | ||
| wknight8111 | ok | 14:33 | |
| Coke | someone volunteer to report the issue (after verifying) to webmaster@perl.org ? | 14:53 | |
| dalek | r26690 | coke++ | type_ids: | 14:54 | |
| : [tools] | |||
| : parrotbug requires a configure'd parrot to work. Be more gentle when | |||
| : informing the users about it. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26690 | |||
| PerlJam | I just loaded www.parrotcode.org just fine. | ||
| Coke | particl1: does parrotbug ``work'' on windows? | 14:58 | |
|
14:58
sjansen joined
|
|||
| Coke | (or anyone else with windows. =-) | 14:59 | |
| If so, I think we can resolve RT41601 | |||
| particle | i guess i should ttake a look... | 15:00 | |
|
15:00
peepsalot joined
|
|||
| particle reconfigs and rebuilds | 15:03 | ||
| wknight8111 | it appears to be working for me now | 15:06 | |
| Coke notes that parrotbug just needs a config. | 15:13 | ||
| particle | ==> Sending message to recipient... | ||
| I am terribly sorry, but I cannot find sendmail, or a close | |||
| equivalent, and the perl package Mail::Send has not been installed, so | |||
| I can't send your bug report. We apologize for the inconvenience. | |||
| So you may attempt to find some way of sending your message, it has | |||
| so, i gotta get a module or two | 15:14 | ||
| Coke | I assume it tells you where the file was saved? | ||
| particle | i'll retry after installing them | ||
| yep, i must have been throttled away | |||
| So you may attempt to find some way of sending your message, it has | |||
| been left in the file 'C:\\Users\\particle\\AppData\\Local\\Temp\\bugrep05840'. | |||
| that's the text of the message, but not any of the other info (category, severity, etc) | 15:15 | ||
| Coke | presumably that's in the file. | 15:18 | |
| I'd say that's "working". =-) | 15:19 | ||
| Coke finds another email address that might be the guy that owns the macport. | |||
| particle | i've installed Mail::Send and am trying again | 15:31 | |
|
15:31
Theory joined
15:32
AndyA joined
|
|||
| particle | ==> Sending message to recipient... | 15:33 | |
| Died at C:/usr/bin/perl-5.10.0/site/lib/Mail/Mailer.pm line 284, <STDIN> line 7. | |||
| it's b0rk | |||
| Coke | Ok. if you have time, a patch would be great, otherwise I can take a look at it at home at some point. | 15:36 | |
| dalek | r26691 | coke++ | trunk: | 15:39 | |
| : [docs] | |||
| : "I am happy to report improvements for both cc and gcc since last time I | |||
| : ran a full 'make test'." -- Andy Dougherty (RT #52376) | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26691 | |||
|
15:44
Andy left
|
|||
| Debolaz tries to run a binary perl6 and gets a coredump in his face. | 16:07 | ||
|
16:11
jan joined
|
|||
| pmichaud | Debolaz: what platform? | 16:19 | |
| Debolaz | Well, it did work for some things, but when I tried to declare a class with a method it went up in flames. | 16:22 | |
| FreeBSD 7 | |||
| pmichaud | maybe try it with parrot perl6.pbc instead of the binary | ||
| or submit it to rakudobug@perl.org | 16:23 | ||
| and we can take a look | |||
| Debolaz | perl6.pbc worked fine. | 16:24 | |
| pmichaud | hmmmm | ||
| must be something to do with compile/link. Or perhaps a GC issue. | |||
| I'd definitely report it to rakudobug then | |||
| kj | using pbc_to_exe-generated executable also blew up my squaak compiler once | ||
|
17:03
davidfetter joined
17:07
Psyche^ joined
17:08
barney joined
|
|||
| dalek | r26692 | bernhard++ | trunk: | 17:15 | |
| : Let svn ignore the generated, that is copied, file exec_dep.c. | |||
| : Clean up exec_dep.c | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26692 | |||
| Coke | pmichaud: ping | 17:42 | |
| pmichaud: can you take rt.perl.org/rt3/Ticket/Display.html?id=44447 ? | 17:43 | ||
| even if all you do is add a note about how to move forward? | 17:44 | ||
|
17:45
barney joined
17:47
peeps[work] joined
|
|||
| pmichaud | coke: sure, I'll take care of it. :-) | 17:48 | |
| Done. | 17:51 | ||
|
17:52
mncharity joined
|
|||
| Coke | sehr gut, thanks. | 17:52 | |
| Coke now has 30 rt tickets. | 18:02 | ||
| 44+751+95 | 18:04 | ||
| purl | 890 | ||
| barney | 45 + 751 + 95 | 18:08 | |
| purl | 891 | ||
| Coke | barney: that should refer to the similar ticket for perl6. | 18:10 | |
| mncharity | hi. I'm groveling over the PAST spec, and will likely leave a trail of comments as I go. Questions/comments would be welcome and appreciated. tnx. | 18:15 | |
| in www.parrotcode.org/docs/pdd/pdd26_ast.html , Var scope() "package" refers to a possible 'namespace' attribute, which is otherwise unmentioned as a possible attribute of Var. | 18:19 | ||
| particle | these are better sent to the list, so they're not forgotten. | ||
| dalek | r26693 | bernhard++ | trunk: | 18:20 | |
| : [HQ9+] | |||
| : No need to load non-existing 'hq9plus_group'. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26693 | |||
| Coke | PS in 9 | 18:21 | |
| particle | coke: i'll likely be a bit late | 18:23 | |
| shower & | |||
| Infinoid practices his inflection and tone. "Berift of life, it rests in peace! If you hadn't nailed it to the perch, it'd be pushing up the daisies!" | |||
|
18:27
chromatic joined
|
|||
| chromatic | #ps in 2 | 18:27 | |
| mncharity | particle: re list post, please feel free? the exercise of <get on some list to be able to post; write post; get off list to return to no-more-cluttered-current state> seems rather a misson creep. | 18:28 | |
| Coke | mncharity: yes, but you're more likely to get results if you inconvenience yourself instead of us. =-) | 18:29 | |
| mncharity | re pdd26_ast.html , similar issue with Var slurpy() mentioning a 'named' attribute, which is not otherwise documented as a possible Var attribute. | 18:30 | |
| Tene | Oh, wow, I'm here again during #ps. | 18:33 | |
| mncharity | re inconvenience, ah, ok - my purpose is synthesizing an IR node set I can use for a few weeks from kp6/redsix/STD5/PAST. the "reports of PAST doc oddities" is a side effect. well, not entirely, also an opportunity to hear "oh, that's gone now, we punted that because x". but what gets done with the observations is out of my mission scope. ;) | 18:34 | |
| they're basically fyi's. | 18:35 | ||
| particle | mncharity: you don't need to join, you only need to mail p2 and wait for a moderator to approve | 18:36 | |
| chromatic | I'm still unclear as to the goal of redsix etc; mind enlightening me or at least attempting? | ||
| Coke | particle: you back? | 18:37 | |
| particle | yep | ||
| PerlJam | chromatic: to win! | 18:38 | |
| oh ... that's probably something different :) | |||
| mncharity | chromatic: sure, let's see... | 18:39 | |
| redsix was a 2006 quick (order month) implementation of p6 in ruby. There's a history in svn.pugscode.org/pugs/misc/pX/Commo...006/README , but basically, pugs had gotten stuck, so redsix was written as a non-haskell pugs, set up to boostrap into p6. | 18:42 | ||
| shorten | mncharity's url is at xrl.us/biqr5 | ||
| chromatic | What do you get out of the bootstrap? | ||
| pmichaud | mncharity: named is an attribute for all PAST nodes, not just PAST::Var. (It may be undocumented, yes.) | 18:43 | |
| mncharity: you're correct that PAST::Var is probably missing documentation for the namespace attribute. | |||
| mncharity | the project ran over my time budget, and pugs got unstuck for a while, so it became inactive. it occasionally got dusted over the years, but basically hasn't been worked on since. so that's redsix. | ||
| re 'named', ah, ok. not just 'name', but 'named' too. got it. | 18:44 | ||
| tnx | |||
| pmichaud | I agree it's a lot to put on one character difference -- but I went with named to match the parrot calling conventions (which also uses "named") | 18:45 | |
| 'name' is the name of the variable or block | |||
| 'named' is how it's referred as a named parameter in a call | |||
| mncharity | re 'What do you get out of the bootstrap?', the ability to work in p6. which is a much nicer language to write language implementation in than p5/ruby/common-lisp/smalltalk/etc/etc. | 18:46 | |
| as well as being a nice target state. | |||
| chromatic | You need to have a platform on which to run it though. | ||
| mncharity | re need platform, indeed. and in so far as some platform doesn't quite match the intended use, there is cost. but there's also a world of effort invested in compilers for assorted languages, etc. some platforms will no doubt give much better performance than others for different aspects of p6. someone suggested yesterday a fortran backend for large-scale numerical computing. :) | 18:51 | |
| chromatic | Yeah, but someone has to write it. | ||
| mncharity | re one character difference, oh, np, I was just repeating to make sure I understood. | 18:52 | |
| re 'someone has to write it', or have written it. indeed. | |||
| chromatic | Is redsix such a platform then? | 18:53 | |
| mncharity | re 'goal of redsix etc', one etc is elf, my current focus. it's a bootstrapped backend (using an external parser, while waiting for STD to become usable, to then become fully bootstrapped). it's intent it to provide people the ability to start creating large-scale p6 programs. pugs never quite got there. | 18:56 | |
| chromatic | What's the underlying platform? | ||
| PerlJam | mncharity: Say I was such a person, how would I use elf to create large scale perl 6 programs? | 18:57 | |
| mncharity | re 'Is redsix such a platform then?', no. a ruby backend might be interesting, because the ruby object model is looks to be close enough to p6 to be able to use it fairly directly, and thus with fairly low overhead. but while some of the ideas from redsix might be recycled, the redsix codebase is dead. fairly thoroughly dead now that elf is working. | 18:58 | |
| re elf underlying platform, the current one is p5. a Moose-ish p5 mostly. but a derivative which trades some Moose foundation-for-correctness for a more-hackish-but-faster p5 code, has been suggested. | 19:00 | ||
| re 'how would I use elf to create large scale perl 6 programs', wait a few days? :) svn.pugscode.org/pugs/misc/elf/elf_c_src/README shows how how elf_c, the most recent elf, compiles it self. basically whole-program compilation of the mentioned p6 files. the intent is to get that down to | 19:03 | ||
| something like ../elf_c -x -o ../elf_c1 ElfC.pm . but, | 19:04 | ||
| PerlJam | mncharity: how much of STD does elf grok? Or, put another way, what's missing? | 19:06 | |
| mncharity | the dialect of p6 supported is currently quite narrow and kludgey. mostly characterized by "whatever was quick and easy for the bootstrap". vague plan is modularize (so people can easily resume work on the backends they were pursuing before hitting kp6, or longer ago, pugs, limits), less icky IR which can be lived with for at least a few weeks, | ||
| and start churning out Prelude, backends focused on conformance rather than convenience, and beginning the slog through the test suite. | 19:07 | ||
| chromatic | Do you plan to build everything that Perl 5 doesn't support but Perl 6 needs in Perl 6 then? | 19:08 | |
| mncharity | re 'how much of STD does elf grok', zip. well, I haven't tested it - perhaps some code fragments. but it's using STD_red, a copy of STD hand translated badly into ruby, as an external parser. basically, as STD5 matures, it can become an alternate parser. As it matures enough to be plausibly translated back into p6 (eg, "metholate2"), it can use that. and in some distant day it may be up to parsing STD.pm directly. But very not | 19:11 | |
| hmm, that was a long entry. if anyone got clipped, sing out. | |||
| chromatic | "But very not..." | ||
| mncharity | "But very not rsn." | 19:12 | |
|
19:12
kj joined
|
|||
| mncharity | re "Do you plan to build everything that Perl 5 doesn't support but Perl 6 needs in Perl 6 then?", not I. Big picture is I'd like to build most everything in p6. p5 is not a backend which gives me warm fuzzies, but various other people care about it, and it was a plausible place to do the backend bootstrap. my objective with elf is to get other people unstuck. | 19:16 | |
| chromatic | To get people unstuck and able to write Perl 6, you need an AST emitted from a working Perl 6 parser which runs on a working Perl 6 backend? | 19:18 | |
| mncharity | yes. no? | 19:19 | |
|
19:20
allison joined
|
|||
| Infinoid | allison: just curious, what's the timeline for concurrency? do we currently do any multithreading? (I'm wondering how effective our testing of Harmony GC will be.) | 19:21 | |
| PerlJam | mncharity: I think you're falling into the same trap as other implementations have. "I'll do all this work so that we can get a minimal Perl 6 going and *other people* can finish it off" is the impression I get from you now. | ||
| allison | Infinoid: yes, we're currently multi-threaded | 19:22 | |
| Infinoid: so what we're doing now is implementing the final spec, mainly a matter of refinement and cleanup | |||
| Infinoid | great, thanks. | 19:23 | |
| allison | Infinoid: I don't know if Harmony's GC is going to work with Parrot, it may be too custom to Java's needs to be useful, but it's worth experimenting | 19:24 | |
| Infinoid | it sounds like they are actively trying to make it standalone. The question is how big the adaptation layer needs to be, right? | ||
| chromatic | ... and how it finds live objects. | 19:25 | |
| allison | Infinoid: yes, well, or if an adaption layer is even possible | ||
| Infinoid: it depends on how great the mismatch of assumptions is | |||
| Debolaz | It was mentioned earlier that it was at least hoped that version 1.0 of parrot would be ready this year, but when is it expected to be possible to write "real" applications with rakudo, even if not officially condoned and maybe with unstable results? | ||
| kj | Debolaz: at least you can use the NQP Perl 6 subset :-) | 19:26 | |
| Infinoid | is parrot's 1.0 tied to raduko? | ||
| allison | Infinoid: I suggested to the SoC student that he focus on developing Harmony's API for as a pluggable GC. That alone is a huge summer project | ||
| Debolaz | Infinoid: Bound and gagged. :-P | 19:27 | |
| pmichaud | Debolaz: I expect people to be able to write "real" applications with rakudo by this summer | ||
| it would help if we knew what features are needed-but-missing | |||
| (i.e., for prioritizing) | |||
| allison | Infinoid: well, having a usable implementation of 2 major languages is one of the 1.0 goals | 19:28 | |
| Infinoid: currently rakudo and pynie are our top candidates | |||
| mncharity | re trap, the hypothesis is indeed something like "the reason people are no longer writing p6 is the same reason *I* haven't been - you can't. attempting non-small code in pugs becomes an exercise in working around pugsbugs, which on the inactive codebase, can't actually be fixed. and kp6 is painfully slow (plus perhaps a couple of other issues)" plus the hypothesis | ||
| Infinoid | allison: well, I'll make sure he doesn't get blocked on the parrot side of things :) | 19:29 | |
| you're right, though, it does sound like a lot of work. | |||
| Debolaz | pmichaud: So you would encourage me to try implementing things with rakudo and bitch about it when it doesn't work? :) (Or at least make a note of it:) | 19:30 | |
| chromatic | I'm not sure about it being that much work. A good GC only has a couple of entry and exit points in its API. | ||
| pmichaud | Debolaz: yes, if you can handle a little frustration at times :-) | ||
| allison | Infinoid: many thanks | ||
| mncharity | "if you create a p6 implementation in which people can pursue the things they have already demonstrated interest in pursuing, but give them happy pragmatics (speed, easy customization and stability), then they will return and resume their work". | ||
| pmichaud | Debolaz: unfortunately I've been distracted by non-rakudo items for a few months, but that appears to be resolving itself now | 19:31 | |
| chromatic | (now you may have to change all of the rest of the system to have lock points around acquiring GCable items, but that's a different problem) | ||
| Infinoid | chromatic: one of the things that makes me nervous is: how tied are we to the current GC? the other plugins are in varying stages of functionality, and apparently, they have been for years. | ||
| chromatic | Less so than last year. | ||
| pmichaud | Debolaz: but I would be very happy to hear reports of "I wanted to do this in rakudo but it doesn't work yet" | 19:32 | |
| Infinoid | I expect some more bugs to crop up, and I look forward to fixing them. | ||
|
19:32
pelagic joined
|
|||
| chromatic | Without some careful thought (or a great deal of luck) I think we'll have trouble with any non-stop-the-world collection. | 19:32 | |
| Infinoid | It seems like I should learn a lot about GC internals sometime in the near future. at some point, I'd love it if you could elaborate on that. | 19:33 | |
| mncharity | PerlJam: avoiding "yet another dead-ish p6 implementation" was indeed the defining design objective of the exercise. I believe elf has the right properties, but we'll see. probably within a week or so, as a couple of people seem to be in a busy wait, so if they adopt it, at least someone is unstuck. | 19:34 | |
| chromatic | Mostly the problem is that if you move a GCable element (copying or compacting collector), you have to update all of the pointers to that element before they try to use it. | 19:35 | |
| Infinoid | I suppose that means they have to be scanned for, or have backreferences. | ||
| allison | Infinoid: right, and currently there is no mechanism for backreferences, or intermediate pointers | 19:37 | |
| mncharity | I think that was everyone's questions. Others welcome. /me -> back to IR exploration. | ||
| chromatic | mncharity, why build a new platform? | ||
| mncharity | re "platform", same meaning a before, a compiler target? | 19:39 | |
| *as | |||
| chromatic | Right. | ||
| Every bootstrap needs to run on *something*, whether you emit C from Scheme or Smalltalk or Perl 5 from ELF or PIR/PBC from PCT. | |||
| Not that PCT is a bootstrap. | |||
| Infinoid | allison: is such a mechanism proposed, or should I try a couple of halfbaked things and let you guys tell me how wrong I am? :) | 19:40 | |
| Infinoid promises to spend a couple of days trying to wrap his head around all of this stuff, in any case. | |||
| allison | Infinoid: it's not currently spec'd. In fact, we're not planning to implement a compacting or copying collector until after 1.0 | 19:41 | |
| Coke | allison: note that we have a few SOC proposals re: gc. | 19:42 | |
| chromatic | Infinoid, a copying collector isn't too bad. If you're willing to live with stop-the-world, we could change pobject_lives() such that it copies or updates. | ||
| Infinoid | well, Harmony is not a stop-the-world GC, so it sounds like things might break gloriously. | ||
| chromatic | We have to pass in the pointer location, but that'll get rid of some boilerplate. | ||
| Harmony probably requires a read barrier. | 19:43 | ||
| mncharity | re 'why build a new platform?', because new platform x gives you something you want that your current ones don't. eg, Moose p5 added for easier and eventually more conformant p6 compilation than the preceeding bare p5. ruby might provide faster method calls, an object system which might be wielded to implement true p6 oo without much overhead, | ||
| crude jit, and thus be faster and more correct than a p5 platform. a common lisp platform would provide mature and wizzy compilers. ... etc. | 19:44 | ||
| a 'not-very conformant but compiles to p5-compatible code' might provide the ability to write cpan modules in something like p6. | 19:46 | ||
| Infinoid | ok. Thanks for the answers, guys. | ||
| chromatic | And so you want people who're already working on such a platform that can actually run Perl 6 code today to dump out an AST so that people who are blocking on the non-existence of an as-yet-unwritten platform can ... wait a little longer for that as-yet-unwritten platform to get to the point where they can actually run Perl 6 code? | ||
| I mean, I can see the theoretical benefits of running on a mature Lisp platform or Smalltalk or Rhino or whatever, but none of those experiments have ever worked beyond "Hey, I can parse Perl 6 lexical variable declarations and simple if/else blocks!" | 19:47 | ||
| mncharity | me puzzled by preceeding paragraph... let's see... | 19:48 | |
| *previous | |||
| chromatic | I'm reading a lot of "this platform might do this" and "that platform could do that", but practically speaking, where's the beef? | ||
| mncharity | is "people who're already working on such a platform that can actually run Perl 6 code today to dump out an AST" a reference to earlier interest in getting a yaml dump of ast from rakudo? | 19:49 | |
| chromatic | Yes. | 19:50 | |
| mncharity | ah, ok. re yaml dump of ast, I ended up following pmichaud's suggestion to scrape the --target=parse output, and built a project elf_on_rakudo on it. the parsing ended up being rather slower than I was hoping for, and STD_red seemed to be working fairly well, and so an elf_on_STD_red was done. that then became the current elf. | 19:51 | |
| also, yaml turned out to be a problematic interchange format. elf_on_STD_red hit both yaml bugs, and performance issues, eventually switching to a more "I know you are running p5 - here is a dump format you can just eval there" interchange approach. 'match("rule name",0,1,"the text which matched",{...})'. | 19:53 | ||
| which was much faster and less buggy. | |||
| chromatic | You want to write Perl 6 in Perl 6, right? | 19:54 | |
| mncharity | so the "yaml from rakudo parse" is no longer of near-term interest. sorry I didn't gc that sufficiently. | ||
| yes | 19:55 | ||
| a dump of PGE matches would still be of interest however. | |||
| in whatever format | |||
| chromatic | Well it's not *my* interest, but I'm only speaking for myself. I've no interest in telling other volunteers what to do. | ||
| mncharity | I wasn't suggesting it was. | 19:56 | |
| dalek | r26694 | allison++ | trunk: | ||
| : [pdd] Clarification to Strings PDD from Jim Keenan. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26694 | |||
| chromatic | In your mind, the simplest/most desirable/easiest way to write Perl 6 in Perl 6 at this point is to use Rakudo to parse Perl 6 code into a parse tree, export that parse tree somehow, parse that exported tree into an application written in Perl 6 and running on Perl 5? | 19:57 | |
| Coke | mncharity: you can dump pge match objects atm. | 19:58 | |
| wknight8111 | that process seems awfully convoluted to me | ||
| chromatic | That's why I'm asking. I feel like I'm missing something. | 19:59 | |
| wknight8111 | if it were me, and I know it's not, I would write Rakudo V 1.0 in PIR/NQP. Then write Rakudo V2.0 in Rakudo V1.0, etc. | 20:00 | |
| that way you don't have to wait for a new tool/platform to be available before you can make a release | |||
|
20:01
ruoso joined
|
|||
| dalek | r26695 | kjs++ | trunk: | 20:12 | |
| : [pdd29] check in initial pdd stub for compiler tools. update manifest. keywords are set. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26695 | |||
| mncharity | chromatic: no. but s/Rakudo/STD_red/, and that is what elf is currently doing. elf_on_rakudo did what you described - but I consider it dead code. | 20:15 | |
| as for whether elf is 'the simplest/most desirable/easiest way to write Perl 6 in Perl 6 at this point', it's certainly letting me write p6 code which nothing other than pugs might run, without worrying about getting hung up on pugsbugs, and with a much faster edit-test cycle. so, yes. | 20:17 | ||
| chromatic | Is STD_red a Perl 6 grammar parser written in Ruby? | ||
| mncharity | STD_red is a kludge of a direct hand translation of STD.pm into ruby. it parses, buggily, p6. upside is its fast, and the coverage is much better than STD5 at present. | 20:19 | |
| token foo { <bar> <hee> {...p6 code...} } -> def foo() { b=bar and h=hee and ...ruby code... and _make_a_match(..b..h..) } | 20:21 | ||
| chromatic | What features does Rakudo need to support before it's a more viable platform than elf? | ||
| mncharity | than elf itself, rather than the STD_red part of elf? hmm... | 20:26 | |
| dalek | r26696 | kjs++ | trunk: | 20:27 | |
| : [pdd29] fix copyright year; add a reference and add an abstract line. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26696 | |||
| mncharity | so rakudo has a more real parser. you'd loose bootstrap, but for many things that doesn't matter. matters for backend and primitives work, somewhat for Prelude, not at all for much else. so after that, it's just performance? | 20:29 | |
| chromatic | Why would you lose bootstrap? | 20:30 | |
| mncharity | elf_c, the current "elf of Monday night, today, and hopefully move off it later this week", can compile svn.pugscode.org/pugs/misc/elf/elf_c_src/ in about 20 sec, and run it in doing the same task in 10 (the other half being the parser). rakudo needn't be that fast, and much work is on smaller things, and one can do makefile-like 'avoidance of compilation'. So while rakudo was too slow for elf_on_rakudo, it | 20:32 | |
| may be fine to be viable, leveraging its other advantages. | |||
| re 'Why would you lose bootstrap?', because rakudo isn' | |||
|
20:33
findlay joined
|
|||
| mncharity | t implemented in p6? so one still faces a variant of the pugs "I really need to do x, my compiler won't let me, and there is nothing I can do about, so I spend time trying to find workarounds". | 20:34 | |
| chromatic | Do you think then that the complexity of bootstrapping is less a barrier to overcome than the complexity of learning, say, NQP? | 20:36 | |
| ewilhelm ponders toggling the instruction set for nqp directly into the cpu's front-panel... | 20:38 | ||
| mncharity | well, the backend portion of the bootstrap is done. cost paid. cost for the front end is mostly writing a "regex on regexp" implementation in p6. of which there is already a p5, so it shouldn't be too bad. vs NQP, the pain of maintaining STD_red should be included, though it's been at least slightly amortized over helping with STD.pm work. re barrier, | 20:40 | |
| chromatic | There's a conceptual cost of understanding the layers, and bugs in lower layers tend to be much more difficult to find and to diagnose. | 20:41 | |
| mncharity | the key question short-term, this week, will be "you got this dialect working, it's a dialect you personally understand and has what you most wanted. but as to whether *I* understand and can use it, and whether it has the features *I* need for comfortable development..." for a multiperson value of I, is unclear. the question which follows is how rapidly a feature set which makes people generally happy can be grown. | 20:43 | |
| re layers, and expecially error reporting, agreed. currently taking advantage of the p5 layer being readable, but that doesn't scale. current story is that the/a emitter should rsn start inserting #line's refering back to the original p6 source. or let users toggle that. or some such. the info is available at emit time, it just hasn't been enough of an irritant (barely), to happen yet. | 20:47 | ||
| chromatic | Your conjecture then is that there are more people willing to learn Perl 6 and how to write a bootstrapping compiler than there are willing to learn NQP? | 20:51 | |
|
20:52
rafl joined
|
|||
| mncharity | re conjecture, no. that there are more people willing to learn Perl 6 than NQP seems clear. that [...] to learn some elf dialect of p6 than learn NPQ, of course depends entirely on how extensive the dialect support becomes, and when. Unclear. But that's not the near-term objective. That there are more _p6 compiler writers_ wishing to work in bootstrapped p6 rather than in NQP on parrot is the conjecture. well, hypothesis. | 21:03 | |
| chromatic | What's the near-term objective then? | 21:04 | |
| mncharity | support the '_p6 compiler writers_ wishing to work in bootstrapped p6 rather than in NQP on parrot'. | ||
| chromatic | I thought that wasn't your near-term goal. What is your near-term goal *not*, then? | 21:08 | |
| mncharity | while pugs also supported a population of people writing "some random module" in p6, their (not) being able to get work done does not at present directly hurt a development critical path towards Christmas. And won't until we have enough of the language working that their language-design feedback becomes key. | ||
| ewilhelm notes parallel that squeak was written in a subset of smalltalk | 21:17 | ||
| (though smalltalk was already a mature language at that point) | |||
| Tene | It really would be nice to be able to write Random::Perl::Module to use with Parrot. | 21:22 | |
| chromatic | Sure, but the open question is "Is bootstrapping a likely way to get there?" | 21:27 | |
| My opinion is no secret: you'll end up reinventing something that looks very much like Parrot to do so. | 21:28 | ||
| ewilhelm | Tene: use in what way? Couldn't perl5 be embedded (with limited connectivity ala inline) via C with a small matter of code? | 21:29 | |
|
21:29
ruz joined
|
|||
| ewilhelm | of course, the squeak developers were apple employees :-/ | 21:29 | |
| Tene | ewilhelm: Perl 6 modules, I mean. | ||
| ewilhelm | well, that sort of supposes that rakudo is done, no? | 21:30 | |
| chromatic | No, why? | 21:32 | |
| People wrote modules for Perl 5.000 despite Perl 5.10 being a decade away. | |||
| ewilhelm | well, what breaks if I write Random::Perl::Module (e.g. File::Fu) in perl 6 today? | 21:33 | |
| chromatic | I don't understand the word "breaks" in this context. | 21:35 | |
| ewilhelm | what doesn't work? | 21:36 | |
| purl | Look buddy, doesn't work is a strong statement. Does it sit on the couch all day? Is it making faces at you? Does it want more money? Is it sleeping with purl's girlfriend? Please be specific! | ||
| ewilhelm | iiuc, operator overloading isn't fully specified | ||
| chromatic | Sure, and that means for File::Fu to work as written, Rakudo needs to support that type of operator overloading. | 21:37 | |
| Unless that's absolutely the last thing added to Rakudo, I'm not sure that Rakudo has to be done for you do port File::Fu. | 21:38 | ||
| ewilhelm | s/done/in some satisfactory state of readiness/ | ||
| i.e. everyone has their own threshold of ride-along vs wait vs contribute | 21:39 | ||
| chromatic | Yeah, but not all of them are "It must be DONE". | 21:42 | |
| That's why I like to ask for specifics. | |||
| ewilhelm | www.perlfoundation.org/perl6/index....rl_6_today | 21:43 | |
| shorten | ewilhelm's url is at xrl.us/biq6w | ||
| ewilhelm is curious when the "3D graphics" stub will become a link | 21:44 | ||
|
22:01
jan joined
|
|||
| davidfetter wonders whether ewilhelm is the same ewilhelm he heard on talk of the nation today | 22:10 | ||
| chromatic | This one is a Josh, not a Kaiser. | ||
| davidfetter | heh | ||
| davidfetter fails to note any early april stuff on parrotcode.org | 22:11 | ||
| it must just be too subtle | |||
| wknight8111 | the site was down this morning, that counts | 22:16 | |
| mncharity | pmichaud: one more for the todo list, but it seems unambiguous. PAST::Op pasttype(for) mentions an otherwise unmentioned 'arity' attribute. --target=PAST shows it in Block, but only if explicit arguments are given (eg, "foo () -> $x {3}" but not "foo () {3}"). fyi. I think I'm all set. thanks for your help. | ||
|
22:17
Limbic_Region joined
|
|||
| ewilhelm | davidfetter: I think I'm the one you had a beer with several months ago in portland | 22:20 | |
| davidfetter | w00t! | ||
| cotto_work | now that PDD17 renamed "does" to "provides", are the "does" and "does_pmc" VTABLE method names also going to change? | 22:51 | |
|
23:02
nopaste joined
23:08
skids joined
|
|||
| dalek | r26697 | allison++ | trunk: | 23:20 | |
| : [pdd] A few more clarifications to the Strings PDD, while responding to mailing | |||
| : list comments. | |||
| diff: www.parrotvm.org/svn/parrot/revision?rev=26697 | |||
|
23:20
tetragon joined
|
|||
| Infinoid | cotto_work: they probably should | 23:43 | |