Camelia, the Perl 6 bug

IRC log for #parrot, 2008-03-26

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 * Infinoid doesn't help kid51 with that
00:02 wknight8111 urg. I'm getting the error "Lexical '0' not found" for every single statement.
00:03 Infinoid is it looking for a lexical variable of that name?
00:03 wknight8111 most of the statements don't have any variables at all
00:03 wknight8111 "5+4" -> "Lexical '0' not found"
00:03 Infinoid that's in raduko?
00:04 wknight8111 no, in an octave port that I'm working on
00:06 wknight8111 I am going to find some spare time this week and hack in some better error messages into PCT
00:06 Infinoid is --target=past implemented on the perl6 layer, or on the parrot layer?
00:06 Infinoid 'coz it sounds really useful here.
00:07 wknight8111 i think i fixed that last error. I'm getting a new error now
00:07 wknight8111 new = good
00:07 Infinoid heh :)
00:07 Infinoid it is either progress or congress, depending on whether you've moved on to the next one or introduced an earlier one :)
00:08 wknight8111 right. either way i've narrowed it down
00:13 Coke (exit getting caught) see languages/tclsh/src/tclsh.pir line 181 for how to handle that.
00:13 wknight8111 okay, thanks
00:13 Coke (Those macros are defined in .../src/macros.pir)
00:14 chromatic Infinoid, it's in HLLCompiler.
00:15 slightlyoff joined #parrot
00:36 spez left #parrot
00:40 cotto_home is INTVAL_SIZE a good way to check if I'm on a 64-bit system (in C code)?
00:42 Infinoid cotto_home: looks good to me, it's defined to 8 on my x86-64 linux box
00:43 cotto_home thanks
00:59 petdance joined #parrot
01:02 particl1 joined #parrot
01:04 slightlyoff_ joined #parrot
01:34 grim_fandango joined #parrot
01:49 petdance joined #parrot
01:56 Coke Anyone here have a comment as to whether or not languages should be adhere to parrot's "try not to use non-core/bundled" modules credo? Seems like they should be able to set more requirements (and have) than parrot itself. (RT #51916)
01:58 Infinoid my own priority would be to maximize code reuse and minimize developer work, therefore, anything on CPAN is fair game.  But I am neither a core developer, nor a languages guy.
02:05 kid51 I think they'll have to go into Bundle::Parrot ... which I actually know little about.
02:05 Limbic_Region Coke - get p5 on parrot working and then it is all fair game :-D
02:06 peepsalot joined #parrot
02:06 kid51 But who exactly is working on "p5 on parrot"?
02:07 Limbic_Region well, the ponie project is dead as a door nail AFAIK
02:07 Limbic_Region but nicholas still seems to make p5 core changes that seem to be in preparation for p5 on parrot
02:07 Limbic_Region mostly, I was speaking tongue in cheek (note the smiley)
02:08 Limbic_Region and on that note, I am out - TTFN
02:13 Coke kid51: I have commit privs on Bundle::Parrot : it's just a Bundle.
02:13 Coke Bundle?
02:13 purl hmmm... Bundle is just a directory.
02:13 Coke bundle is also a special kind of CPAN thingee that just says "install these other modules"
02:13 purl okay, Coke.
02:13 Coke Someone with some C-fu could probably apply #46597
02:14 kid51 Then could you add Parse::Yapp to Bundle::Parrot?
02:15 particl2 joined #parrot
02:15 Coke I could. I hesitate to add stuff that parrot itself doesn't require.
02:15 Coke I'm not refusing, just hesitating. =-)
02:15 * Infinoid looks at #46597
02:16 kid51 Well, then do we need a Bundle::Parrot::Languages ?
02:17 Coke Iunno. I suspect I should just give up and add it to B:P; can you respond to the ticket to the list and ask for feedback? See if anyone other than I has any concerns?
02:21 * Coke triages a bunch of the new tickets and adds [TAG]s
02:33 * Coke wonders if rt.perl.org just fell off the map
02:34 Infinoid works great here
02:34 * Infinoid resolves RT#46597
02:37 svnbotl r26550 | infinoid++ | trunk:
02:37 svnbotl : [raduko] reformat slightly to pass t/codingstd/cuddled_else.t
02:37 svnbotl r26551 | infinoid++ | trunk:
02:37 svnbotl : [src] "indexes" argument to Parrot_init_arg_indexes_and_sig_pmc should be NULLOK.
02:37 svnbotl : This patch inspired by RT #46597.  bgeron++
02:47 contingencyplan joined #parrot
02:48 Coke Infinoid: danke.
03:14 svnbotl r26552 | coke++ | trunk:
03:14 svnbotl : [docs]
03:14 svnbotl : Fix typo & remove "This section intentionally left blank."
03:14 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26552
03:41 svnbotl r26553 | coke++ | trunk:
03:41 svnbotl : [DEPRECATED]
03:41 svnbotl : The pmc_namespace vtable was deprecated, the get_namespace vtable was
03:41 svnbotl : its replacement: Here's a rename which resolves both tickets
03:41 svnbotl : (now merged into RT#48144).
03:41 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26553
03:44 chromatic Hey Coke, want to profile some PIR?
03:44 Coke Sure.
03:47 chromatic Okay, let me mail my patch and instructions to the list.
03:49 Auzon joined #parrot
03:50 chromatic There you go.
04:00 svnbotl joined #parrot
04:12 Coke chromatic: not seeing it. will probably have to wait until tomorrow anyway.
04:12 * Coke has fun ripping things out.
04:15 AndyA joined #parrot
04:17 ewilhelm left #parrot
04:18 svnbotl r26559 | coke++ | trunk:
04:18 svnbotl : [DEPRECATED]
04:18 svnbotl : remote int variants of getattribute/setattribute opcodes that were already
04:18 svnbotl : throwing exceptions anyway. (RT #48729)
04:18 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26559
04:20 chromatic It should be in the list archives now.
04:29 Ozama joined #parrot
04:30 Ozama alguem ae tem bd
04:30 Ozama ?
04:37 svnbotl r26560 | coke++ | trunk:
04:37 svnbotl : [DEPRECATED]
04:37 svnbotl : use less qw(.);
04:37 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26560
04:38 Coke Ozama: I'm sorry, I don't recognize that language.
04:39 * Coke guesses portuguese, and we do have a native speaker, but I'm not sure he's about.
04:41 Coke ->
04:44 svnbotl r26561 | coke++ | trunk:
04:44 svnbotl : [DEPRECATED] [pynie]
04:44 svnbotl : use less qw(.);
04:44 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26561
05:31 skv_ joined #parrot
07:09 Ademan joined #parrot
07:19 svnbotl r26562 | chromatic++ | trunk:
07:19 svnbotl : [PGE] Reordered generated code to bail out of an obviously-failing match before
07:19 svnbotl : creating PMCs to store results for successful results.  This is a minor
07:19 svnbotl : optimization.
07:19 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26562
07:28 uniejo joined #parrot
08:05 iblechbot joined #parrot
08:37 slightlyoff joined #parrot
08:51 askie joined #parrot
09:00 kj joined #parrot
09:18 Dave joined #parrot
10:04 ruoso joined #parrot
10:15 iblechbot joined #parrot
10:41 ask joined #parrot
10:59 mire joined #parrot
11:01 skids joined #parrot
11:08 skids joined #parrot
11:13 particl1 joined #parrot
11:26 svnbotl r26563 | kjs++ | trunk:
11:26 svnbotl : [nqp] update bootstrap/actions.pm a bit.
11:26 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26563
11:49 teknomunk joined #parrot
11:55 kid51 joined #parrot
11:57 svnbotl r26564 | kjs++ | trunk:
11:57 svnbotl : [nqp] add compiler driver for bootstrap version of nqp.pir
11:57 svnbotl : update manifest, which also includes Whatever class for perl6 which wasn't added apparently.
11:57 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26564
12:14 IllvilJa joined #parrot
12:19 silug joined #parrot
12:29 svnbotl r26565 | kjs++ | trunk:
12:29 svnbotl : [nqp] update makefile with a "boot" target, which builds the bootstrap version of nqp.
12:29 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26565
12:35 svnbotl r26566 | kjs++ | trunk:
12:35 svnbotl : [nqp] fix paths for .includes in bootstrap compiler driver.
12:35 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26566
12:42 teknomunk joined #parrot
12:48 svnbotl r26567 | kjs++ | trunk:
12:48 svnbotl : [nqp][bootstrap] various updates
12:48 svnbotl : add an .include for the builtins.
12:48 svnbotl : update the TODO: 1 thing has been done.
12:48 svnbotl : fix a thing in actions.pm
12:48 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26567
12:49 slightlyoff joined #parrot
13:02 mire joined #parrot
13:11 Coke kid51++
13:35 teknomunk joined #parrot
13:36 kj that's weird. blocktype("sub") in NQP's Actions.pir
13:36 kj i thought only "immediate" and "declaration" were allowed.
13:36 kj or valid, at least
13:39 teknomunk joined #parrot
13:44 svnbotl r26568 | kjs++ | trunk:
13:44 svnbotl : [nqp]bootstrap/actions.pm
13:44 svnbotl : fix for-loop
13:45 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26568
13:45 kj woohoo!! npq's bootstrapped version is running pretty nicely :-)
13:47 jonathan Nice work!
13:47 kj I think I just compiled Squaak's action file
13:47 kj with nqp, implemented in nqp
13:51 * Coke wonders how this boostrap works.
13:51 kj except that it doesn't work yet.. oh well.
13:51 Coke ... nice timing.
13:51 kj oh not sure if it's actually a bootstrap...
13:51 kj ehm
13:51 kj the NQP actions file, Actions.pir, now has an actions file written in NQP
13:52 kj so the code generator of the NQP compiler is written in NQP.
13:52 Coke ... and how do you run that? with the non-bootstrapped version that's written in pir?
13:52 kj it results in a .pbc file
13:52 kj in the end
13:52 kj so that can be run by parrot
13:52 Coke yes, but it can't be turtles all the way down.
13:52 kj so instead of running parrot nqp.pbc, I now run parrot bootstrap/nqp.pbc
13:53 kj which uses the same parser
13:53 kj but a different actions file, namely one written in NQP.
13:55 * particl1 pats his turtle's shell
13:56 particl1 minor nit... i prefer one [] for all tags in a commit message
13:56 particl1 eg: [nqp bootstrap] over [nqp][bootstrap]
13:56 kj ok
13:57 particl1 i'd love to see one nqp actions file as canon, with a script generating the other
13:57 kj yeah. I'm a bit confused now.
13:58 particl1 maybe something that uncomments all comments starting with '## ', and comments all lines without /^#/
13:58 particl1 'cept blanks, of course
13:58 particl1 and a full regression suite to make sure both behave the same
13:58 kj you mean some kind of comment flipper?
13:58 particl1 yep
13:59 particl1 so the .pir file can be used to generate the .pm
13:59 kj good idea. I'm not inspecting the generated code of both versions. They're similar, but somehwat different
13:59 kj some :viviself stuff seems to be different
14:00 particl1 that's a slippery slope.
14:00 particl1 a test suite that runs pir vs pm would be nice
14:01 particl1 Coke: what time is the call today, edt time?
14:01 Coke particl1: I do NOT prefer a single [foo bar] over [foo][bar]. Makes it easier to find your tags for foo or bar.
14:02 Coke I admit I still don't understand how the bootstrap is not running PIR. =-)
14:02 particl1 /\[.*\bfoo\b.*\]/
14:03 particl1 that regex works for either style
14:03 kj Coke: I'm confused myself :-S
14:03 kj So, what happens is, the Actions file for the current NQP compiler is reimplemented using NQP
14:03 Coke Then the style we use doesn't matter, does it?
14:04 particl1 ][ hurts my eyes. ymmv
14:04 kj If you open that file, you'll see the NQP equivalent of the cuurrent implementation. What I did was flip the comments, use the NQP version (fix it here and there) and comment the PIR version
14:04 kj then that NQP file is compiled by the current NQP compiler
14:05 Coke so this is like the second stage of the gcc from-scratch compilation process?
14:05 kj and after adding a new main file for the new version which loads this NQP-generated PIR actions file
14:05 kj i don't know gcc compilation process
14:05 kj ... the new nqp is generated
14:05 Coke you use some other compiler to build gcc from source. (phase 1) you then use that built version of gcc to build gcc from source.
14:05 particl1 kj: "then that NQP file is compiled by the current NQP compiler" -- that's where the pir version is used
14:05 particl1 that's the bootstrap part
14:05 kj right
14:06 kj so, you build a c compiler using assembly. then using that version, you compile a c compielr written in C, which you compile with the assembly-version
14:06 particl1 we could use nqp to build parrot after miniparrot. wanna try :)
14:07 kj eh, parrot is not written in nqp... what do you mean ? :-)
14:07 particl1 instead of using perl 5
14:07 kj ah
14:07 kj nice SoC project ;-)
14:09 particl1 can't wait to build nqp later today. i'd do it now, but i need the power for $work
14:11 PerlJam Coke: so ... we'll use parrot to compile the c99 compiler and then use *that* to compile parrot?  :)
14:11 particl1 okay... i need to profile some mod_perl code. any favorite modules i should look at?
14:15 kj ah I see what's wrong, I think. I just forgot a whole action method. woops.
14:16 particl1 make -j test # on perl-5.10.0 is a huge time saver
14:18 Coke can someone with privs on feather upgrade ack to svn-latest?
14:21 particl1 you could build your own. those with privs include juerd, timtoady, moritz, diakopter... don't know any others
14:21 Andy or put it in your ~/bin :-)
14:28 * particl1 tempts fate with make -j install
14:28 Coke ... I know I could have my own.
14:29 Coke But thanks. =-)
14:29 particl1 hey, i pinged those involved. that's what counts
14:31 rdice joined #parrot
14:32 Theory joined #parrot
14:32 particl1 anybody seen tewk lately?
14:33 Coke seen tewk?
14:33 purl tewk was last seen on #parrot 5 days and 21 hours ago, saying: But I'd be open to other core hacking ideas that need to get done this summer.  Particle doesn't seem to be around right now.  [Mar 20 10:06:47 2008]
14:34 Coke Didn't we have a ticket at one point to eliminate the configure tests from "make test" ?
14:36 Coke purl, 46+755+96
14:36 purl 897
14:36 particl1 i'm not sure if we had a ticket. we certainly had sentiment.
14:40 tewk ping coke
14:40 purl I can't find coke in the DNS.
14:40 particl1 hey there tewk
14:40 Coke tewk: 10:32 < particl1> anybody seen tewk lately?
14:41 tewk I got your email.  I've been busy.  I'm going to make some changes to the proposal today. I'll ping you when they are ready.
14:41 particl1 excellent. thanks. how's the family?
14:41 tewk Busy, but fun.
14:42 tewk Does the jit of nci on x86 work? I saw some minimal code but don't know if it is used, I'm guessing not.
14:42 diakopter Coke: where's a tgz of awk svn-latest
14:43 diakopter ack I mean :)
14:43 particl1 tewk: i'm not sure. what's the best way to check? bulid jitted parrot and test... what?
14:44 tewk How serious are people about using llvm for parrot jit?
14:44 particl1 diakopter: search for App::Ack on cpan
14:44 particl1 should be 1.78
14:44 tewk I'll test the nci jit and see if it works at all, I was just seeing if anyone had any first hand knowledge.
14:45 diakopter svn export http://ack.googlecode.com/svn/trunk/ ack
14:46 particl1 that works too
14:46 diakopter Coke: ping
14:47 diakopter Coke: I installed it to /usr/local/bin
14:47 Andy no
14:47 particl1 wtf?
14:47 Andy no no
14:47 diakopter no no?
14:47 Andy ack-standalone
14:47 Andy GET  http://ack.googlecode.com/svn/trunk/ack-standalone > ack
14:47 diakopter ok...
14:48 Coke /usr/bin/ack -v dies atm.
14:48 * Coke waits.
14:49 particl1 in my defense, i expected diakopter would build/test/install ack after exporting the repo :)
14:49 cognominal joined #parrot
14:49 Andy ah
14:50 diakopter Coke: try now?
14:51 diakopter 1;1 root@feather:~# ack --version
14:51 diakopter ack 1.78_01
14:53 Coke ack --version
14:53 Coke -bash: /usr/local/bin/ack: No such file or directory
14:53 Coke $ which ack
14:53 Coke /usr/bin/ack
14:53 diakopter heh
14:54 diakopter where do you want it?  /usr/local/bin or /usr/bin
14:54 Coke this means i can't just type "ack".
14:54 Coke I'm not *running* /usr/local/bin/ack; I'm running "ack", and which ack tells me that is /usr/bin/ack. but /usr/bin/ack seems to work.
14:55 Coke so, I'm confused.
14:55 diakopter restart the shell?  I don't know why it's still looking for the (removed) /usr/bin/local/ack
14:55 diakopter I mean /usr/local/bin/ack
14:56 Coke ah. "hash -r"
14:56 Coke what the (*&#$ is the point of 'which' if the shell is going to lie about it? =-)
14:56 Coke diakopter++
14:57 diakopter unless you had an alias set up or something
15:00 Andy I'd also like to recommend: ACK_PAGER='less -R -m -N'
15:00 particl1 wuzzat do?
15:03 diakopter less?
15:03 purl i heard less was more.
15:03 diakopter :)
15:04 particl1 ok... man says it allows color output, includes line numbers, and prompts with % through file
15:05 Andy Just try it.
15:05 Andy GO ON MAN JUST TRY IT
15:05 * particl1 wonders if his win32 port of less supports that
15:05 particl1 course, it won't support -R
15:17 * Coke tries it and fails to like it.
15:19 Andy waaaaah
15:19 particl1 is there ack --pager?
15:19 Andy yes
15:19 Andy of course.
15:19 purl Indubitably.
15:20 Coke how do you override the pager setting?
15:20 Andy The way that logically makes sense.
15:21 Andy The least surprising way.
15:21 Andy --nopager
15:21 Coke We've discussed this in the past: your logic and my logic don't seem to mesh. =-)
15:22 peeps[work] joined #parrot
15:22 Coke Running this through a pager for some searches seems to make it take forever to display output (either with ACK_PAGER or even |cat). meh.
15:22 Andy yeah, I'm thinking it needs to unbuffer output.
15:24 Andy I need a test that verfiies that ack --help shows all the commands possible.
15:24 Andy so I can't forget to leave off --pager next time.
15:24 Andy Like I did this time.
15:25 * Coke wonders if it is unsurprisingly logical that ack --v really means ack -v
15:27 particl1 -> #ack
15:28 Andy PLEASE KEEP THE CHANNELS PURE
15:28 Coke please don't shout.
15:29 Andy ALSO DON'T SHOUT
15:31 diakopter Infinoid: to answer your question, that became and is still a casualty of priorities and attention.
15:31 Infinoid is your work in progress available somewhere?  I might take it and run with it, it's an interesting project :)
15:33 * particl1 goes offline to look for lunch &
15:36 pmichaud (nqp "bootstrap")   I really prefer that we use the term "self-hosting" as opposed to "bootstrap" here
15:36 pmichaud "bootstrap" implies that we're throwing away the PIR translation... and I'm not sure I'm ready to do that yet
15:37 pmichaud in particular, even though the nqp-version of actions may be semantically equivalent to the pir version, it also may have a lot of overhead that is best avoided until we get some optimizations in place
15:38 pmichaud otoh, if there's a strong sentiment that PIR is such a horrible evil that we need to be bootstrapping everything to excise it, then we can talk
15:40 Coke_offline I am unaware of such a sentiment.
15:40 Coke_offline ->
15:40 pmichaud oh, I know it exists
15:40 pmichaud lots of people seem to be in a rush to move things off of PIR asap
15:45 PerlJam crazy people.
15:45 purl crazy people are the ones who flew planes into buildings or destructors
15:45 cognominal I have the feeling that once enough perl6 will be implemented, self-hosting will be a big win feature wise
15:46 PerlJam cognominal: sure ... but we're not there yet :)
15:46 pmichaud cognominal: why?
15:46 PerlJam pm: because we can do more with less and it's all perl 6
15:46 PerlJam (IMHO)
15:47 PerlJam pm: btw, welcome back : )
15:47 cognominal also, it is a good thing that people see "real" code written in Perl 6
15:47 * PerlJam rubs the vanishing cream off of his nose ...   :-)
15:49 cognominal pmichaud, parrotwise (versus pct), what is still missing to support perl6?
15:49 pmichaud when we say "self-hosting"... what part/feature of self-hosting is the big win?
15:49 pmichaud does "self-hosting" mean that _all_ of Rakudo is written in Perl 6?
15:50 diakopter Infinoid: when I said I was working on it, I meant working on it *in my mind*!
15:50 diakopter ;)
15:51 Infinoid ooo
15:51 * Infinoid does an svn checkout of diakopter's mind
15:51 pmichaud cognominal: I can't think of any major features off the top of my head that are missing.  concurrency/threading are probably bubbling up, but we're a ways from needing that
15:51 diakopter I did update the botnix instance on feather to the latest svn
15:51 Infinoid right, I'll figure out botnix and see what I can come up with, thanks :)
15:52 pmichaud there are still some issues with lexical handling that need to be fleshed out (or worked around)
15:54 cognominal pmichaud, how hard it is to get pct hll namespace aware?
15:54 pmichaud it's going to be a bit of work
15:54 pmichaud need to refactor protoobject handling
15:55 pmichaud for now it's just easier to work in the parrot hll namespace
15:55 cognominal I tried naively to make it stick .HLL "perl6" "" in the beginning of the pir code but I get strange messages
15:55 pmichaud right, adding .HLL "perl6" means that the PAST protoobjects can't be located
15:56 pmichaud because they're in the parrot hll namespace while the action methods are running in the perl6 hll namespace
15:56 Theory joined #parrot
15:56 pmichaud so, we also need to import those protoobjects into the perl6 namespace
15:56 pmichaud PCT should probably provide a helper method to do that
15:56 cognominal there is an export_to described in the namespace ppd
15:57 pmichaud I think that export_to is a bit out of date
15:57 pmichaud I'm not even sure it's implemented yet
15:57 cognominal part of it if I trust the tests
15:58 pmichaud I've also commented in the past that I think those deserve a redesign, since that pdd was created before we had the PMCMETHOD capabilities
15:58 pmichaud now that we have PMCMETHODS, we can make a much saner interface
15:58 pmichaud (sorry, PCCMETHOD.  or something like that)
15:58 cognominal with Perl6 having its onw namespace, the Hash class and the Hash pmc will not collide anymore?
15:58 pmichaud they will still collide
15:58 pmichaud because class namespaces are separate from the hll namespaces
15:58 pmichaud that's another bug that Parrot needs to address
15:59 gryphon joined #parrot
15:59 pmichaud but we can work around that by introducing a Perl6Hash class
15:59 cognominal it seems there is long and short names, but I don't understand how it works.
15:59 jonathan I think that's only because we haven't thrown away the class registry yet.
16:00 pmichaud the trick to figuring out how Rakudo (and PCT and NQP) works is to remember that they tend to avoid Parrot classes altogether
16:00 pmichaud at least for names
16:00 jonathan If we can get PMC class lookups all going via namespaces just the same as we have PIR class ones doing, I guess that problem goes away.
16:00 pmichaud instead everything happens via their protoobjects
16:00 cognominal now, I am not running blind in the walls. I am able to see what are the problems. not yet to fix them.
16:01 pmichaud so there's nothing preventing Rakudo from having a 'Hash' protoobject, that is an instance of Perl6Hash but appears as 'Hash' in every other respect
16:01 jonathan Though it means if you want a Parrot PMC, like 'Hash', you'd have to make sure you looked in the parrot namespace for it. Which is messier.
16:02 pmichaud in Rakudo?  No, we'd have a Parrot::Hash protoobject that gives us an instance of the Parrot PMC
16:02 pmichaud or otherwise maps correctly to the PMC Hash as opposed to the Perl6 Hash
16:02 pmichaud oops, I misread jonathan's comment.  You're correct, jonathan
16:03 pmichaud having all PMC class lookups via namespaces make things like   $P0 = new 'Integer'    a lot more tricky
16:03 jonathan Right.
16:03 pmichaud which is also why the protoobject approach makes a _lot_ of sense :-)
16:03 purl okay, pmichaud.
16:03 jonathan And we don't have any way, in the key syntax, to distinguish between lookups from HLL root and real root.
16:04 pmichaud Right.  But that's where doing things like exporting/importing can give us a win
16:04 jonathan Yup.
16:04 pmichaud for example, if we have a way to import the PMC classname into a HLL namespace, then we don't have to worry about looking things up directly in the parrot hll namespace
16:05 jonathan Right.
16:05 pmichaud and we can say that    $P0 = new 'Integer'  always refers to 'Integer' in the HLL, and never to Parrot's Integer (unless it's been mapped that way)
16:05 jonathan That would make a lot of sense.
16:05 pmichaud but protoobjects give us much the same capabilities, at the cost of an extra step
16:05 pmichaud thus
16:06 pmichaud $P0 = get_hll_global 'Integer';   $P0 = $P0.new();
16:06 jonathan Well, we need protoobjects for Perl 6 stuff anyway.
16:07 pmichaud of course, the advantage to the $P0.new() approach is that we can also send initialization information to the object at the same time we create it
16:07 pmichaud anyway, I need lunch.  bbiaw
16:07 jonathan Yup, got Spanish lesson here too.
16:07 jonathan bbl
16:07 pmichaud adios
16:08 pmichaud hasta lluegos (or something like that)
16:09 PerlJam one ell
16:09 PerlJam and no ess
16:30 sjansen joined #parrot
16:34 kid51 joined #parrot
16:40 particl1 joined #parrot
16:41 particl1 hi from nypl
16:45 kid51 So what exactly are you up to in Gotham?
16:46 particl1 wife has a conference
16:46 particl1 i'm tagging along for a scenery change
16:46 kid51 Well, I'd arrange an emergency social meeting of ny.pm for you, but as you know, I'm out of the country.
16:46 particl1 too bad i didn't consider organizing an emergency social ny.pm meeting
16:47 particl1 yep, i see you're in the 51st state
16:47 kid51 You could always email dha.  When jmcadams was here he got a meeting on one day's notice.
16:47 kid51 Benefit of meeting (besides beer):  It would mean someone besides me could advocate for Parrot in NYC.
16:48 particl1 yeah. my nights are already double-booked, though
16:48 particl1 i have two dinners tonight
16:49 kid51 You'll have to hit the gym tomorrow, then.
16:52 particl1 good idea
16:52 purl particl1: Good Idea: Whistling while you work. Bad Idea: Whistling while you eat.
16:52 particl1 grr can't get the free wifi to work at the library
17:03 ruz joined #parrot
17:04 Theory joined #parrot
17:04 Coke particl1: I would suggest posting a blog entry on parrotblog regarding SOC
17:07 particl1 advertising?
17:07 purl Contempt, rather than celebration, is the proper response to advertising and the system that makes it possible.
17:08 Theory joined #parrot
17:09 Coke yes, in re: ambs recent email.
17:11 Coke I can then put a pointer to that up on pc.o
17:18 particl1 yeah, i should blog about it. i'll try to get to it in a few hours
17:19 tewk particl1: Made a couple of minor changes to SoC application.
17:20 spez joined #parrot
17:24 particl1 tewk: i'll take a look today, thanks!
17:27 spez left #parrot
17:37 darbelo joined #parrot
17:37 darbelo joined #parrot
18:06 Coke pmichaud: regarding my email, I think this heads to a discussion that we need to have before 1.0: "what should be a opcode/runtime library/method/pmc/..." there's a lot of code scattered that could use a global organizational pass.
18:06 Coke do we need to have "concatenate" vtable entries, e.g. instead of just having that be a method?
18:07 particl1 only aggregates get shift/unshift
18:07 particl1 and possibly only list-like aggregates
18:07 particl1 this should be implemented by pmroles
18:07 Coke particl1: eventually, sure. now everyone has them.
18:08 particl1 "everyone has them" - what?
18:08 Coke every pmc has several unshift_ VTABLE variants.
18:09 Coke grep unshift src/vtable.tbl
18:09 Coke sorry, ack. =-)
18:09 particl1 ah.
18:09 particl1 i'd better check the vtable pdd
18:10 Coke that's pdd17, right?
18:11 particl1 yep, consolidated into pdd17
18:13 svnbotl r26569 | pmichaud++ | trunk:
18:13 svnbotl : [past-pm]:
18:13 svnbotl : * Remove deprecated past-pm from the "compilers" section of Parrot docs.
18:13 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=26569
18:19 kid51 joined #parrot
18:25 kid51 particle ping
18:25 kid51 or particl1 ping
18:27 * Coke sees he was not fast enough in redirecting that thread back onto RT.
18:31 particl1 pong
18:32 kid51 The problem we're having on feather with the two postconfigure tests -- that's part of a general problem we're having when we try to require Parrot::Revision during testing.  At least that's my diagnosis.
18:33 kid51 'cause when I try to run perl Configure.pl --test on feather for the very first time, I get the hang at t/configure/018-revision.t.
18:33 particl1 this used to Just Work before you refactored to make it more testable
18:33 particl1 i'm not blaming, just noticing
18:34 kid51 But the code wasn't being tested at all then.  So it only Just Worked because it wasn't being tickled at all, except during Configure.pl itself.
18:36 kid51 I think the underlying problem is that we've agreed to support 3 different version control clients.
18:36 kid51 And that Parrot::Revision is mandated to work one way before configuration and a different way after.
18:36 particl1 i don't see that as a problem
18:37 kid51 Yes, I know, but it's proven to be a maintenance nightmare.
18:37 particl1 i use three version control clients at $work
18:37 Infinoid people are currently using 4 version control clients: svn, svk, git-svn, and git (without git-svn)
18:37 Infinoid I fixed some stuff related to git-without-svn last week... seems someone's put up a public git mirror at repo.or.cz
18:37 Coke if the tests are the only thing tickling the code....
18:38 particl1 it is indeed difficult to support. however, if someone is able to set up envs to test these, with smokes, then we're getting somewhere
18:38 cognominal I have renounced using svk for parrot weeks ago
18:38 cognominal I use svn
18:38 Coke Honestly, I think saying "svn is what we support, you can roll your own elsewise" is not a terrible position.
18:39 Coke in which case most of this support nightmare goes away.
18:39 Coke s/nightmare/slight issue/
18:39 kid51 Coke++
18:39 Infinoid any reason why we don't do a check for the existence of $HOME/.svk before running svk?  that'd sidestep the process-prompting-for-input issue
18:39 kid51 ... but I know people would scream if we did that.
18:39 Infinoid I wouldn't scream :)
18:39 Coke Infinoid: That seems reasonable, so it'll never work. =-)
18:40 * Coke 's passport shows up.
18:40 Infinoid I use svn... git is really nice for offline work (better than svk, in my opinion), but not worth the hassle of figuring it out
18:41 particl1 just because you have svk installed doesn't mean you're using it.
18:41 particl1 it's a pita, for sure
18:42 Infinoid agreed 110%
18:43 Infinoid I think I know how to fix up the svk stuff.  it won't be perfect, but combined with a "use other SCMs at your own risk" blurb somewhere, I think it'll be allright
18:43 Coke does svk always go into $HOME/.svk ?
18:44 Infinoid I can check the svk sources to verify that
18:45 Infinoid way I see it, there are 4 cases.  1: svk isn't installed.  2: svk is installed but never used, this is the case where svk hangs.  3: svk is installed and used but doesn't know about the current repo.  4: svk is installed, used, and knows our version, grab the version in this case
18:46 Infinoid I'm hoping "used" is as simple as ".svk exists in the current user's home directory"
18:46 particl1 the two main questions are: "am i in a working copy?" and "what vc tool am i using?"
18:47 Infinoid right.  those are easy to answer for everything except svk
18:47 kid51 particl1:  Where 'working copy' is the opposite of working from, say, a release tarball -- correct?
18:47 particl1 isn't there a depotmap somewhere (or whatever it's called)
18:48 particl1 kid51: working copy is somewhere you can perform vc commands
18:48 particl1 so, not tarball or svn export
18:48 Infinoid the "DEVELOPING" file doesn't exist in release tarballs, right?  how about daily snapshot tarballs?
18:49 kid51 Infinoid:  Correct on the release tarballs
18:49 * kid51 knows nothing about daily snapshot tarballs
18:49 particl1 DEVELOPING is missing from releases only
18:49 * Infinoid checks
18:49 Infinoid DEVELOPING exists in snapshots :(
18:50 kid51 That's a PITA:  YA variation to be maintained.
18:51 particl1 it's okay to say "i don't know what revision this is"
18:51 particl1 and set it to zero.
18:51 kid51 I already account for the presence/absence of DEVELOPING in the tests I've written for Parrot::Revision.
18:51 particl1 yes. as long as you use that only to determine whether it's a release tarball vs anything else that's fine
18:51 Infinoid disambiguating snapshots from svk checkouts basically requires checking ~/.svk
18:54 nopaste "kid51" at 216.138.231.37 pasted "Parrot::Revision: excerpt handling SVK" (20 lines) at http://nopaste.snit.ch/12577
18:54 Coke Um... does the version test check for svn first?
18:54 Coke if so, why am I failing that and checking svk?
18:54 chromatic joined #parrot
18:54 chromatic I think you're all asking the wrong question.
18:55 chromatic The right question is "Why do we need to know which VCS someone is using?"
18:55 barney joined #parrot
18:55 particl1 some tests, like metadata
18:55 Coke what is the test testing?
18:55 particl1 so, if i tcan't determine which vcs, it should just fail
18:56 particl1 svn:keywords etc
18:56 Coke "why do we even have this lever."
18:56 kid51 svn:keywords are checked, I believe by Parrot::Distribution, to determine what should be updated in MANIFEST
18:57 Psyche^ joined #parrot
18:57 particl1 basically, if we can determine that you're a developer, we can run the development tests
18:57 chromatic if -e 'DEVELOPING'
18:57 particl1 NO
18:57 Coke "why not"
18:57 purl i heard "why not" was never sufficient justification.
18:58 particl1 i could be a user that exports HEAD from svn
18:58 Coke developers don't always have a working copy.
18:58 particl1 then i get DEVELOPING
18:58 Infinoid snapshots have a DEVELOPING, but how many people here use snapshot tarballs for development?
18:58 Coke so why are we running developer tests without being told to?
18:58 Andy Plus I might not WANT to do developer tests.
18:58 Coke why don't we, by default, just run feature tests.
18:59 Infinoid another goal is to figure out what revision a build was built from (and we need to know which VCS, to determine which command to run for that).
18:59 chromatic All this is worth the faffing about trying to detect the VCS from all the potentially installed VCSes now and forever is active for the current checkout but which won't cause smokes to fail?
19:00 Infinoid I'd say it's worth checking the easily checkable cases, at least
19:00 Coke I'd say it's not, given how much time we've spent trying to get even the easy case right. =-)
19:00 particl1 at the moment, parrot is optimized for developers
19:00 Coke for very small values of optimized. =-)
19:00 Infinoid developers are the common case. :)
19:00 particl1 at some point, probably nearer to 0.99, this will change
19:00 chromatic Okay, let me ask a different question.
19:00 chromatic Do the SVN metadata tests tell us anything interesting when they fail?
19:01 Coke I don't think running the codingstd tests every day is "optimized for developers". Nor the config tests. nor ...
19:01 kid51 It's certainly not optimized for maintenance developers ;-)
19:01 kid51 It's optimized for developers in the sense that anyone with a commit bit who wants to add a feature more or less can.
19:02 particl1 i'd be very happy not to run the config tests if i'm not modifing config
19:02 kid51 Witness: recent addition of two new config steps without prior discussion.
19:02 particl1 ...and not to run the codingstd/distro/etc tests if i'm not creating a distro
19:02 particl1 IF we have procedures in place that allow us to clean up the mess every month before release
19:02 particl1 otherwise release is too big a burden
19:03 particl1 hell, i'm planning to release on tax day, while i'm in hawaii
19:03 particl1 (and will have arrived hours beforehand)
19:03 * chromatic Warnocks himself in the head
19:04 particl1 chromatic: they tell us if our coding standard is being enforced
19:04 particl1 sometimes, that's important
19:04 Coke not on every commit.
19:04 chromatic When is it important?
19:04 Coke That's a maintenance issue.
19:05 particl1 yep, maint.
19:05 Coke so, "for a release" would be an excellent time. Not during the "I'm about to commit something, run make test to make sure I didn't break the build".
19:05 chromatic I mean, if it's so important that we make sure that all files being checked into the repository have the same three SVN properties set, we could enforce it at the one place where we know we're using SVN.
19:06 chromatic ... and we know that no human will ever forget.
19:06 Infinoid don't forget the other uses: is having a svn revision number for "./parrot --version" important?  if so, when?
19:06 nopaste "kid51" at 216.138.231.37 pasted "lib/Parrot/*.pm files mentioning 'svn'" (19 lines) at http://nopaste.snit.ch/12578
19:06 chromatic ... and we can always update a REVISION file.
19:06 chromatic ... without human intervention.
19:07 PerlJam those pesky humans ... always getting in the way
19:07 particl1 chromatic: that means two commits for every commit
19:07 chromatic Does a server-side pre-commit hook require two commits?
19:07 Coke when is phone, btw?
19:08 chromatic one hour
19:08 Coke danke.
19:08 Coke I figured if you were here, it was soon. :P
19:08 particl1 if it's safe to do pre-commit, it's only one commit
19:08 particl1 i would really like to make the technology work for us
19:08 Coke this raises the question, though: is having the revision really necessary?
19:08 kid51 The codingstd tests that are currently in 'make test' are those where we already have a high degree of conformity to the standards.  Those where we are a long way off (such as the pdd_format.t I added this week) are not in 'make test'.
19:08 chromatic That's a good question.
19:09 Coke if the only place we really need it is ./parrot --version ... why? why is that necessary.
19:09 chromatic codingstd tests are fine at the moment; it's just the VCS ones that bother me now.
19:09 Coke ... one thing at a time, sure. =-)
19:10 chromatic make coretest improved my productivity.
19:10 Coke ditto.
19:11 particl1 what do we need? 'devtest mainttest distrotest fulltest'
19:11 Coke test and fulltest are sufficient for me.
19:11 chromatic I think we have some of the others.
19:12 Coke if you want to test something specifically... run the specific test. otherwise you're either making sure you broke no features, or that parrot is ready for a release.
19:12 kid51 particl1:  Do you still believe ./parrot --revision must be available?
19:13 kid51 IIRC, several months ago we, um, discussed this.
19:13 particl1 i believe that if we can determine which revision the parrot you're running was built from, it'll make debugging/maintenance easier
19:13 particl1 i don't care how.
19:13 Coke presumably, in the *wild*, people will not be running an svn-version.
19:13 particl1 but it should Just Work.
19:13 Coke presumably, if they are developers, they know how to work their VCS and can tell us.
19:13 particl1 but they'll be running from some distro that is associated with an svn revision
19:14 chromatic ... then distro needs to work with upstream.
19:14 Coke no, they'll be running from some distro that is associated with a release.
19:14 chromatic And I've revealed myself as an idealist.
19:14 particl1 i'm not a p5p, but i occasionally run blead
19:14 particl1 i never get it from a release
19:15 Coke yes. and when you run bleed, do you typically install it for some user who doesn't know where it came from?
19:15 PerlJam particl1: you get a tarball of bleadperl?
19:15 particl1 no, not a tarball
19:15 Coke presumably, you know where you got that file from, neh?
19:16 PerlJam particl1: Do you run a bleadperl that someone else installed?
19:16 chromatic bleadperl has a file called .patch which contains only the revision number of the patchlevel.
19:16 particl1 it's an extract from the repo
19:16 particl1 no metadata
19:16 purl no metadata is, like, recoreded, the "is this a copy/rename" algorithm is run at merge-time
19:16 particl1 no possibliity to update
19:16 particl1 just re-extract
19:16 particl1 it doesn't matter.
19:17 PerlJam particl1: it mattered enough for you to mention it, so it's something worth looking into.
19:17 PerlJam IMHO
19:17 Coke It seems that if we added something to the rsync/tarballs to have the version number they were extracted from, that would address your issue.
19:17 Coke and then the *repo* wouldn't need to deal with any of this.
19:18 particl1 sure
19:18 Infinoid it would solve a lot of problems
19:18 particl1 if "this is parrot, 0.6.0-devel" is sufficient for us to debug, drop revision entirely
19:18 Coke s/solve/avoid/ is even better. =-)
19:18 particl1 *if the concensus is that
19:19 * PerlJam does not concense  :)
19:19 Coke we're doing monthly releases. if someone says 'I have 0.6.0-devel' and we're on 0.6.1, step one is going to be 'get a new copy'
19:19 chromatic +1 to that
19:19 Coke "eyes to the future" or whatever chip said. # chip++
19:20 Coke seen Robrt?
19:20 purl Robrt was last seen on #p5p 1 day and 3 hours ago, saying: I'll go shower.  [Mar 25 09:12:43 2008]
19:20 Coke humanity thanks you, Robrt.
19:21 chromatic I suppose clueful developers who really want to use something other than SVN can create a hidden file on their own that *one* thing can check.
19:21 Coke which reminds me, any bugs that are reported on anything older than 0.5.0 should probably be closed out of RT with a 'please retest this against a current version and reopen this ticket if necessary'
19:21 chromatic ... but I'm not going to tell them that.
19:25 particl1 this is why i stopped worrying and learned to love the bomb.
19:28 chromatic Let's talk conclusions then.
19:28 particl1 1. software sucks.
19:29 chromatic +1
19:29 purl 1
19:29 * Coke thought he was the suck-monger.
19:29 Coke ... that didn't sound quite so bad in my mind.
19:29 particl1 :)
19:30 Coke conclusion: it would be nice to have a plan to deal with bug reports from odd versions of parrot... but this doesn't necessarily involve tracking the svn revision with each build.
19:30 Coke If can avoid dealing with tracking the parrot revision, we can rip out some code and tests.
19:30 kid51 If we no longer need to determine a revision number once we invoke 'make', then lib/Parrot/Revision.pm can be simplified.  Can we live with that?
19:31 chromatic +1
19:31 purl 1
19:31 chromatic purl, you don't get to vote
19:31 purl chromatic: what?
19:31 Coke purl, be nixon.
19:31 purl Coke: huh?
19:31 kid51 particl1:  Can you live with that?
19:31 chromatic YOW
19:31 purl I'm shaving!!  I'M SHAVING!!
19:32 jjuran purl, I don't believe we've been formally introduced.
19:32 purl jjuran: i'm not following you...
19:32 Coke purl, purl?
19:32 purl rumour has it i am going alone. or almost an anagram of Donaudampfschiffahrtskapitaensmuetzenkordel or a perv or an auto-triage bot or a she or so stupid or a smartass or the sixth beatle. or http://www.infobot.org or dumb
19:32 cotto_work status
19:32 purl Since Fri Mar 21 21:28:03 2008, there have been 774 modifications and 550 questions.  I have been awake for 4 days, 15 hours, 4 minutes, 47 seconds this session, and currently reference 692194 factoids. Addressing is in optional mode.
19:33 * Coke AIGHS as allison's blog resets again.
19:33 particl1 kid51: yes.
19:34 kid51 Thanks (sigh of relief).
19:34 kid51 Then that means that the remaining ugly code in Parrot::Revision is SVK-related -- correct?
19:35 Infinoid I don't think we need that ugly code, either
19:35 kid51 ... or that our problems are SVK-related.
19:35 particl1 if we don't care about the revision, then we don't care about svk
19:35 particl1 actually, i'm not sure that follows. hrmm.
19:35 Infinoid as I see it, the only thing we do care about is whether to tack on the -devel suffix, and existence of DEVELOPING is sufficient for that
19:36 kid51 Well, as I understand it, we *do* care about revision for "developers", ie. when you're working in a working copy.
19:36 particl1 maintenance developers must use svn to clean up metadata
19:36 Coke kid51: no we don't.
19:36 Coke because thee developer knows what version they are using.
19:36 Coke regardless of their VCS.
19:36 Tene but *developers* already know what vcs theyr'e using and can get it from there
19:36 Infinoid if you're in a working copy, you are responsible for using the VCS tool of your choice
19:36 particl1 we're dropping revision info entirely from the distro.
19:36 Infinoid parrot doesn't care :)
19:36 Coke .. from the build.
19:37 Coke ah. yes, distro but not repo, right.
19:37 kid51 Okay, so who's going to be in charge of which aspects of this?
19:37 * Coke volunteers, as he loves ripping out code.
19:37 Infinoid if anything remains to be done by this weekend, I'll have some time for this
19:38 Coke I will open a ticket with a patch, allowing for some discussion in case we missed something. (which I hope we did not.)
19:38 kid51 Coke:  Can you open an RT which states what needs to be done and subdivides tasks?
19:38 kid51 Question anticipated and answered.
19:38 Tene Coke: can you open a ticket asking yourself to open a ticket asking you to subdivide tasks?
19:39 Coke tene: fix lolcode.
19:40 Coke :P
19:40 Tene Coke: fix my laptop. :P
19:40 Coke ... what's your geo?
19:40 kid51 At this time do we plan to change any of the Parrot::Distribution, etc., code which uses svn properties to determine what should be in MANIFEST?  (If answer is No, then our job is more focused.  If Yes, someone needs to examine those modules.)
19:41 Tene SF atm, Houston next week
19:41 Coke not yet. we were just talking about versions.
19:41 Coke ... svn properties to determine what should be in manifest? hurm?
19:42 kid51 Yes.   Currently, you need to do svn add and svn propset to get make_manifest_and_skip.pl to recognize a newly added file.
19:42 Coke no, just an svn add.
19:42 Coke SFAIK.
19:42 kid51 Well, we can check on that.
19:42 Coke Let's burn this bridge first.
19:43 barney svn add is enough for gen_manifest_and_skip.pl
19:43 kid51 k
19:44 barney But there are useful SVN properties that should be checked IMHO
19:45 chromatic That's a secondary discussion.
19:45 kid51 Yes, and the t/codingstd/*.t tests do that.
19:45 chromatic (Mostly because I'm trying to figure out what a failure in the SVN properties tell us about Parrot.)
19:45 barney svn:eol-style for example
19:46 Coke chromatic: those tests are not feature driven. That's a completely different type of test. altogether.
19:46 particl1 there are some io files in examples/ iirc that need eol-style=LF
19:46 Coke </airplane>
19:46 * particl1 heads to the hotel to get set up for sixperl &
19:46 Coke the feature test would fail if those eol-styles are not set properly. This is a secondary test. Much like the config tests.
19:48 barney The question is whether a (codingstd,config,distro) test saves more work than it causes
19:49 kid51 If we're not going to be looking at the revision number during or after 'make', then we can probably eliminate tools/build/revision_c.pl -- which in turn would permit revisiting lib/Parrot/Revision/Utils.pm, which in turn would permit looking at lib/Parrot/Revision.pm, which would imply changes in pre- and postconfiguration tests.
19:49 chromatic I agree that those IO tests need specific linefeeds.
19:49 kid51 Does that seem reasonable?  (Though it would not address the SVK-related problems.)
19:50 chromatic kid51, +1
19:51 kid51 Okay, so how about this for a plan:  Coke posts RT.  Infinoid looks at SVK-related problems.  kid51 looks at other Parrot::Revision-related problems, working backwards from revision_c.pl.
19:52 Infinoid thought the plan was to toss all the svk-checking code out the window...
19:52 * Coke thought so too.
19:52 Infinoid if that's what you're asking me to do, I am quite happy to :)
19:52 Coke let me post what I think is the summary of our discussion and we'll go from there.
19:53 kid51 okay, but I'll let you (Infinoid and Coke) do the tossing.
19:53 kid51 ... and take the heat ;-)
19:54 Infinoid what heat?  no svk == no problem :)
19:54 kid51 Infinoid++
19:54 Coke we're not saying you can't use svk to hack on parrot.
19:54 Coke we're just avoiding caring. Everybody wins.
19:57 Infinoid and if someone is using a svn->mercurial gateway and doesn't understand it, it's their fault! :)
20:01 TimToady phone
20:03 particl1 joined #parrot
20:07 Coke ... someone is EATING their phone.
20:09 confound I do that sometimes
20:09 confound not anymore though, I have a treo
20:09 confound too big
20:20 Coke ... you could not hear me?
20:21 chromatic Nope.
20:22 cosimo_ joined #parrot
20:33 ruoso joined #parrot
20:35 Coke -> offline
20:44 cosimo_ left #parrot
20:55 * barney frooze Firefox, by running Javascript HQ9+
20:57 davidfetter oi, ruoso :)
20:58 ruoso davidfetter, hi david...
20:58 ruoso I've been thinking about you this days... :P... having to work with MySQL ;) ;)
20:58 ruoso heh
20:58 davidfetter i can help you fix that problem :)
20:58 ruoso heh
20:59 ruoso it seems that the project will be moved to oracle... (the customer only seems to know this two options)
20:59 davidfetter for a very small fraction of oracle's costs for the first year, i can get it to postgres :)
21:01 ruoso heh... that's one thing I don't like in working for big companies... it's very hard to bend their rules
21:01 ruoso doesn't matter how stupid they are
21:02 * davidfetter specializes in helping big companies with new things :)
21:19 slightlyoff joined #parrot
21:35 particl1 joined #parrot
21:58 buchet joined #parrot
22:03 wknight8111 joined #parrot
22:23 spez joined #parrot
22:48 mire joined #parrot
22:59 ewilhelm joined #parrot
23:01 Limbic_Region joined #parrot
23:12 darbelo Coke: what sort of specifics?
23:17 ewilhelm darbelo: have you read parts of https://svn.perl.org/parrot/trunk/languages/c99/ ?
23:19 darbelo Yes, but it looks like some of the files there are unused. I'm guessing it's part of its recent conversion to PCT.
23:19 chromatic I think that's right.
23:20 ewilhelm chromatic: darbelo is here for SoC
23:20 darbelo Right now I'm trying to find out why the parser chokes on "main()" and "main( void )"
23:20 chromatic Welcome.
23:20 purl Heh, not likely around here you won't be.
23:21 darbelo Thanks.
23:21 ewilhelm purl: bad purl
23:21 purl Bad ewilhelm!
23:23 Coke silly bot.
23:23 purl *giggle*
23:24 darbelo it looks like they fail for different reasons.
23:24 Coke So, as you've found, the c99 grammar isn't quite right. Getting it to parse C99 properly is one step. Getting it to compile C99 is, I think, a lofty dream goal that one person probably isn't going to do in one summer.
23:25 Coke There was talk about using it to replace our simplistic c-parsing codingstd tests, for example.
23:25 chromatic Parsing -- especially with regard to macros -- is probably doable in a summer.
23:25 Coke (e.g. have a set of actions that, when it found a bad construct, emitted a warning)
23:25 chromatic Once we have a C99 parse tree, we can perform actions against that.
23:25 Coke chromatic: I would agree. I would start with parsing (and tests to back it up.) A stretch goal would be to replace some of the codingstd tests, I think.
23:26 chromatic If I had the spare time to make XPath work on ASTs, we could use that.
23:26 Coke ooooh.
23:26 chromatic I know.
23:26 Coke I'm now imaginging using jquery to manipulate asts. =-)
23:26 chromatic I don't know about jquery, but something.
23:26 ewilhelm can it be stated in a timeline which has running code before the halfway point?
23:26 chromatic We could express error patterns and potential optimization patterns in terms of XPath expressions.
23:27 Coke but this is off track for darbelo.
23:28 chromatic In terms of running code, I'm sure we could make milestones of C99 features.
23:28 chromatic Tests could correspond to milestones.
23:28 * ewilhelm nudges darbelo to join in the planning
23:29 darbelo I like the tests == milestones idea.
23:30 Coke excellent. I need to go spend time with family: feel free to ping chromatic while he's around, and particle if he shows up, and feel free to email me.
23:30 Coke coke?
23:30 purl i heard coke was pondering converting tcl to use it, but have some concerns.
23:30 Coke purl, me?
23:30 purl hmmm... Coke is pondering converting tcl to use it, but have some concerns.
23:30 Coke no, coke is will@coleda.com
23:30 purl okay, Coke.
23:30 * Coke pats purl onna head.
23:31 darbelo Idea: make the preprocessor a separate grammar/compiler.
23:31 chromatic I could see dividing C99 support into lists of related features.
23:33 * ewilhelm recalls http://en.wikipedia.org/wiki/Sparse
23:34 ewilhelm maybe a good source of tests?
23:36 darbelo More tests for c99 compilers are listed in http://pcc.ludd.ltu.se/stand​ards_and_regression_testing/
23:40 darbelo some of that could be adapted, and maybe categorized by feature.
23:41 Limbic_Region last two days I have had to make realclean before building - is this expected?
23:41 chromatic Coke invalidated the bytecode once.
23:43 cotto_work joined #parrot
23:44 Limbic_Region hrm, ok
23:44 chromatic That means you have to regenerate all PBC files.
23:44 Limbic_Region yes, I know
23:44 Limbic_Region but that doesn't explain why I had to do it yesterday when I got home from work
23:44 Limbic_Region and then again today
23:45 Limbic_Region *shrug*
23:45 chromatic Good question.
23:45 ratmice joined #parrot
23:45 purl Yeah, it is. I'm stumped.
23:48 Limbic_Region next question - I recently saw something on the list about questioning if parrot built on cygwin out of the box.  For a very long time, I built daily on cygwin to ensure it continued to work.  Is Cygwin one of the tinder boxes?
23:48 Limbic_Region If not, should I be building daily again?
23:49 * ewilhelm gives easy answer: yes! :-D
23:50 * Limbic_Region assumes ewilhelm is answering the first question (tindered) and doesn't go fix his cygwin install
23:50 ratmice is there some example of using nmi with parrot classes?
23:50 chromatic nmi?
23:50 purl somebody said nmi was non-maskable interupt
23:51 chromatic somebody can't spell interrupt; maybe someone from the w3c?
23:51 ewilhelm Limbic_Region: where do the tinder boxes appear?
23:51 ratmice sorry nci
23:52 jonathan ratmice: What are you looking to do?
23:52 Limbic_Region heh, I just checked my cygwin's parrot - 0.6.0-devel
23:53 Limbic_Region ewilhelm - I don't know.  I do remember it being discussed and people offering boxes
23:53 Limbic_Region this should be a fun svn up
23:54 Limbic_Region there must be a corrupt path somewhere
23:54 ratmice jonathan: well i was pondering hooking into the objc runtime if you look at this info -n 'Type encoding' -f gcc it seems fairly easy to build parrot nci strings at runtime from the various type encodings
23:55 chromatic I don't seem to have that info page.
23:55 ratmice hmm may require installation of the objc compiler?
23:56 PerlJam Limbic_Region: I just tried to build out-of-the-box on cygwin a little while ago and it failed because it doesn't find libcrypto (apparently)
23:56 ratmice http://gcc.gnu.org/onlined​ocs/gcc/Type-encoding.html
23:56 PerlJam (out of the svn box that is)
23:56 Limbic_Region PerlJam - well, I figured out what my problem was - PATH conflict
23:57 chromatic PerlJam, that shouldn't be the case; maybe the detection of crypto libraries is wrong.
23:57 Limbic_Region PerlJam - last built Parrot on Cygwin back on November 24th
23:57 Limbic_Region PerlJam - svn up'ing now
23:57 Limbic_Region ewilhelm - google suggests http://tinderbox.perl.org/tinde​rbox/showbuilds.cgi?tree=parrot
23:57 shorten Limbic_Region's url is at http://xrl.us/bia7m
23:59 ewilhelm yeah, I get 503 there though
23:59 * PerlJam tries a cygwin build again.

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

Parrot | source cross referenced