#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