|
#parrot Parrot 2.2.0 Released! | parrot.org/ | Channel log: irclog.perlgeek.de/parrot/today | Tasks: Fix compact_pool shenanigans | Fix HLL bugs (TT #389, #1040) | Prioritize Rakudo Needs Set by moderator on 16 March 2010. |
|||
| darbelo | dukeleto: How would you feel about just plain *disabling* the various auto:: Config steps for cross-builds? | 00:01 | |
| kid51 | devs who are interested in cross-builds: Please see to what extent the file-based configuration option in Configure.pl meets your needs. | 00:02 | |
| darbelo | I, as far as I've thought about it, can't find a sane way to make them work in a fully cross environment (say OpenBS i386 building for RTEMS ARM) | 00:03 | |
| kid51: We have file-based config? | |||
| I was about to suggest adding that. | |||
| kid51 | 2-3 years ago, particle filed an RT requesting this, specifically for future cross-compilation. | ||
| I wrote it, though I don't know if anyone has ever used it for that purpose. | 00:04 | ||
| perldoc Configure.pl | |||
| darbelo | --file ? | ||
| dalek | rrot: r45049 | jkeenan++ | branches/tt1516_builddir_option: Create branch to work on TT #1516: different build directory for cross-compiling. |
||
| rrot: r45050 | jkeenan++ | branches/tt1516_builddir_option (2 files): First, insufficient, patch toward providing a command-line option to specify an alternate build directory (needed for cross-compilation). 'make' fails at miniparrot due to inability to locate -lparrot. |
|||
| kid51 | grep Configure.pl for FILE-BASED CONFIGURATION | 00:05 | |
| If it doesn't meet your needs, feel free to hack on it. | |||
| darbelo | kid51++ # Looking at it now. | 00:07 | |
| kid51 | See also t/configure/008-file_based_configuration.t | 00:09 | |
|
00:19
snarkyboojum_ joined
|
|||
| japhb chuckles at Kakapo's .IDONTGIVEADARN | 00:29 | ||
| darbelo | Coke: ping | 00:30 | |
|
00:35
Psyche^ joined
|
|||
| darbelo | Coke: un-ping | 00:35 | |
| Coke | darbelo: un... pong? | ||
| darbelo | I was about to ask you something, but the I figured it out myself. ;) | 00:36 | |
| japhb | Austin++ # Using '$object.method: $arg;' syntax in Kakapo, and thus showing me it existed. ;-) | 00:41 | |
|
00:46
Psyche^ joined
00:57
hercynium joined
01:15
theory joined
|
|||
| Andy | hey kid51 haven't seen you for a while | 01:19 | |
| Whiteknight | nobody has seen kid51 for a while. Last I heard there were computer problems | 01:22 | |
| dukeleto | darbelo: just got back to reality. i guess i would be fine with disabling auto-config steps | 01:23 | |
| kid51 | Whiteknight: I was here earlier. Where were you? | ||
| And what are you doing up past your bedtime? | 01:24 | ||
|
01:24
sorear joined,
eternaleye joined
|
|||
| Whiteknight | kid51: I have to stay up while the kid is up. I sleep when he sleeps | 01:25 | |
|
01:25
snarkyboojum joined
|
|||
| kid51 | Andy: I haven't had much to do in Parrot. But I have been busy in Perl: github.com/jkeenan/cpan-mini-visit-simple | 01:26 | |
| github.com/jkeenan/extutils-parsexs | |||
| Andy | Why do I want to visit pakages in a repo? | 01:27 | |
| like to do stats on them or somethgin? | |||
| dukeleto | kid51: do you know how hard it would be to add the ability to specify a build directory to Configure.pl ? | ||
| kid51 | dukeleto: I was chatting with Coke about that about 2 hours ago. | 01:28 | |
| Created a branch | |||
| With a patch that isn't working | |||
| branch: tt1516_builddir_option | 01:29 | ||
| dukeleto | kid51: sweet! | ||
| kid51: i will check that branch out and see if I can help | |||
| kid51: that feature will really help with porting Parrot to embedded platforms | 01:31 | ||
|
01:39
eternaleye joined
|
|||
| kid51 | Andy: If you are working on the Perl toolchain, and you want to make sure your changes don't break (a lot of) CPAN, you will want to visit all (or a subset of) the distros in a minicpan and test your changes there. | 01:41 | |
| So if I'm phalanxing ExtUtils::ParseXS, I want to be able my changes inflict minimal damages on the 1/10 of CPAN that uses XS. | 01:42 | ||
| Andy | understood | ||
| kid51 | So, at this very moment, I'm testing "before" and "after" versions of ParseXS against a sample of 200 CPAN modules | 01:43 | |
|
01:58
atrodo joined
|
|||
| dukeleto | kid51: sounds prudent | 02:18 | |
|
02:38
theory joined
02:39
Mokurai1 joined
02:45
abqar joined
|
|||
| sorear | How is MANIFEST.generated regenerated? | 03:06 | |
| plobsing | tools/dev/mk_manifest_and_skip.pl | 03:07 | |
| sorear | thanks | ||
| hmm, looks like mk_manifest_and_skip only handles MANIFEST and MANIFEST.SKIP | 03:08 | ||
| MANIFEST.generated looks vaguely human-edited | 03:09 | ||
| plobsing | wtf | 03:13 | |
|
03:23
theory joined
03:35
janus joined
03:37
sorear joined
04:17
Andy joined
04:50
parthm joined
|
|||
| cotto | Is there a specific project that'll use Kakapo or is Austin just writing it so it's there when it's needed? | 04:55 | |
| sorear | purl, kakapo? | 05:08 | |
| purl | well, kakapo is a program framework, runtime library, and collection of useful functions for NQP programs. or See code.google.com/p/kakapo-parrot/ for documentation and issue tracking, or gitorious.org/kakapo for source code. | ||
|
05:14
parthm joined
05:16
snarkyboojum left
|
|||
| Coke | i'm considering stealing some of it for partcl at some point. | 05:27 | |
| but nothing in particular. | 05:28 | ||
| bacek_at_work | cotto, ping | 05:32 | |
|
05:33
parthm joined
|
|||
| Andy | Coke: Have you seen the stuff I've bene adding? | 05:33 | |
| Coke | saw warnings rearranging, cleanups based on warnings... | 05:36 | |
| Andy++ | |||
| cleanup of ccflags... | |||
| Andy | trying to label what I'm doin' | ||
| Coke | all looked good here. | ||
| except the consting, but that's just because I hate C. | |||
| sorear | I have ick reactions when people want to build large stuff in NQP. Am I weird? | 05:39 | |
| Andy | I thought I had Sun Studio installed | 05:40 | |
| but I don't. | |||
| mmm, free downloads | |||
| cotto | bacek_at_work, pong | 05:42 | |
| Coke | sorear: do you have an alternative to NQP in mind? | 05:43 | |
| (that exists, or otherwise) | |||
| sorear | Coke: Perl 6, Python, Lua, Tcl | 05:44 | |
| NQP is fine for bootstrapping compilers - that's what it was created for. But as an applications programming language? | |||
| dalek | tracwiki: v5 | cotto++ | TestingProfiling | 05:45 | |
| tracwiki: trac.parrot.org/parrot/wiki/Testing...ction=diff | |||
| sorear | ooh that sounds interesting | ||
| dalek | rrot: r45051 | coke++ | trunk (4 files): Remove CPointer PMC, resolve TT #1407. |
05:46 | |
| rrot: r45052 | coke++ | trunk/DEPRECATED.pod: This (unticketed) deprecation notice is already covered by the more generic C API changes one, remove it. |
|||
| Coke | sorear: who is writing an application in NQP? | ||
| Coke | all the instances I've seen of NQP usage are basically in place of using PIR. | ||
| sorear | Coke: Austin, apparently | ||
| Coke | sorear: he's building a library. | ||
| not an application. | 05:47 | ||
| (if you mean kakapo) | |||
| sorear | 21:55 <@cotto> Is there a specific project that'll use Kakapo or is Austin just | ||
| writing it so it's there when it's needed? | |||
| 22:08 < sorear> purl, kakapo? | |||
| 22:08 <+purl> well, kakapo is a program framework, runtime library, and | |||
| collection of useful functions for NQP programs. or See | |||
| Coke | yah. so it'll make life easier for people using nqp. | ||
| sorear | purl thinks it's a library for programs | ||
| purl | sorear: excuse me? | ||
| Coke | yes. it's a library. | ||
| cotto | purl is nice to have around sometimes | ||
| sorear | which I took to mean a library for non-compilers | ||
| Coke | I'm sure it could be, but I imagine its immediate utility is for compiler writers. | 05:48 | |
| sorear | oh | ||
| dalek | TT #1407 closed by coke++: [DEPRECATED] CPointer and CPointer-style return argument handling | 05:49 | |
| TT #1407: trac.parrot.org/parrot/ticket/1407 | |||
| Coke | there's only one fully implemented language on parrot that I know of, and I don't know of anyone who actually writes in it. Having the nqp-rx library will certainly help share the load so all the hll authors aren't reinventing the same wheels. | ||
| coverage? | |||
| purl | it has been said that coverage is cv.perl6.cz | ||
| cotto | Coke, lua? | ||
| Coke | cotto: ayup. | ||
| cotto | Poor Lua. | 05:50 | |
| Coke | question. if a METHOD defines a bunch of const strings - should we just make them static vars? | ||
| sorear | you mean a vtable method? | 05:51 | |
| Coke | is that theoretically faster? | ||
| vtable or method. not vtable method. | |||
| this is a method (written in C) | |||
| sorear | foo("hi") desugars to static const char NONCE[] = "hi"; .... foo(NONCE) | 05:52 | |
| they should be exactly equal in speed | |||
| or is that not what you meant | |||
| Coke | no, a const STRING. | ||
| not a fake c-string. | |||
| e.g.: STRING * const open_bracket = CONST_STRING(INTERP, "["); | |||
| sorear | what are they currently? | 05:53 | |
| Coke | what are which now? the specific STRINGs I'm looking at, or STRINGs in general, or? | 05:55 | |
| (or CONST_STRINGS...) | |||
| sorear | the specific strings you're looking at | 05:56 | |
| cotto | clock? | ||
| purl | cotto: LAX: Thu 10:56pm PDT / CHI: Fri 12:56am CDT / NYC: Fri 1:56am EDT / LON: Fri 5:56am GMT / BER: Fri 6:56am CET / IND: Fri 11:26am IST / TOK: Fri 2:56pm JST / SYD: Fri 4:56pm EST / | ||
| sorear | and any other information which would help me to gain insight into *.str files | ||
| if these are even related | |||
| Coke | src/pmc/codestring.pmc ; the strings in, e.g. METHOD emit | ||
| yes, CONST_STRING use some macro magic and a global lookup table that is mediated through .str files. | 05:58 | ||
| (which theoretically gives us faster access.) | |||
| (and avoids duplicating the space if we have 100 copies of, e.g. "some string") | |||
| sorear | I see. | 05:59 | |
|
06:04
parthm joined
|
|||
| sorear discovers docs/submissions.pod | 06:14 | ||
| so embarrassing | |||
| cotto | not that kind of submission | 06:16 | |
| sorear | docs/submissions.pod is a great thing to find two hours after you post a patch. | ||
| cotto | we need to more publicity about those docs | ||
| sorear | which, it seems, I sent to the wrong place | 06:17 | |
| sorear wonders if he should immediately repost it to the right place, or wait for comments first | 06:18 | ||
| dalek | rrot: r45053 | coke++ | branches/rm_dynpmc_make: remove recursive make for src/dynpmc. |
||
| Coke | I note that posting patches to trac is awesome, but has MUCH lower visibility than the mailing list. | 06:19 | |
| sorear | what does this mean to me? | 06:20 | |
| Coke | I'd wait. | 06:21 | |
|
06:24
parthm left
06:25
parthm joined
|
|||
| cotto | night | 06:37 | |
| dalek | izkost: cef64d4 | sorear++ | perl5.pir: Use the new (patch pending) interface to load libperl.so globally, fixes XS |
06:43 | |
|
06:48
parthm left
|
|||
| Coke | just saved my work in progress in rm_dynpmc_make; if some intrepid soul wants to take it the last 20% , awesome. | 06:52 | |
| dalek | rrot: r45054 | coke++ | branches/rm_dynpmc_make (6 files): Get most of the way towards eliminating this recursive make step. |
07:07 | |
|
07:20
uniejo joined
|
|||
| sorear | ... the Perl (5) error trapping interface is insane | 07:22 | |
| (yes, I am just now figuring this out) | |||
| there does not appear to be any save way to relay an exception from one area of code to another... if I catch the exception at all, either $@ will be clobbered in the no-exception case, or the exception will be stringified | 07:23 | ||
|
07:26
cotto joined
|
|||
| sorear | and I need to relay exceptions into Parrot exceptions, because otherwise Perl will just longjmp over Parrot code, killing any exception handlers... | 07:29 | |
| dukeleto | sorear: looks like you have been busy | 07:41 | |
| sorear | hah. | 07:44 | |
| I fake it well | |||
|
08:01
AndyA joined
|
|||
| sorear | dukeleto: replied | 08:01 | |
|
08:02
iblechbot joined
|
|||
| sorear | What is the best way to share C code between several PMCs? | 08:11 | |
|
08:24
riffraff joined
08:38
plobsing joined
09:12
payload joined
09:14
AndyA joined
09:20
payload joined
09:30
payload joined
09:33
clinton joined
10:01
payload joined
10:03
smash joined
|
|||
| smash | hello everyone | 10:03 | |
| darbelo | o/ | 10:05 | |
|
10:15
fperrad joined
10:17
payload joined
10:21
lucian joined
10:23
he_ joined
|
|||
| sorear | hello | 10:27 | |
|
10:31
snarkyboojum joined
10:46
AndyA joined
10:52
Austin joined
|
|||
| Austin kicks Japhb... | 10:52 | ||
| I am about to learn something new about how P6object classes work, and it's your fault. | 10:53 | ||
| sorear | Austin: Are you on parrot-dev? | 10:54 | |
| Austin | Yeah. I saw your post. | ||
| :) | 10:55 | ||
| What I was able to comprehend of it looks good. | |||
| Aha! | 10:57 | ||
| Thank God, I *DON'T* have to learn anything new about P6object... | |||
| msg japhb Moving the test main invocation into the INIT block won't work, it turns out, because any classes defined later in the file need to get processed, and INIT blocks process in order. So (since I create little one-off classes all over the place) the INIT and the TEST_MAN() have to be separate. | 10:59 | ||
| purl | Message for japhb stored. | ||
|
11:00
payload joined
11:45
nopaste joined
11:47
payload joined
|
|||
| darbelo | Coke: ping | 11:56 | |
|
11:56
lucian joined
|
|||
| dalek | rrot: r45055 | darbelo++ | branches/include_dynpmc_makefile: Branch for converting the dynpmc Makefile into an include. |
12:00 | |
|
12:07
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 12:08 | |
| darbelo | svn diff | 12:13 | |
| purl | svn diff is better than cvs log, that's why I like svn more than cvs | ||
| darbelo | wrong window. | ||
| purl | cd /var/pics/g0atpr0n | ||
| whiteknight | Austin: ping | 12:14 | |
| Austin | whiteknight, pong | ||
| whiteknight | Austin: is there anyway to install the release files? | 12:15 | |
| or, any automated way? | |||
| Austin | No. | ||
| whiteknight | okay. I'll just do it the hard way | ||
| Austin | There probably should be, though. | ||
| whiteknight | kudos, by the way | ||
| Austin | Thanks. (For what?) | ||
| whiteknight | for release 10 | 12:16 | |
| Austin | Oh. Sure. | ||
| dalek | rrot: r45056 | darbelo++ | branches/include_dynpmc_makefile/src/dynpmc (2 files): Add two sub-makefiles for dynpmcs, Rules and Defines. |
||
| Austin | Thanks to japhb, the unit test template got a little shorter. | ||
| That's today. | |||
| rrot: r45057 | darbelo++ | branches/include_dynpmc_makefile/config/gen/makefiles.pm: Enable generation of the sub-makefiles via Configure. |
|||
| rrot: r45058 | darbelo++ | branches/include_dynpmc_makefile/config/gen/makefiles/dynpmc.in: Dits the old dynpmc Makefile template. |
|||
| rrot: r45059 | darbelo++ | branches/include_dynpmc_makefile/config/gen/makefiles/root.in: Eradicate all traces of the old makefile and enable the new includes. |
|||
| rrot: r45060 | darbelo++ | branches/include_dynpmc_makefile/MANIFEST: Regenerate MANIFEST. |
|||
| rrot: r45061 | petdance++ | trunk/src/embed.c: Renamed a var to prevent shadowing |
|||
| Austin | Sorry. Thanks to japhb++, etc. | ||
|
12:19
tetragon joined
|
|||
| Coke | darbelo: I can only hope you had a git branch or something that I leap-frogged. =-) | 12:20 | |
| since I created a branch for that last night... | |||
| darbelo | Damm. I totally missed it. | 12:21 | |
| Coke | in that case, one of us just wasted a few hours. =-) | 12:22 | |
| doesn't matter as long as it gets done. | |||
| darbelo | Say, is you branch working? | ||
| Coke | nope. needs the pmc dependencies added, but is otherwise good. | 12:23 | |
| darbelo chickles. | |||
| Same here ;) | |||
| Coke | *sigh* | ||
| guess we both left the hard part for last. | |||
| Coke wonders why he is always getting emails in chinese from openfoundry. | 12:24 | ||
| darbelo | Maybe joe got a job... | 12:25 | |
| Wait. That didn't come out right... | |||
| particle | coke: i think it's from having a pugs admin commit bit | 12:29 | |
| Coke | particle: ok. it's being delivered to me indirectly; if they're bcc'ing a list or something, I can't unsubscribe. | 12:31 | |
| sending them an email now... | |||
| particle | coke: same here | ||
| dalek | rrot: r45062 | darbelo++ | branches/include_dynpmc_makefile/config/gen/makefiles/root.in: Remove dynpmc deps from the main Makefile. |
12:32 | |
| Coke | darbelo: you might want to do a compare of the two branches, pick one to be the winner, steal the good bits from the dead one, and kill it. | 12:33 | |
| darbelo | WorkingCoke: I'm doing that now. That commit was made with the previous 'stream' dalek reported. | 12:34 | |
| WorkingCoke | excellent. | 12:35 | |
| darbelo++ | |||
| dalek | kudo: 9affb78 | (Solomon Foster)++ | src/Perl6/Actions.pm: Better internal op lookup for Xop and Zop. |
12:40 | |
|
12:47
fperrad_ joined
|
|||
| dalek | rrot-linear-algebra: ec9e2ec | Whiteknight++ | README: Update README to include new information about dependencies. |
12:55 | |
| whiteknight | Austin: You know what might be a really cool addition? In your Nqp::compile_file method to store the generated bytecode to a file, then on subsequent calls to compile_file we can look up the last modified time and simply load the cached version if it's newer | ||
| or, add a compile_file_cached method | |||
| ...And so long as we are doing it internally, adding a compile_to_pbc method might be fun | 12:56 | ||
| Austin 's head explodes... | |||
| whiteknight | in fact, maybe I'll put together a patch for your reading pleasure | 12:57 | |
|
12:57
iblechbot joined
|
|||
| Austin | So this would be for successive invocations of different testcases, right? To compile the custom testcase class? | 12:57 | |
| whiteknight | that's my current motivation, yes | ||
| If I could cache Testcase (now "matrixtest.nqp") across invocations I could save a lot of time | 12:58 | ||
| Austin | Well, you could compile it as part of your build, and then just use load_bytecode... | ||
| whiteknight | but, I'm thinking bigger: Rewrite the test harness with Kakapo, and use it to cache the individual test files and run them directly instead of launching a subprocess | ||
| Austin | Ahh | ||
| Geez. | |||
|
12:58
parthm joined
|
|||
| whiteknight | I think big | 12:59 | |
| Austin | That's a cool idea. | ||
| Have a look at t/UnitTest/AllTests.nqp | |||
| whiteknight | let me play around with it, I'll let you know when I have a patch | ||
| Austin | I do something like that. | ||
| I hadn't turned the idea around, though, and thought about using it as the main harness. | |||
| Whiteknight++ | 13:00 | ||
| WorkingCoke | ah, I see the jackassery has already begun on the gsoc list. | ||
| Austin | ? | ||
| What list is that? | 13:01 | ||
| purl | i guess list that is easily accessible is "only" the janitors and SIOB list | ||
| WorkingCoke | google summer of code mentors list. | ||
| whiteknight | Austin: does Kakapo provide any command-line processing or accessing functions? | ||
| Austin | not yet | ||
| whiteknight | okay | ||
| Austin | I'm (literally) working on that right now | ||
| For Program.. | |||
| whiteknight | oh snap | ||
| Austin | But Getopts is already available in pir | 13:02 | |
|
13:05
lucian joined
|
|||
| parthm | hello, I have a noob question about getting grammar right with parrot. | 13:05 | |
| while creating a HLL, I am trying to get the grammar right. so I run './installable_mylang --target=parse' which fails with 'Unable to parse source'. | |||
| So, while designing and debugging the grammar do I need to have all actions in actions.pm or is it ok to have just the grammar in grammar.pm? | 13:06 | ||
| Austin | parthm: It's okay to just have the grammar, as long as the grammar does not depend on actions for a successful parse. | ||
| That is, if the actions is doing "normal" actions stuff, it's okay to not have it. But if the grammar decides what a token is by using an actions rule, then obviously it won't parse unless that action is present. | 13:07 | ||
| In the grammar, constructions like <?{code}> and <{code}> are indicators that your grammar may ( <{code}>) or probably (<?...>) depends on that action rule. | 13:08 | ||
|
13:08
atrodo joined
|
|||
| parthm | Austin: Thanks. Then is suppose my grammar should work. It quite simple. I have '{*}' in the grammar, is that trying to invoke the actions and causing failure? | 13:09 | |
| Austin | Man, what do *I* have to do to receive a stipend to work on Kakapo? | ||
| parthm: That is trying to invoke actions, but it should not fail if no action exists. | |||
| parthm | Austin: oh. ok. I will debug some more. I come from non-perl background so have a lot reading to do :-) | 13:10 | |
| have been going through S05-regex, is there anything else that would be important? | 13:11 | ||
| WorkingCoke | Austin: you could put in for a p6 grant. | 13:12 | |
| Austin: www.perlfoundation.org/ian_hague_pe...ent_grants | 13:13 | ||
| I also see www.nntp.perl.org/group/perl.perl5....22448.html , linked to from TPF, but it's 3 years old. | |||
| darbelo | WorkingCoke: Okay, I reviewed both branches: Yours is definitely cleaner, but mine passes make test :) | 13:15 | |
| So I'll start cleaning up mine based on yours. | 13:16 | ||
| Austin | parthm: I'd recommend that you checkout a copy of Pmichaud++'s nqp-rx sources. | 13:17 | |
| nopaste | "Austin" at 68.39.12.202 pasted "\\!reduce" (23 lines) at nopaste.snit.ch/20005 | 13:18 | |
| Austin | nqp-rx? | ||
| purl | nqp-rx is github.com/perl6/nqp-rx | ||
| parthm is checking out nqp-rx sources | 13:19 | ||
| Austin | Yeah. You can get the sources there. The ^^ !reduce function is what gets called when a rule matches. You can see that it checks if the actions module "can" do a method... | ||
| (FYI: All the !cursor stuff is in src/Regex/Cursor*pir | 13:20 | ||
| parthm | Austin: thanks. that makes sense. | 13:21 | |
| So there is probably some issue with the grammar. | |||
| WorkingCoke | darbelo++ | ||
| Austin | Not for nothing, parthm, but did you give the parser any source code to parse? | 13:22 | |
| Whoops. | |||
| darbelo | It doesn't have correct deps yet, it just manages to build. I could be just luck... | 13:23 | |
|
13:23
parthm joined
|
|||
| whiteknight | Austin: does Kakapo have any facilities for working with pipes, or redirecting STDIO? | 13:24 | |
| parthm | I am trying to allow newlines at specific places as I want to allow both newline and ';' to work like end of expression, something like js. | ||
| Austin | Not really. | ||
| Program allows redirecting std*, but that's it. | |||
| WorkingCoke | darbelo: yah, you're missing deps. | ||
| parthm | Does something like pastebin.com/NjcTmx6e seem correct, my grammar may be more antlr style, haven't got parrotfu yet. | ||
| Austin | I think you want File.open() | ||
| whiteknight | Austin: okay, these are things I will probably add | ||
| WorkingCoke | (darbelo - make -j1 will probably work, though) | 13:25 | |
| darbelo | ;) | ||
| Austin | parthm: You need to look up the token/rule stuff about whitespace. Unless you're doing a very restrictive project, you don't need to worry much about whitespace at all. | 13:26 | |
| The newline vs ';' thing is one of those places where an action routine becomes part of the grammar. The NQP grammar ($_RX/src/NQP/Grammar.pm) does something like that, because P6 lets a } end a statement without a semicolon. | 13:27 | ||
| The problem is recognizing when it's okay to end a statement, given that someone could code: foo = bar \\n + baz; | 13:28 | ||
| So I'd recommend that you require the semicolon until you have the rest of your grammar issues worked out, then go back and see how much you can relax the rule. | 13:29 | ||
| parthm | Austin: yes. that exactly what I am hoping to do. thanks for the pointer. will look at that. that should help clean up the grammar quite a bit. | ||
| yes. thats probably better, will stick to ; initially. | 13:30 | ||
|
13:32
cognominal joined
|
|||
| dalek | rrot: r45063 | darbelo++ | branches/include_dynpmc_makefile (3 files): Pull in some makefile cleanups from the rm_dynpmc_make branch. |
13:38 | |
| rrot: r45064 | darbelo++ | branches/include_dynpmc_makefile/src/dynpmc/Rules.in: Remove explicit .o -> .c deps, we have a suffix rule to take care of that. |
|||
|
13:40
bubaflub joined
13:43
patspam joined
|
|||
| WorkingCoke | darbelo: so, what inspired you to work on this today? =-) | 13:45 | |
| darbelo | I've had it in for recursive makes for a while now. | 13:46 | |
| But I'm diving into build-land mostly as investigation for the RTEMS port. | |||
| WorkingCoke | excellent. | ||
| after this, the only one left is docs. | |||
| (that's part of the normal build, anyway, which is all I care about atm) | 13:47 | ||
| darbelo | I want all instances of $(MAKE) to go away. But I can live with just the regular build. | ||
|
13:47
parthm joined
|
|||
| nopaste | "Whiteknight" at 173.12.37.77 pasted "Non-working Program example for Austin++" (18 lines) at nopaste.snit.ch/20006 | 13:49 | |
| whiteknight | Austin: Any idea why this program isn't printing anything? | ||
| Austin | Never gets .run | 13:51 | |
| whiteknight | I copied the code mostly from code.google.com/p/kakapo-parrot/wik...ogramClass | 13:52 | |
| where does the .run happen, at the bottom? Program::instance.run()? | |||
| Austin | That would work, and is probably the right way. | ||
| (program instance gets run by krt0, but you're not linking.. and probably shouldn't be.) | 13:53 | ||
| dalek | rrot: r45065 | darbelo++ | branches/include_dynpmc_makefile/src/dynpmc/Rules.in: Make dynpmc .dumps depend on vtable.dump |
13:54 | |
| darbelo | And that's the last bit of rm_dynpmc_make I needed to salvage. | 13:58 | |
|
14:02
payload1 joined
14:03
Andy joined
|
|||
| WorkingCoke | darbelo: last step: either add the deps manually (ew, but if you do that, have checkdepend start complaining about dynpmc again), or fixup the generation of pmc rules during config to cover the dynpmc rules. | 14:03 | |
| darbelo | Coke: Yep, I'm looking into that, but I can't run checkdepend on this box (missing a module). I'll go for config-time generation. | 14:05 | |
| whiteknight | damnit! my plans are ruined. I'm getting some stupid error when I attempt to use a StringHandle for IO redirection | 14:06 | |
| WorkingCoke | darbelo: I have the report from checkdepend if you want it. | 14:07 | |
| darbelo | nopaste? | ||
| purl | nopaste is paste2.org | ||
| Austin | whiteknight: I've done it. | 14:08 | |
| WHoa. | |||
| Who hosed up nopaste? | |||
| whiteknight | Austin: example code? | ||
| I get a segfault when I attempt to use a StringHandle as stdout | |||
| Austin | ack StringHandle, it's in the testcases for Program? | ||
|
14:08
Myhrlin joined
|
|||
| WorkingCoke | darbelo: feather.perl6.nl/~coke/err? | 14:09 | |
| Austin | yeah, t/Program.nqp | ||
| nopaste | "Austin" at 68.39.12.202 pasted "StringHandle for Whiteknight++" (19 lines) at nopaste.snit.ch/20007 | ||
| whiteknight | awesome, I got it working! | 14:10 | |
| this is going to be awesome | |||
| Austin | Heh. | ||
| Yes, it is. | |||
| dalek | rrot: r45066 | darbelo++ | branches/rm_dynpmc_make: Brach has been superseded by include_dynpmc_makefile. |
14:11 | |
| nopaste | "Austin" at 68.39.12.202 pasted "Here's how you test a compiler driver" (16 lines) at nopaste.snit.ch/20008 | ||
| WorkingCoke | darbelo: looks like a lot more failures than I expected in checkdepend.pl | 14:13 | |
| darbelo | You're not blaming them all on *me*, are you? | 14:14 | |
| WorkingCoke | no, no. | 14:15 | |
| just pointing them out. | |||
| the "couldn't find" at the top are because of our recent changes. | |||
| most of the others seem to be from an overeager inclusion of pmc_parrotinterpreter.h | |||
| lemme see if i can fix that one. | |||
| ... bah. no. WorkingCoke must not. | 14:16 | ||
| darbelo | No worries, I can get them on trunk after mergeback. | ||
| Austin | nopaste? | 14:17 | |
| purl | i think nopaste is paste2.org | ||
| WorkingCoke | msg particle - the manifest lines in the makefiles; is the 'if exist' necessary, or can/should the manifest always be generated? | 14:20 | |
| purl | Message for particle stored. | ||
| Austin | no, nopaste is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl) | ||
| purl | okay, Austin. | ||
| Austin | nopaste is also paste.scsys.co.uk | 14:21 | |
| purl | okay, Austin. | ||
| Austin | nopaste is also www.extpaste.com | ||
| purl | okay, Austin. | ||
| Austin | nopaste is also gist.github.com | ||
| purl | okay, Austin. | ||
| particle | coke: where should i be looking? Makefile? | ||
| Austin | nopaste? | 14:22 | |
| purl | it has been said that nopaste is nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl) or paste.scsys.co.uk or www.extpaste.com or gist.github.com | ||
| Austin | thanks, purl | ||
| purl | de nada Austin | ||
| WorkingCoke | particle: root.in | ||
| it's run every time there's a link, it would seem. (wondering if we can: 1) simplify the rule, and 2) make it a separate dep instead of doing the if check) | 14:24 | ||
| that should probably not be a numbered list, but oh well. | 14:25 | ||
| darbelo | WorkingCoke: Where should I look if I want the dynopmc deps to be automatically generated? | 14:27 | |
|
14:27
parthm left
|
|||
| dalek | rrot: r45067 | darbelo++ | branches/include_dynpmc_makefile/src/dynpmc/Rules.in: Update some Makefile variable names. |
14:27 | |
| bubaflub | hey parrot people, do we currently have a install working with MacPorts? | 14:29 | |
| if not, i might be able to whip something up | 14:30 | ||
| WorkingCoke | darbelo: config/mumble/pmc.pm ? | 14:31 | |
| bubaflub: there's a ticket: | |||
| TT #1415 | |||
| that can probably be updated to 2.2.0 with little effort. | 14:32 | ||
| I have privs on the macport, and can put in a request to get it installed once we've verified it's working on the latest version. | |||
| darbelo | Aha! it's in auto/ not gen/ | ||
|
14:38
dalek joined,
estrabd_ joined,
atrodo_ joined,
magnachef_ joined,
betterwosld joined,
GeJ_ joined
|
|||
| whiteknight | NQ doesn't support multiple return values, does it? | 14:38 | |
|
14:38
wagle joined
14:41
moritz joined,
TimToady joined,
zibri joined,
he joined,
integral joined,
jhelwig joined,
ttbot joined,
jan joined,
PacoLinux joined,
cosimo joined,
slavorg joined,
kjeldahl joined,
janus joined,
nopaste joined,
fperrad joined,
bubaflub joined,
Andy joined,
fperrad_ joined,
hudnix joined,
Hunger joined,
sri joined,
GeJ_ joined,
betterwosld joined,
magnachef_ joined,
atrodo joined,
Myhrlin joined,
patspam joined,
cognominal joined,
iblechbot joined,
whiteknight joined,
Austin joined,
AndyA joined,
snarkyboojum joined,
smash joined,
clinton joined,
plobsing joined,
riffraff joined,
sorear joined,
Mokurai1 joined,
eternaleye joined,
hercynium joined,
Patterner joined,
WorkingCoke joined,
_2x2l joined,
preflex joined,
hiroyu___ joined,
cotto_work joined,
jsut joined,
contingencyplan joined,
elmex joined,
mj41 joined,
workbench joined,
dngor joined,
particle joined,
NotFound joined,
gaz joined,
szabgab joined,
sjn joined,
knewt joined,
baest joined,
Maddingue joined,
frodwith joined,
athomason joined,
treed joined,
jjore joined,
Infinoid joined,
rhr joined,
solarion joined,
ingy joined,
Tene joined,
bacek_at_work joined,
confound joined,
pmichaud joined,
KatrinaTheLamia joined,
PerlJam joined,
purl joined
|
|||
| particle | coke: only recent versions of msvc generate *.manifest files, older ones (e.g. 6.0) do not. | 14:43 | |
| darbelo | Do we care about stuff that old? | ||
| Visual studio 6 is from what? ten year ago? | 14:44 | ||
| We sure as hell don't build on *widows* from that timeframe. | 14:45 | ||
| whiteknight | Austin: I'm hitting a snag. I'm trying to run multiple test suites from within a single process, and Suite craps out telling me the plan is already set | 14:47 | |
| "Tried to set the test plan when it already exists" | |||
| Austin | Well that's no good. | 14:48 | |
| Did you look at t/UnitTest/AllTests? | |||
|
14:48
lucian joined
|
|||
| whiteknight | yeah | 14:50 | |
| what is it doing there, merging the suites together? | |||
| Austin | Yeah, it's getting a sub-suite from each file, and then building a master suite of all the subsuites. | ||
| The TapListener uses Test::Builder, which is where that error probably comes from. | |||
| If there's a way to shut down the Tap, I'm probably not using it right. | 14:51 | ||
| Although this line in Test/Builder.pir doesn't inspire a lot of confidence: " # XXX - delete globals" | 14:53 | ||
|
14:55
cottoo joined
|
|||
| cottoo | good morning | 14:55 | |
| whiteknight | Austin: is there a particular reason why you're using Test::Builder here? Seems like you have all the scaffolding to just do the work yourself without the dependency | 14:57 | |
|
14:57
ruoso joined
|
|||
| Austin | There's not a strong reason. I wanted to be sure I could interoperate with the existing library. | 14:58 | |
| So I did. | |||
| :) | |||
| dalek | kudo: c05da93 | masak++ | (2 files): [Set.pm] new class in core for checking subset and superset relationships. There are two sets of ops for the above: one unicode set and one 'Texas' parenthesized set. This is all a bit above and beyond the current spec, but quite close to what I envision for core. |
||
| Austin | (Which, of course, translated into a couple of TT#s ...) | 14:59 | |
| whiteknight | Austin: okay, better question: How do I go about using my own test_builder in Listeners.nqp? | ||
| Austin | Call the .test_builder method with one. | ||
| $listener.test_builder( $my_test_builder ) | |||
| whiteknight | okay, how do I get a reference to the $listener? | ||
| I wouldn't mind fixing this issue in test::builder,but I would have to wait a month for changes to precolate through | 15:00 | ||
| Austin | The Testcase has a "default_result" method that creates a Result, and configures it using add_listener. | 15:01 | |
| You can do $result.remove_listner( $result.listners[0] ) | 15:02 | ||
| And replace it with your own. | |||
| *spelling | |||
| lucian | about the new GC work, would simple reference counting + cycle detection be useful? | ||
| Austin | lucian: Most of the devs consider reference counting to be the spawn of the devil. | 15:03 | |
| particle | darbelo: yes, i care about visual studio 6. | ||
| lucian | it would be a new pluggable GC and it would at least be a predictable one (i.e. realtime) | ||
| Austin: i know it's bad, but it has its uses and it's very simple | |||
| particle | but, technically, we don't have to, it's not in our list of platforms specifically | ||
| Austin | Lucian: Don't sell me - I'm an HLL guy. It's bacek & company... | 15:04 | |
| lucian | Austin: well, i was just responding to your 'spawn of the devil' comment | ||
| whiteknight: bacek_at_work: ping | |||
| whiteknight | hello lucian: | 15:05 | |
| particle | lucian: reference counting code would be spread throughout the codebase, no? | ||
| whiteknight | the problem with refcounts is that we would need to add them throughout the entire codebase, including to all compiled extensions | ||
| WorkingCoke | I suspect that anything that requires our end users to implement reference counting is going to get downvoted. | ||
| lucian | whiteknight: isn't it possible to isolate it behind a pluggable GC? | ||
| whiteknight: i know it's possible in general (PyPy has one), but i don't know much about the parrot codebase | 15:06 | ||
| darbelo | particle: As long as someone cares for it, I'm not going to go out of my way to break it. | ||
| whiteknight | lucian: no. The only way to do referene counting is to modify a running count when references are made | ||
| you can't hide it anywhere | 15:07 | ||
| Austin | Whiteknight: The Suite class does the same thing, and that's where you probably want to intercept the listener. | ||
| lucian | whiteknight: doesn't the gc track references anyway? | ||
| whiteknight: and the gc also has its own custom headers | |||
| whiteknight | lucian: no, the GC doesn't track references in real time | ||
| the GC runs at specific times and traces all references at once | |||
| lucian | whiteknight: yes, the current one | 15:08 | |
| purl | the current one is correct, when a compiler wants to generate spills of registers | ||
| lucian | whiteknight: again, i admin my parrot ignorance | ||
| whiteknight: hmm, true, in parrot i don't think it's possible | 15:13 | ||
| whiteknight: PyPy affords to do it because they make modifications on the interpreter's AST directly to add a GC | |||
| whiteknight: yes, it's a transformation codespeak.net/svn/pypy/trunk/pypy/r...ounting.py | 15:18 | ||
| so in parrot, you'd need to parse the C AST and do something similar. which is extremely evil | 15:19 | ||
| dalek | rrot: r45068 | petdance++ | trunk/src/pmc/parrotinterpreter.pmc: consting and localizing |
15:32 | |
| WorkingCoke | Andy: you might also be interested in the new (to you) tools/dev/checkdepend.pl | 15:38 | |
| nopaste | "Whiteknight" at 173.12.37.77 pasted "Nqp.nqp for Austin++" (35 lines) at nopaste.snit.ch/20009 | ||
| japhb | Austin, Ah, so moving the MAIN() invocation into INIT {} would work for that one simple example script, but not the real world ones, got it. | ||
| WorkingCoke | (which will eventually turn into a dep generator instead of a dep verifier.) | ||
| whiteknight | Austin: just prototype code, I have't even tried to run it yet, but it's a start | 15:39 | |
| Andy | WorkingCoke: Why am I interested in it? | 15:40 | |
| WorkingCoke | only because of your long ago interest in makefile deps. | ||
| Andy | it's checking in the Makefile then? | 15:41 | |
| Austin | Whiteknight: I'm pretty leery of the handle-swapping stuff being in Nqp. I like the other ideas. | 15:42 | |
| whiteknight | Austin: which other ideas? | ||
| my goal here was to let the other "program" run in the same Parrot/NQP instance, but act like it's separate | |||
| Austin | Separate other functions for compiling and running strings, files, etc. | ||
| Okay. | 15:43 | ||
| And Program wants to do that. | |||
| whiteknight | this is what I'm trying to do in the new PLA harness | ||
| Austin | But Program doesn't have to be the only user of that functionality. | ||
| Ah. Go ahead. | |||
| whiteknight | ok, I don't mind putting it into Program | ||
| Austin | What are you trying to do in PLA? | ||
| whiteknight | I'm trying to rewrite the test harness to be 100% kakapo and to run the tests directly, not spawn subprocesses | 15:44 | |
| Austin | Okay. | ||
| whiteknight | github.com/Whiteknight/parrot-linea...ness2#L121 | ||
| and it would work perfectly if it weren't for that meddling test::builder problem | 15:45 | ||
| WorkingCoke | Andy: do you have a tool to help with the localizing, or is that just you eyeballing the code? | 15:46 | |
| Andy | just eyeballing | ||
| it's pretty natural now. | |||
| Things just jump out at me. | |||
| Austin | Does that work? | ||
| WorkingCoke | Andy: yes, it parse the makefile, and compares that to the actual C (and perl and pir) files. | ||
| Austin | With the open-rw? | ||
| WorkingCoke | "parses" | ||
| whiteknight | Austin: yeah, works fine...for the first test. Second test craps out because test::builder can't redefine the plan | ||
| Austin | Right, okay. | 15:47 | |
| Wow! That's cool. | |||
| WorkingCoke | so, when it generates the deps, we'd have it just overwrite the makefile bits instead of checking them. | ||
| Austin | Whiteknight++ | ||
| whiteknight | I guess I could go into the namespace and clear it out directly | ||
| dalek | rrot-linear-algebra: 25242d3 | Whiteknight++ | t/harness2: adding a new harness which uses kakapo and runs completely in a single process without starting new instances of parrot-nqp. does not work because of errors in Test::Builder |
||
| Austin | That run_test function is EXACTLY what I was thinking about.. | 15:49 | |
| Instead of putting the handle-swapping into Nqp, there needs to be a run-this-with-swapped-handles | |||
| Andy | trying my newly-built clang | ||
| Austin | (Which I'm pining for right now in Close, too.) | 15:50 | |
| But maybe it *is* a Program... | 15:51 | ||
| Andy | WorkingCoke: the config stuff thinks that clang is GCC. That's a good thing. | ||
| Or rather, it's happy with the GCC warnig flags | 15:52 | ||
| Austin | class PluggableProgram is Program { has &!main; method main() { &!main(); } } | ||
| class PluggableProgram is Program { has &!main; INIT { auto_accessors(:private); } method main() { &!main(); } } | |||
| Andy | WOW, color-coded errors! | 15:53 | |
| lucian | Andy: and very nice to read | ||
| whiteknight | Austin: I think I have it fixed! | 15:58 | |
| Austin | Heh | ||
| whiteknight | twas an 'orrible hack, but I did it | ||
| Austin | How? | ||
| whiteknight | $P0 = new "Undef" | 15:59 | |
| set_hll_global [ 'Test'; 'Builder'; '_singleton' ], 'singleton', $P0 | |||
| somewhere, somehow, I can hear chromatic crying | 16:00 | ||
| Austin | Gaaaak! | ||
| rofl | |||
| I got yer freaking singleton.. right here! | 16:01 | ||
| And here. | |||
| And over here... | |||
| And there's a couple that went under the couch... | |||
| whiteknight | hey, I said it wasn't pretty | 16:03 | |
| ...as if the disclaimer is enough to redeem my sin | 16:05 | ||
| lucian | whiteknight: you must repent, or you will lose your mind to the Old Ones | 16:08 | |
| darbelo | whiteknight: There's no redemption for you. Sinner. | ||
| Austin | lucian: Too late. | ||
| cotto_work | hello | 16:10 | |
| purl | que tal, cotto_work. | ||
| Austin | Time for ... what's today's special? | 16:11 | |
| cotto_work | pork feet | 16:12 | |
| Austin | Shrimp basket & fries, or a Chicken gyro... | ||
| whiteknight | mmm...both of those sound delicious | ||
| dukeleto | 'ello | 16:28 | |
| whiteknight | hello duke | ||
| dukeleto | whiteknight: good mornin' | ||
| dalek | rrot: r45069 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] make missing output directory (step build) |
16:38 | |
| cotto_work | fperrad, does distutils support parallel builds and tests? | 16:42 | |
| whiteknight | incoming | ||
| purl | duck! | ||
|
16:44
davidfetter joined
|
|||
| fperrad | cotto_work, nothing for parallel | 16:45 | |
| distutils find your t/harness or yours t/*.t, and run them | |||
| dalek | rrot-linear-algebra: 023e585 | Whiteknight++ | t/ (6 files): Add a 'fix' to work around the Test::Harness bug. Disclaimer: The workaround is evil. overwrite the harness with the new kakapo-based one. |
16:46 | |
| rrot-linear-algebra: 33db2ac | Whiteknight++ | t/ (2 files): add a run_test utility that allows us to run an individual test file with all the same scaffolding and setup that the harness prepares. |
|||
| rrot-linear-algebra: ef82b81 | Whiteknight++ | (2 files): fix one test failure in charmatrix2d, remove Glue.pir from the build |
|||
| rrot-linear-algebra: 5979c9f | Whiteknight++ | (3 files): some much needed aesthetic improvements in setup.pir and t/harness |
|||
|
16:48
silug joined
|
|||
| dalek | rrot-linear-algebra: 39602fc | Whiteknight++ | t/testlib/matrixtest.nqp: a few comments in the testlib |
16:52 | |
| dukeleto does perldoc Configure.pl for the first time. wheeeeeeeee | 17:04 | ||
|
17:07
jan joined
17:08
payload joined
|
|||
| darbelo | dukeleto: I was diving into the build earlier, I can probably help you cook up a config-file fro cross-builds. | 17:09 | |
| The only problem I see is that parrot is called pretty extensively by the build. | 17:10 | ||
| So, if you have too-different platforms you are likely to end using two parrots or settling for an incomplete build. | 17:11 | ||
|
17:16
payload left
|
|||
| dukeleto | darbelo: what exactly do you mean? | 17:16 | |
| i am seeing "ESC[1m" and such all over the place when I perldoc Configure.pl, anybody have an idea how to fix that? my TERM=xterm-color | 17:17 | ||
| darbelo | Extreme example: You are on a Solais SPARC box and want to build a parrot that will run on, say, Linux x86. | 17:18 | |
| atrodo | dukeleto> what's your pager set to? | 17:19 | |
| darbelo | You have a cross compiler, and can coax Configure into using the right values for most things, but when the build tries to do "miniparrot config_lib.pasm > runtime/parrot/include/config.fpmc" you don't have a suitable parrot | 17:20 | |
| becous you are on SPARC and the miniparrot you just compiled is meant to run on x86. | |||
|
17:31
parthm joined
|
|||
| dukeleto | atrodo: PAGER=less | 17:34 | |
| darbelo: that is an interesting scenario | |||
| darbelo: i guess right now, i am attempting to cross-compile for the same OS, but different hardare, in the case of OpenEmbedded | 17:35 | ||
| atrodo | dukeleto> Bizzare. If i do "PAGER=less perldoc Configure.pl" I get what you see, but "PAGER= perldoc Configure.pl" it shows correctly | ||
| dukeleto | darbelo: your scenario is what is going to happen with Parrot+RTEMS, tho. but those guys seemed to have figured it out | 17:36 | |
| atrodo: PAGER= perldoc Configure.pl looks the same for me, but PAGER="less -FXRS" perldoc Configure.pl makes it work | 17:37 | ||
| atrodo | weird | 17:38 | |
| dukeleto | atrodo: thanks for making me investigate my PAGER, tho! | 17:40 | |
| darbelo | dukeleto: If we had a 'universal' bytecode format we could just use the host parrot and bundle the cross compiled binaries with the 'cross-pbc' | ||
| dukeleto | darbelo: so it looks like if i create a file-based configure for Parrots bitbake recipe, i may be able to get farther without having the --builddir option | 17:41 | |
| atrodo | dukeleto> no problem. I have a very regular problem with colordiff that requires me to pipe it "less -r" or else i see exactly the same thing | ||
| dukeleto | darbelo: what makes our bytecode non-universal? | ||
| atrodo: yes, i hit that wall regularly as well | |||
| darbelo | dukeleto: It stores data (floatval, intval) in platform native format. | 17:42 | |
| A i386 INTVAL will differ from a xm64 INTVAL when stored on teh PBC, for example. | 17:44 | ||
| cotto_work | but both formats should be readable by any parrot | ||
| darbelo | s/xm64/amd64/ | ||
| dukeleto | darbelo: is that by design? for performance? | 17:45 | |
| darbelo | It encodes a description in the header, so it's theoretically possible to load any bytecode, but we have never tested that. | 17:46 | |
| parthm | i am trying to get the squaak grammar to work with HLL::Grammar. Most of the grammar is similar but I am not quite sure what to do about "rule expression is optable { ... }". | 17:47 | |
| darbelo | dukeleto: Storing in platform native format is a semi-optimization. | ||
| parthm | it fails with "Confused at line 199, near "rule expre"". any pointers would be much appreciated. | ||
| darbelo | If the parrot that reads the pbc is on the same arch that wrote it, there's no conversion of any kind needed. | ||
| Also, it might make possible in the futuro to just plain mmap() the bytecode into memory. | 17:48 | ||
| dukeleto | parthm: what versions of stuff are you using? asking on parrot-users is also a good idea | 17:49 | |
| darbelo | Which we don't at present, but it's a future we've wanted in the past ;) | ||
| particle | dukeleto: squaak is pretty out of date, iirc | 17:50 | |
| parthm | dukeleto: i am using parrot 2.2.0. IIUC HLL::Grammar is recommended over PCT::Grammar, right? The squaak example is PCT based. | ||
| dukeleto | particle: yeah, seems so | ||
| particle: yes, i believe you are correct | 17:51 | ||
| darbelo | HLL::Grammar isn't compatible with PCT::Grammar, substituting one for the other is likely to be explodey. | 17:52 | |
| parthm | particle: is there a somewhat simple example that I can look at. i am looking at nqp-rx but thats a bit complex for me at this point. something like squaak is an ideal starting point. | ||
|
17:53
M_o_C joined
|
|||
| particle | i'm pretty sure abc has been kept reasonably up-to-date | 17:54 | |
| trac.parrot.org/parrot/wiki/Languages but where is abc? | 17:55 | ||
| ah, inactive, sigh. | |||
| parthm: try Close, that's a good one | 17:56 | ||
|
17:56
lucian joined
|
|||
| dukeleto | particle: yes, Close is very active and the lead dev (Austin) is usually very quick to answer questions and fix stuff | 17:56 | |
| ug | 17:57 | ||
| parthm | particle: Close seems good. thanks for the pointer :-) | ||
| dukeleto | parthm: last comment was meant to go to you | ||
| WorkingCoke | partcl-nqprx isn't too enormous yet, either. | ||
| particle | good point, coke | ||
| parthm | dukeleto: yes :-) | ||
| WorkingCoke: thanks. will look at partcl-nqprx also. | 17:58 | ||
|
18:01
Psyche^ joined
|
|||
| WorkingCoke | partcl-nqp? | 18:02 | |
| purl | somebody said partcl-nqp was github.com/partcl/partcl-nqp | ||
|
18:04
joeri joined
|
|||
| parthm | close seems to be failing the build. its looking for parrot_nqp instead of parrot-nqp. pastebin.com/Vg9pA42j i will try renaming. | 18:05 | |
| WorkingCoke | parrot_nqp and parrot-nqp are 2 different programs. | 18:06 | |
| hopefully the new one is a drop in replacement for the old. | 18:07 | ||
| darbelo | WorkingCoke: It isn't drop-in. | 18:08 | |
| WorkingCoke | so close is dead, then? | ||
| parthm | WorkingCoke: unfortunately it doesn't seem to work: pastebin.com/Tk4Zfscg :-( | ||
| I think going through the grammar will help anyway. I will try partcl-nqp. | 18:09 | ||
| WorkingCoke | partcl-nqp is mine, feel free to ping me with problems/questions, etc. | ||
| darbelo | I think Austin is devoting his time to kakapo now. | ||
| parthm | the last update to close seems recent. code.google.com/p/close/updates/list | ||
| darbelo | Updated recently != Working | 18:12 | |
| parthm | WorkingCoke: partcl-nqp works nicely :-) thanks. | 18:13 | |
| WorkingCoke | whee! | ||
| parthm | thanks for the help everyone. | 18:14 | |
| parthm goes digging into sources hoping to learn some parrotfu | 18:15 | ||
| dalek | rrot-linear-algebra: 1860e65 | Whiteknight++ | t/run_test: small fix to run_test utility. When the .run is in the INIT block I get a weird 'No exception handler and no message |
18:21 | |
| dukeleto | parthm: "Teach me to sweep, master". "Go fetch a broom." | ||
| parthm | dukeleto: :-) | 18:22 | |
|
18:25
parthm left
|
|||
| whiteknight | purl msg chromatic (Re tt389_fix) I think my earlier assessment is incorrect. It does look like we are walking the MRO of inherited types just fine. All of the test failures I see in the repo now do involve inheritance of methods from built-in classes, but I can' figure out why they are failing | 18:33 | |
| purl | Message for chromatic stored. | ||
|
18:37
hiroyuki_y joined
18:38
Khisanth joined
18:49
davidfetter joined
18:59
Psyche^ joined
|
|||
| dalek | tracwiki: v33 | coke++ | BranchDescriptions | 19:13 | |
| tracwiki: trac.parrot.org/parrot/wiki/BranchD...ction=diff | |||
|
19:15
lucian joined
|
|||
| whiteknight | purl msg chromatic: I need a second pair of eyes. None of this shit code looks right. src/oo.c:find_method_direct_1 looks absolutely wrong because it recursively calls itself on the proxy object, but when I fix it thigns break. And PMCProxy.init_pmc looks all sorts of wrong, but when I fix it things break. All the while I still can't figure out why methods aren't inheriting. | 19:50 | |
| purl | Message for chromatic stored. | ||
|
19:54
AndyA joined
|
|||
| WorkingCoke | zzzzzzzzzzzz | 19:57 | |
| cotto_work | yyyyyyyyyy | 19:58 | |
|
20:09
bacek joined
20:10
bacek joined
20:18
AndyA_ joined
|
|||
| bacek | o ai | 20:21 | |
| WorkingCoke | bacek: hio | ||
|
20:22
bubaflub joined
20:26
bacek joined
|
|||
| bacek | WorkingCoke: working? On Saturday??? | 20:28 | |
| WorkingCoke | bacek: bite me. | 20:30 | |
| rather, er, wrong time zone. | |||
| bacek | clock? | ||
|
20:30
theory joined
|
|||
| purl | bacek: LAX: Fri 1:30pm PDT / CHI: Fri 3:30pm CDT / NYC: Fri 4:30pm EDT / LON: Fri 8:30pm GMT / BER: Fri 9:30pm CET / IND: Sat 2:00am IST / TOK: Sat 5:30am JST / SYD: Sat 7:30am EST / | 20:30 | |
| cotto_work | bi bacek \\ | 20:42 | |
| *hi | |||
| bacek | aloha cotto_work | 20:43 | |
| cotto_work | is your ping still relevant? | ||
| bacek | bad news. My laptop died. So no parrot related work in next few days... | ||
| cotto_work | sad times | 20:44 | |
| bacek | indeed... | ||
| purl | indubitably | ||
| cotto_work | did it explode into a glorious fireball? | 20:52 | |
| bacek | cotto_work: nope. Bloody nvidia just died | 20:53 | |
| cotto_work | It's a shame to have a wasted bacek-weekend. | ||
| Hopefully you can at least get your important stuff off it via ssh. | 20:55 | ||
| bacek | Yeah... But I don't have another one to put it on. | 20:57 | |
| cotto_work | Do you have a new machine ordered? | ||
| bacek | Not yet. | ||
| And new one will cost about $1500... | 20:58 | ||
| cotto_work | ow | ||
| bacek | Looks like only Dell produce laptops with Full-HD screens... | 21:03 | |
| WorkingCoke | bacek: get an account on feather! | 21:14 | |
| bacek | WorkingCoke: and 1 second ping? | ||
| WorkingCoke | (then you can at least hack a bit.) | 21:15 | |
|
21:16
dalek joined
|
|||
| bacek | I've got MacBook from work. But it's terrible-terrible thing... | 21:16 | |
| WorkingCoke | thbbthp. | ||
| Coke | -> | ||
| dalek | ose: r191 | Austin_Hastings++ | trunk/src/Slam/parser/grammar.pg: Commenting old/bad pod |
21:33 | |
|
21:52
Whiteknight joined
|
|||
| Whiteknight | hello #parrot | 22:08 | |
| cotto_work | hi Whiteknight | ||
| Whiteknight | how are you doing today, cotto? | 22:10 | |
| cotto_work | Whiteknight, you may find this interesting: | 22:11 | |
| It's the number of times each op is called, +1 for each so the ops that aren't called show up. | 22:12 | ||
| nopaste.snit.ch/20011 | |||
| dalek | rrot-linear-algebra: 8c9b6f7 | Whiteknight++ | (2 files): add iterate_function_external to complexmatrix2d. Add several tests to the common library. tests pass on the three main numeric types. |
22:13 | |
| rrot-linear-algebra: 20ae715 | Whiteknight++ | (10 files): Merge branch 'master' of git@github.com:Whiteknight/parrot-linear-algebra |
|||
| Whiteknight | cotto: what benchmark? | ||
| purl | It seems faster | ||
| cotto_work | build and make test | ||
| I instrumented DO_OP | |||
| and by "instrumented" I mean "added a fprintf to" | |||
| Whiteknight | nice | 22:14 | |
| I would love to see the same readout for building an NQP-based HLL | |||
| Rakudo would be nice, but the build is already CPU intensive without more IO | |||
| cotto_work | Yeah. There's a considerable slowdown since I'm fopen/fprintf/fclosing a file for each op | 22:15 | |
| Whiteknight | better yet, the Kakapo build and test suite | ||
| cotto_work | It's mostly so we can say "these op functions aren't exercised at all during the build and make test" | 22:16 | |
| Whiteknight | yeah, but if we could get information about ops which are never used in practice and can be culled, that would be awesome too | 22:17 | |
| cotto_work | Sure. it's a simple patch. it only needs to filter out the case where PC is null | ||
| I can reimplement and nopaste when I get home. I'm hesitant to post runnable code written on the clock, even if it'd never be committed. | 22:18 | ||
| op_info_t is nice | 22:19 | ||
|
22:24
snarkyboojum joined
|
|||
| plobsing | looking at the nopaste from cotto++, I noticed we have clear{i,n,s,p} ops. When are those ever useful? | 22:28 | |
| lucian | Whiteknight: couldn't parrot grow a logging and reporting mode for that? | 22:35 | |
| cotto_work | we're accepting patches | 22:36 | |
| ;) | |||
| lucian | heh. i'm actually slightly worried there are so many ops | 22:37 | |
| cotto_work | you should be | ||
| purl | who says? | ||
| lucian | makes reimplementing parrot or writing a jit harder | ||
| cotto_work: couldn't many of them be composed in pasm/pir from others? | 22:38 | ||
| cotto_work | that's the idea behind Lorito | ||
| lucian | cotto_work: right. i have a slightly crazy idea of implementing parrot in RPython/PyPy | 22:39 | |
| well, maybe more than slightly | |||
| cotto_work | maybe | 22:41 | |
| lucian | cotto_work: it would have some clear benefits, like several good GCs and JIT for free | ||
| cotto_work: and you could theoretically run parrot on pynie on parrot | 22:42 | ||
| cotto_work: (RPython is a strict subset of Python) | |||
| Whiteknight | cotto_work: the 1s in that list, where do they come from? | 22:47 | |
| cotto_work | i added 1 to all ops. THe ones with 1 aren't called at all | ||
| Whiteknight | okay, that's what I thought | 22:48 | |
| There's a backtrace op? I wonder if it does what I hope it does | |||
| ...it sort of does! | 22:49 | ||
| cotto_work | It's nice at times | ||
|
22:56
snarkyboojum joined
|
|||
| sorear | What are the requirements for the mythical new (post perl5) configure system? | 23:07 | |
| Whiteknight | must build parrot. must not use perl 5 | 23:09 | |
| cotto_work | cross-compiling would be a non-trivial plus\\ | 23:12 | |
|
23:14
tetragon joined
|
|||
| cotto_work | plobsing, I imagine that the clear ops could be ripped out and nobody would notice. | 23:20 | |
| I'll build bunch of stuff (rakudo, nqp-rx, close, kakapo, whatever) and post the op frequency to parrot-dev | 23:21 | ||
| Whiteknight | I could pick 100 opsou of this list that could easily disappear with no pain | 23:26 | |
| s/opsou/ops out/ | |||
| dalek | kudo: 53ace9a | jonathan++ | src/ (3 files): First cut of reduce ops. Don't handle the triangle case yet (but it's an uncomment and some LHF away for some enterprising soul). |
||
| cotto_work | Do it. Do it naough. | ||
| Whiteknight | another 300 can go with ony minor adjustment (maybe moved to dynop) without affecting our major HLLs | 23:27 | |
|
23:29
GodFather joined
|
|||
| dalek | rrot: r45070 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] add item inst_data |
23:29 | |
| sorear | How do people feel about 'make' here? | 23:32 | |
| cotto_work | It's stupid. Do you have something better? | ||
| That's my general impression, at least. | 23:33 | ||
| lucian | cmake? | 23:34 | |
| purl | well, cmake is a nice alternative to autoconf | ||
| lucian | purl: nobody asked you | ||
| purl | lucian: what? | ||
| lucian | purl: botspank | ||
| purl sticks her tounge out at lucian | |||
| japhb | sorear, what do you want to use make for? | 23:35 | |
| cotto_work | I *think* that we use make because it's commonly available. | ||
| japhb | For building parrot modules, distutils seems to be the base tool (and Plumage knows how to operate it) | 23:36 | |
| sorear | japhb: I'm thinking about the replacement Parrot build system | 23:37 | |
| lucian | why is a new build system needed? | ||
| sorear | not in terms of specifics... I'm trying to see if any of the wild ideas I have floating around would fit it | ||
| lucian: because the current one requires Perl to be available. See also: bootstrapping problem | |||
| lucian | sorear: perl5 is installed pretty much everywhere. why is that a boostrapping issue? | 23:38 | |
| japhb | Perl 5 in the build has always seemed like more of a cultural sensitivity issue than a bootstrapping problem. | 23:40 | |
| Note: I tend to think Parrot is sometimes oversensitive, but I recognize that I am also biased because I'm a Perl advocate. | |||
| lucian | japhb: i think NQP is much more culturally sensitive than a build system | 23:41 | |
| japhb: that could also be said about rake or scons or cmake or make ... | |||
| japhb | lucian, now in that case you really *do* have a bootstrapping issue. :-) | ||
| cotto_work | What's wrong with Not Quite Python? ;) | ||
| japhb | Everyone hates make equally. Thus, the perfect culturally sensitive tool, by dint of being equally insensitive to everyone. | 23:42 | |
| lucian | japhb: true. but if non-cultural was that important, it would've been C-like | ||
| cotto_work: it's nonexistence is somewhat bothersome | |||
| japhb | That can indeed be a bit of an issue. | ||
|
23:43
cottoo joined
|
|||
| japhb | lucian, of course, you're welcome to implement it. I'm sure it's just a matter of changing the grammar. ;-) | 23:43 | |
| lucian | either one of C, bash, perl5 python2 and ruby1.8 exist on any recent enough system. so the best build system using one of these should be used i think | 23:44 | |
| japhb: i know, i know. i'm actually thinking of having a no-lib mode for pynie | |||
| japhb: it would be a bit crazy to write the next version of pynie in the current version of pynie | |||
| japhb | Pish posh. I'm sure several people in #perl6 would tell you that's the only way to fly. | 23:45 | |
| lucian | japhb: i don't know how write-only perl6 is, but that strategy requires frequent rewrites | 23:46 | |
| japhb | They'd tell you that too. ;-) | ||
| lucian | see, i don't quite see eye to eye with perl folk | 23:47 | |
| japhb: perhaps i should've made a joke about parrots, pirates and eyes | 23:51 | ||
| japhb | Heh. | ||
| No worries, I just couldn't think of a snappy comeback. :-) | |||
| sorear | looks like I have a candidate. | ||
| and Perl 6 is *not* write only | |||
| it can also be executed | |||
| most of the time | |||
| japhb | heh | ||
| R^X protection, baby. | 23:52 | ||
| lucian | sorear: +x +w -r ? | ||
| japhb | I would love to see some fMRI research done on the difference between the brain on Perl 6 and on Python 3. There's got to be something there. | 23:53 | |
| cotto_work | You'd need to wait until you can get a larger sample size. | 23:54 | |
| lucian | japhb: wait till they're implemented and respectively used in production | 23:55 | |
| japhb | Nah, I meant just *reading* the source. | ||
| Though, writing code in each would be interesting too. | |||
| cotto_work | it's weekend time | 23:57 | |