|
Parrot 1.9.0 "Blue-fronted Amazon" released! | parrot.org | Roadmap: icanhaz.com/parrotroadmap | Latest modified TT's: icanhaz.com/parrotbugs Set by moderator on 16 December 2009. |
|||
| particle | partcl eats 4400 lines of pir for breakfast | 00:00 | |
| chromatic | partcl can't print the "H" in "Hello, world!" in fewer than 4400 lines of PIR. | 00:01 | |
| Coke | (setup.pir) I've seen no discussion about this. I find it much more obtuse than just using make. | ||
| cotto_work | I mean to write by hand. | ||
| pmichaud | Coke: (setup.pir) right -- that was my comment above. I haven't seen any real discussion annointing it as the "Parrot standard" | 00:02 | |
| I'm not saying it can never be so... but I'm not sure it's happened yet. | 00:03 | ||
| NotJack | what is the likely problem if I'm running perl tools/dev/mk_language_shell.pl mylangname | 00:04 | |
| and getting perl tools/dev/mk_language_shell.pl mylangname | |||
| uh, i mean Unable to locate parrot_config. at Configure.pl line 45. | 00:05 | ||
| dukeleto | NotJack: parrot_config is not in your PATH | ||
| NotJack: probably you didn't install parrot | 00:06 | ||
| NotJack | I did .... | ||
| dukeleto | NotJack: what does "type parrot_config" say? | ||
| NotJack | perl Configure.pl, make, make test (all OK), make install | ||
| dukeleto | NotJack: which OS? | ||
| NotJack | Cygwin on Windoes 7 x64 | ||
| type parrot_config parrot_config is /usr/local/bin/parrot_config | |||
| dukeleto | NotJack: you are getting an error from Configure.pl when running mk_language_shell ? | 00:07 | |
| NotJack | yep | ||
| dukeleto | NotJack: which version of parrot? | 00:08 | |
| purl | which version of parrot are you using? | ||
| NotJack | This is Parrot version 1.4.0 built for i386-cygwin. | ||
| dukeleto | NotJack: whoa! | ||
| NotJack | ? | 00:09 | |
| just downloaded it, said it's the stable version | |||
| dukeleto | NotJack: you are correct. "stable" in the debian sense of "is really old" :) | ||
| Coke | It sure is; but the next stable release is due out in about 3 weeks. | ||
| NotJack | also, parrot_config --help just prints usage info | ||
| Coke | if you could do 1.9.0, it's definitely shinier. If you're on IRC, you can probably just grab svn-latest. =-) | 00:10 | |
| NotJack | don't have SVN setup yet | ||
| new machine | |||
| purl | well, new machine is here! New machine is here! | ||
| dukeleto | NotJack: we have tarballs | ||
| NotJack | ok, let me grab those | ||
| what do I need to do to get the old version off/ | |||
| make realclean? | |||
| purl | i think make realclean is as strong as it gets | ||
| dukeleto | NotJack: ftp://ftp.parrot.org/pub/parrot/releases/devel/1.9.0/ | ||
| NotJack | purl, shut up | ||
| purl | make me | ||
| NotJack | purl shut up is yes, sir | 00:11 | |
| purl | ...but shut up is <reply> make me... | ||
| NotJack | no, shut up is yes, sir | ||
| purl | okay, NotJack. | ||
| cotto_work | forget new machine | ||
| purl | cotto_work: I forgot new machine | ||
| dukeleto | NotJack: 1.4.0 is about to become unsupported in 3 weeks, so if you can verify that it happens on the latest version, that would be awesome | ||
| cotto_work | forget make realclean | ||
| purl | cotto_work: I forgot make realclean | ||
| Coke | no, shut is <reply>Yes, sir. | 00:12 | |
| purl | okay, Coke. | ||
| Coke | no, shut up is <reply>Yes, sir. | ||
| purl | okay, Coke. | ||
| dukeleto | NotJack: we don't have an uninstall target | ||
| NotJack | so just rm -r parrot-1.4.0 ? | ||
| or what? | |||
| Coke | yup. | ||
| dukeleto | NotJack: the installed version? | ||
| purl | the installed version is .04999_07 | ||
| cotto_work | forget the installed version | 00:13 | |
| purl | cotto_work: I forgot installed version | ||
| cotto_work | also, go away | ||
| dukeleto | NotJack: installing again will overwrite everything in /usr/local/bin | ||
| NotJack | ok good | ||
| dukeleto | NotJack: you can rm -rf /usr/local/bin/libparrot* if you want to be sure to not get wonky loading-the-wrong parrot errors | ||
| NotJack | thanks, will do | 00:14 | |
| installing now | 00:15 | ||
| dukeleto | NotJack: sweet | ||
| NotJack | man, and I already used up my good time-passer on the first make test.... | ||
| cotto_work | anyone know why pbc_dump messes up segment names on large pbc files? | ||
| dukeleto | NotJack: make -j 3 test | 00:16 | |
| NotJack | which is what? | ||
| dukeleto | NotJack: even if you have only 1 proc, the tests are IO bound | ||
| NotJack: runs 3 tests at once | |||
| Coke | dukeleto: no. | ||
| dukeleto | Coke: no? | ||
| Coke | make TEST_JOBS=3 test does that. | ||
| purl | Maybe. | ||
| NotJack | ah, ok, thanks. | ||
| I have 4 proc | |||
| with "hyperthreading" = "thread slowly" | |||
| dukeleto | NotJack: then I would do 5 or 6 jobs then | ||
| Coke | (it's a single test harness. you have to tell the harness to run multiple jobs, not make) | 00:17 | |
| dukeleto | Coke: touche | ||
| particle | TEST_JOBS=6 make -j 5 test | ||
| dukeleto | NotJack: make -j for compiling, TEST_JOBS=X for running tests | ||
| i set TEST_JOBS in my .bashrc, so I forget about that | 00:18 | ||
| cotto_work | or put both in an alias and don't worry about it | ||
| NotJack | I hope to only have to run this once :) | 00:19 | |
| this is running faster than last time | 00:21 | ||
| but man, a lot more tests are notok | 00:27 | ||
| dukeleto | NotJack: something is up on your box | 00:33 | |
| NotJack: are they TODOed or FAILing? | |||
| NotJack | No worries, they're TODO | ||
| there're just more of them than in 1.4 | |||
| dukeleto | NotJack: we have a lot more tests than we did in 1.4 :) | ||
| NotJack | woot, now perl tools/dev/mk_language_shell.pl mylangname works | 00:34 | |
| and technically I have my first parrot language :) | 00:35 | ||
| dukeleto | NotJack: congrats! | 00:36 | |
| NotJack | thanks. now I guess it's reading time. my first goal will be just to get the lexer working | ||
| dukeleto | NotJack: welcome to the Parrot Ecosystem. Watch Your Step. | ||
| japhb | bak | ||
| NotJack | what's a good primer? | 00:37 | |
| should I just work from the other examples? e.g. APL | |||
| Coke | APL is old. | 00:38 | |
| japhb | Coke, pmichaud: regarding obtuseness of setup.pir: I believe that is primarily because it builds up HLL-style data structures in pure PIR. It will be *much* simpler in NQP as setup.nqp, but that only became possible a day or two ago, so we haven't done the conversions yet. | ||
| darbelo | APL is written with older tools. You should try a language written in nqp-rx | ||
| Coke | partcl-nqp is mine, written in nqp-rx | ||
| japhb | Like, say, NQP-rx itself. ;-) | ||
| Coke | also rakudo on the ng branch. | ||
| dukeleto | NotJack: partcl-nqp is probably the best example for you | 00:39 | |
| Coke | partcl is probably easier to get a handle on. | ||
| darbelo | or Tene's steme. Which is meant to be an example. | ||
| Coke | japhb: I plan on checking it again then. (building up datastructures) this is why I wrote the json stuff.=-) | 00:40 | |
| japhb | Coke: I've been using the JSON a lot to work around previous NQP-rx lack of declarative data structures. The pendantic nature of JSON is really annoying (at least half of the metadata files I get sent don't work, because they have a comma before a closing curly brace, or an unquoted hash key). | 00:41 | |
|
00:41
bacek joined
|
|||
| japhb | And you can't store anything more interesting than strings, numbers, bools, undef, array, and hash in JSON. | 00:42 | |
| Which means fixup passes. Bleah. | |||
| NotJack | ok, so I should work from the example of partcl | 00:46 | |
| anything else worth reading before I dive in? | |||
| japhb | NotJack, make sure you look at partcl-nqp; the original partcl is written for older tools. | 00:47 | |
| Tene | NotJack: you can find steme at github.com/tene/steme/ | ||
| Coke | partcl-nqp? | ||
| purl | partcl-nqp is probably github.com/partcl/partcl-nqp | ||
| Tene | steme? | ||
| purl | steme is, like, very basic. Just a s-exp parser and a few builtins | ||
| Tene | no, steme is Tene's example scheme compiler for Parrot at github.com/tene/steme/ | 00:48 | |
| purl | okay, Tene. | ||
|
00:53
theory joined
00:55
kid51 joined
|
|||
| dalek | rtcl-nqp: 10145f7 | coke++ | (9 files): Minor doc updates; use [set]; carp on unused vars (except incr), fix build deps, stubs stubs stubs |
00:59 | |
|
01:05
dduncan joined
01:06
bacek joined
|
|||
| kid51 reads backscroll | 01:10 | ||
|
01:12
payload joined
|
|||
| kid51 | Re TEST_JOBS: What are the system requirements for being able to make use of anything other than the default (1)? | 01:13 | |
| e.g., do you have to have a multiprocessor machine (by some definition)? | |||
| japhb | OK, after I understood the is(undef, 0) problem, I was able to find the problem in my $!-setting code. The correct code is as follows: | ||
| my $bang := pir::find_dynamic_lex('$!'); | |||
| pir::store_dynamic_lex__vsP('$!', $pipe.exit_status) | |||
| unless pir::isnull($bang); | |||
| I suppose I could golf that a bit, but at least it works now. :-) | 01:14 | ||
| Coke | kid51: no, but it helps. | 01:15 | |
| kid51 | On my average i386 box (or, in this case, VM) is there any advantage to running with that? | 01:16 | |
| Coke | if you put it too high, you'll choke the machine. you can probably get away with numcores+1, even if num is only one. | ||
| dalek | rtcl-nqp: af458d7 | coke++ | build/Makefile.in: fix deps; shuffle tests. |
||
| kid51 | I'll try it with 2. | ||
| Well, it doesn't seem to be significantly faster. | 01:22 | ||
|
01:28
bacek joined
01:31
JimmyZ joined
|
|||
| kid51 bored, goes trawling through tickets not touched in a long time | 01:36 | ||
| The patches last touched the greatest time in the past are almost all PIRC-related. | 01:38 | ||
| dalek | rrot-plumage: f89bc1b | japhb++ | (6 files): Convert run(), do_run(), and qx() from PIR to NQP; add store_dynlex_safely() NQP utility function; fix tests to match other changes |
01:39 | |
| JimmyZ | Coverity? | 01:56 | |
| purl | hmmm... Coverity is a commercial tool for Automated Error Prevention and Source Code analysis, See, www.coverity.com/main.html or it has been used to measure the quality of the LAMP stack and other major source projects | ||
| JimmyZ | Parrot Coverity? | 01:57 | |
| dalek | rrot: r43138 | jkeenan++ | trunk/src/io/socket_unix.c: Correct typos and awkward grammar in documentation. |
02:10 | |
| rrot: r43139 | jkeenan++ | trunk/src/io/socket_win32.c: Correct typos and awkward grammar in documentation. |
|||
|
02:31
patspam joined
02:36
nopaste joined
02:41
TonyC joined
02:45
TonyC joined
02:47
aer0 joined
02:48
aer0 left
|
|||
| japhb | Is there a by-string interface for getting info from the interpreter info objects, which are normally indexed by number or PASM macro? For example, is there an equivalent to '$P0 = getinterp; $P1 = $P0[.IGLOBALS_CONFIG_HASH]' that indexes by string instead of int? What about for interpinfo and sysinfo? | 02:49 | |
|
02:51
nopaste joined
|
|||
| cotto | japhb, why do you want such an interface? | 02:52 | |
| japhb | Two reasons: | 02:53 | |
| 1. I want to be able to access that information from NQP, where I don't have the macros available, and don't want to hardwire magic numbers | |||
| 2. Because the current interface isn't introspectable at all. | 02:54 | ||
|
02:54
patspam joined
|
|||
| cotto | What do you mean by introspectable? | 02:55 | |
| that you can't ask the interp what's available? | |||
| japhb | cotto, what I'd really like is a hash of all this information, that I could either pull info out of, or iterate over the kv pairs if I want | ||
| Yeah, for example: | |||
| Let's say that on MSWin32, sysinfo was able to provide extra information. How would I find it? | |||
| What if several platforms did this? | 02:56 | ||
| cotto | istr that great care needs to be taken with data from interpinfo, but I can see the value of a smarter interface. | ||
| (i.e. segfault-flavored things happen if the data are modified when they shouldn't be) | 02:57 | ||
| japhb | certainly interpinfo__Pi is a little touchy, but __ii and __si should be safe | ||
| cotto | japhb, I need to go afk but file a tt assigned to me and I'll take a look at it. | ||
| mentioning the specific use case(s) you have in mind wouldn't hurt either | 02:58 | ||
| afk | |||
| & | |||
| dalek | rrot: r43140 | jkeenan++ | trunk/t/codingstd/c_function_docs.t: Eliminate a contraction that was screwing up syntax highlighting. |
||
|
03:00
bacek joined
03:13
theory joined
|
|||
| japhb | cotto, see #1378 | 03:16 | |
|
03:17
seano joined
|
|||
| dukeleto | 'ello | 03:27 | |
| dalek | TT #1378 created by japhb++: Hash or by-string interface to interp object / interpinfo / sysinfo | ||
| japhb | o/ dukeleto | 03:28 | |
| dukeleto is at pdxhackathon | 03:40 | ||
| japhb waves to the hackathoners | 03:46 | ||
| Next time I visit my Portland relatives, I'll have to try to get to one of those. | 03:47 | ||
| dukeleto, how often do they happen? | 03:49 | ||
| dukeleto | japhb: every thursday | 04:36 | |
| purl | every thursday is 'Metallica Day' in _Masque's CD player. | ||
| dukeleto | japhb: please do! | ||
| japhb | nice | ||
| dukeleto | japhb: yes, sometimes chromatic shows up and we hack on stuff | 04:37 | |
| japhb | How big is the usual crowd? | ||
| dukeleto | japhb: 5-15 or so | 04:38 | |
| japhb | Not bad for a weekly event! | ||
| dukeleto | 7 here right now | ||
| japhb | That's around the size range we get for our monthly Perl Mongers | ||
| dukeleto | japhb: yeah, it started as a perl hackathon but we just turned it into a social event. i get code written occasionally :) | 04:40 | |
| japhb | heh | ||
| dukeleto | japhb: i am attempting to get setup.pir working correctly with Tapir right now | ||
| japhb | excellent | ||
| I'm phasing out Glue.pir chunk by chunk | |||
| dukeleto | msg fperrad I am still getting the same error when building Tapir with your most recent patch: gist.github.com/259292 | 04:41 | |
| purl | Message for fperrad stored. | ||
| dukeleto | japhb: i see that. qx() in PIR lives on in the Tapir repo now :) | ||
| japhb: i hacked it to return an exit code, too :) | |||
| japhb | dukeleto, that has *long* existed in the Plumage version. | 04:42 | |
| hold on, I'll commit and push | |||
| dukeleto | msg fperrad i686-apple-darwin9-g++-4.0.1: /Users/leto/svn/parrot/src/install_config.o: No such file or directory is the important line. shouldn't be parrot_config.o ? | 04:45 | |
| purl | Message for fperrad stored. | ||
| japhb | Note that there currently now a PIR file generated from Util.nqp checked in just for use by Configure.nqp, but when Configure.nqp is replaced with setup.nqp, that will probably go away again | 04:46 | |
| pushed | |||
| dukeleto, it's amazing how much cleaner a lot of this gets when you can use NQP syntax, even for pretty low-level stuff. | 04:48 | ||
| dalek | rrot-plumage: 442ac02 | japhb++ | (7 files): Move "setting globals" from PIR to NQP; rename old $*OS to correct $*OSNAME; add $*OS for Parrot magic OS object; check in a copy of generated Util.pir for use by Configure.nqp; fix .gitignore and Makefile.in to match |
04:50 | |
| rrot-plumage: abaa1f1 | japhb++ | src/ (6 files): Drop PIR implementations of chdir(), cwd(), and unlink() in favor of just using OS directly |
|||
| dukeleto | msg fperrad also see gist.github.com/259297 <-- the fakecutable is messed up with your most recent patch if I use my Makefile | 04:52 | |
| purl | Message for fperrad stored. | ||
| dalek | pir: 26ad7a3 | dukeleto++ | Makefile: Fix clean target |
04:57 | |
| pir: 05acfec | dukeleto++ | (2 files): Refactor of the metadata file and setup.pir from fperrad++ |
|||
| rrot-plumage: 43e4d4f | japhb++ | src/lib/ (2 files): Drop PIR readdir() in favor of OS object |
05:00 | ||
| dukeleto | how do I time things from PIR? | 05:10 | |
| PerlJam | There's a time op similar to perl's time function. | 05:11 | |
| or do you mean in the sense of run something for no more than some time? | |||
| japhb | The time op is full precision, thankfully. | 05:17 | |
| dukeleto | PerlJam: i mean, figuring out how long my program runs, from PIR | 05:26 | |
| dukeleto reads about the time op | 05:27 | ||
| is it possible to profile a fakecutable ? | 05:49 | ||
|
05:54
theory joined
|
|||
| dukeleto | the time opcodes give my walltime, is there a way to get user time? | 06:03 | |
|
06:08
estrabd joined
|
|||
| cotto | dukeleto, nafaik | 06:10 | |
| dalek | rrot-plumage: ff31388 | japhb++ | src/lib/ (3 files): Drop PIR mkdir() in favor of OS object |
06:11 | |
| rrot-plumage: edf68bf | japhb++ | src/lib/ (2 files): Drop PIR stat() in favor of OS object; move PIR path_exists(), is_dir(), and fscat() to NQP; minor cleanups |
|||
| rrot-plumage: 42ec926 | japhb++ | src/lib/Util.nqp: Reorder subs to match POD; minor POD fix |
|||
| rrot-plumage: 1413c76 | japhb++ | (4 files): [LIB,TESTS] Work around lexicals v. INIT problem in NQP-rx; move path_exists() tests and add is_dir() tests |
|||
| cotto | dukeleto, is there a stronger reason than convenience that you'd like to profile a fakecutable? | 06:17 | |
| annotations are statically scoped, aren't they? | 07:01 | ||
| dukeleto | cotto: i guess just convenience. Also, there must be some performance difference from profiling a fakecutable vs parrot foo.pir, right? | 07:02 | |
| cotto: is there a newbie guide to profiling in parrot? what do I need to know? | |||
| cotto | dukeleto, there's docs/dev/profiling.pod. It's a little sparse but let me know what more you'd like to see there and I'll be glad to add more info. | 07:05 | |
| Other than not having to compile pir to a packfile, I don't think there'd be much difference in performance between a fakecutable and handing the pbc to parrot. | 07:06 | ||
| I can see how profiling a fakecutable could be useful though, since that's our current recommended way of distributing compiled HLL code. | |||
| dukeleto | cotto: that document does not seem to talk about processing the output | 07:08 | |
| cotto | That's covered in tools/dev/pprof2cg.pl, but it wouldn't be a bad idea to add a pointer to profiling.pod. | 07:10 | |
| dukeleto | cotto: is there any equivalent of Perl 5's times() builtin in PIR? | 07:11 | |
| cotto: i want cuser, not wallclock time | |||
| cotto | There's not one now. It wouldn't be cross-platform, but one could be added. | 07:13 | |
| dukeleto | cotto: i'll take anything i can get at this point | ||
| cotto: should I create a TT for that? | |||
| cotto | Yes. I'd add one but I'm just about off to bed. | 07:15 | |
| dukeleto | cotto: i got it | 07:20 | |
| cotto | thanks | 07:22 | |
| cotto is getting a lot of tickets | |||
| dalek | pir: 0da1fcc | dukeleto++ | t/harness.pir: Add the wallclock runtime of the test suite to the end of the run have created TT#1379 (trac.parrot.org/parrot/ticket/1379) to track this. |
07:26 | |
| TT #1379 created by dukeleto++: Port Perl 5 built-in times() to PIR | 07:33 | ||
| rrot: r43141 | tene++ | trunk (12 files): Fix Getopt::Obj without breaking existing uses. |
07:35 | ||
|
07:38
bacek joined
|
|||
| cotto | hio bacek | 07:45 | |
| bacek | cotto, aloha | ||
|
07:47
iblechbot joined
|
|||
| cotto | Are you saying hello or goodbye? I'm so confused. | 07:50 | |
| ;) | 07:51 | ||
| bacek | cotto, it's "hello" for now | 07:55 | |
| but it's FRIDAY!!! | |||
| purl | better start rolling | ||
| bacek | :) | ||
| purl++ | |||
|
07:56
chromatic joined
|
|||
| cotto | Yup and I get to see Avatar in 3D in the afternoon in 16 short hours. | 07:56 | |
| chromatic | pfft | 07:57 | |
| bacek | cotto, I'm going to see it tomorrow with my kids. | ||
| cotto | chromatic, TT #1379 needs input from someone with design sense. | ||
| chromatic | I'd read the P5 source code to see what and how it does. | 07:58 | |
| cotto | sorry, 1378 | ||
| It'll be fun to see what kind of a movie $300 million buys. | 07:59 | ||
| chromatic | Did you see Titanic? | 08:00 | |
| It's Titanic for furries. | |||
| cotto | Great. Now I'm going to have really weird dreams. | 08:01 | |
| chromatic | I'd like to see a strawman of the TT #1378 interface before anyone works on it. | ||
| New tests would be very nice. | |||
| cotto | night | 08:02 | |
| (hopefully one without furries) | |||
|
08:20
joeri joined
08:25
JimmyZ joined
08:35
fperrad joined
08:39
fperrad joined
08:51
silug joined
08:52
fperrad joined
|
|||
| dalek | rrot-plumage: dec2748 | japhb++ | src/lib/ (3 files): [LIB] Move print(),say(),slurp(),spew(),append() from PIR to NQP |
08:56 | |
| japhb | OK, I think that's it for me for tonight. | 09:03 | |
| dukeleto | wow, japhb is on a roll | ||
| japhb++ # rock on | |||
| japhb | As of 9ab695b , the only PIR left to convert to NQP is the regex stuff. If pmichaud++ has some cycles tomorrow to mentor me, I might be able to fix that up too. | 09:04 | |
| dukeleto, yup, and another push not yet shown up in dalek. ;-) | |||
| dukeleto | japhb: so plumage will be pure-NQP-rx? | 09:05 | |
| japhb | dukeleto, yes indeed. | ||
| dukeleto | japhb: is that the goal? | ||
| japhb: nice | |||
| japhb: i may put Tapir in Plumage soon | 09:06 | ||
| japhb | cool beans | ||
| dukeleto | japhb: it is getting very close to being up to my standards for others to use :) | ||
| japhb | heh | ||
| dalek | rrot-plumage: 9ab695b | japhb++ | src/lib/ (3 files): [LIB] Move eval() from PIR to NQP; stop including no longer needed PASM macro files into Glue.pir |
09:07 | |
| dukeleto | japhb: i would like to have out-of-order test detection and bailout detection before inflicting it upon the world | ||
| japhb | "Release early, release often." If I'd required Plumage to be up to my standards before letting others use it, it still wouldn't have any users. :-) | ||
| dukeleto | japhb: you are right. you might wake up and have a new test harness :) | ||
| japhb | Oh goodie. | 09:08 | |
| dukeleto | japhb: i should time it to see how much faster Tapir will make Plumage's test suite | ||
| dukeleto does that right now | |||
| japhb | :-) | ||
| Well, Plumage's test suite is about 1-2 orders of magnitude too small, so I doubt it even has a chance to make a huge difference. | |||
| Anyway, my alarm goes off in less than 5.5 hours, so I'm off to bed now. | 09:10 | ||
| dukeleto | japhb: yeah | ||
| japhb | Have a good night! | ||
| dukeleto | japhb: sleep() well! | ||
| japhb | thx, you too | ||
| dukeleto | what is the easiest way to shuffle a ResizablePMCArray? | 09:23 | |
| from PIR | 09:24 | ||
|
09:33
JimmyZ joined
|
|||
| dukeleto | msg pmichaud would it be reasonable to ask for -I as a commandline argument for nqp-rx ? | 09:50 | |
| purl | Message for pmichaud stored. | ||
| dalek | pir: 113ea77 | dukeleto++ | t/harness.pir: Use an FPA instead of a RPA for sprintf |
10:07 | |
| pir: 481a1ef | dukeleto++ | TODO: Update TODO |
|||
| pir: a962d1e | dukeleto++ | t/harness.pir: Add -v/--verbose option |
10:08 | ||
| pir: edbc3b1 | dukeleto++ | t/harness.pir: Return a non-successful exit code if failed files are detected |
|||
|
10:17
payload joined
10:19
fperrad joined
10:24
gaz joined
10:43
iblechbot_ joined
11:14
payload joined
11:19
lucian joined
11:20
pdcawley joined
12:37
lucian joined
12:51
JimmyZ joined
|
|||
| JimmyZ | good evening, #parrot | 13:01 | |
|
13:16
JimmyZ_ joined
13:26
cosimo joined
|
|||
| fperrad | time | 13:37 | |
|
13:49
iblechbot joined
13:51
zak_ joined
|
|||
| Infinoid | happy Friday | 13:56 | |
| JimmyZ | happy Friday && good evening. | 13:58 | |
|
13:59
whiteknight joined
|
|||
| JimmyZ | Infinoid: long time no see. how are you | 13:59 | |
| whiteknight | good morning #parrot | 14:09 | |
| JimmyZ | good morning, whiteknight. hey, I found a scanner. | 14:14 | |
| whiteknight | really? awesome | 14:15 | |
| JimmyZ | but it's not very clearly | ||
| hmm, clear | |||
|
14:20
patspam joined
|
|||
| Coke | (cuser time) ... what's wrong with the OS 'time' ? | 14:27 | |
|
14:31
payload joined
|
|||
| dalek | TT #538 closed by pmichaud++: NQP list initializers | 14:40 | |
| TT #539 closed by pmichaud++: NQP does not autovivify "our @" but does for "my @" | |||
| pmichaud | This just in on #perl6: | 14:56 | |
| 14:55 <anonperler> Hi. Just wanted to say thanks for making Rakudo self contained and easy to set up. Just built it using the instructions on day 1 of the advent calendar, and even after `make install` the whole thing is still nicely contained in its own `rakudo` directory. | |||
| setup.pir needs to be equally as simple. | 14:57 | ||
| (or needs to be able to be equally as simple) | |||
|
15:11
bubaflub joined
15:32
mj41 joined
15:35
Psyche^ joined,
chromatic joined
|
|||
| Coke | Ugh, today is perl's birthday? | 15:48 | |
| chromatic | 22 | ||
| Coke | TimToady++ # too cheap to send a card. | 15:49 | |
| PerlJam | too bad we couldn't have timed Rakudo* to correspond with Perl's birthday :) | 16:02 | |
| whiteknight | dukeleto: ping | 16:06 | |
| japhb | pmichaud, ack | 16:15 | |
| pmichaud, I'll note that the next line: | 16:16 | ||
| " Makes upgrading later on very easy (that is, `rm -fr rakudo` and then just download and build again)3." | |||
| Makes it clear he likes it because his upgrading doesn't suck. | 16:17 | ||
| He's just been trained that the only way to do an upgrade that doesn't suck is to nuke it from orbit and start on a new planet. | |||
| ;-) | |||
| pmichaud | I'm not sure you can safely conclude the latter. | ||
| just because I know that nuking something from orbit and starting a new planet works doesn't mean I've been trained that way, or that it's the only way I know how to do it. | 16:18 | ||
| it could just mean that it's easiest for my particular requirements. | |||
| my point is simply that people want it to be easy to download, install, and upgrade; setup.pir needs to be at least as easy as what Rakudo currently provides, or if it's not, to have clear reasons why it's not | 16:20 | ||
| japhb | nodnod | ||
| I was at least half teasing, FWIW | |||
| pmichaud looks for smileys, doesn't see them. :) | 16:21 | ||
| oh, wait, there's one! | |||
| japhb | Winky no less. ;-) | ||
| pmichaud | anyway, I'm generally not one to let non-sequiters pass unresponded | ||
| japhb | heh | ||
| PerlJam | www.dailyhaha.com/_pics/new_mac.htm | 16:22 | |
| Let's not s/mac/rakudo/ there :) | |||
| moritz | lol | ||
| pmichaud | the major difference between pc and mac there is that the pc shoots itself first, forcing you to upgrade :) | 16:23 | |
|
16:23
theory joined
|
|||
| japhb | nice | 16:23 | |
| pmichaud | afk, lunch-ish | 16:24 | |
|
16:26
brianwisti joined
|
|||
| dalek | rrot: r43142 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] add step sdist_bztar |
16:33 | |
| Coke | sdist_bztar? | 16:38 | |
| cotto_work | kinda catchy | 16:41 | |
|
16:41
Tene joined
|
|||
| whiteknight | git always makes me type "git pull origin master" for my one repo. How do I configure it to do that automatically? | 16:57 | |
| I would like to just type "git pull" like I do for other repos | |||
| moritz | [branch "master"] | ||
| remote = origin | |||
| merge = refs/heads/master | |||
| whiteknight: put that into your .git/config | 16:58 | ||
| whiteknight | ah, that works. Thanks moritz++ | ||
| whiteknight updates context_unify3 to start debugging | 17:00 | ||
|
17:04
lucian joined
17:08
bacek joined
17:21
Zak joined
|
|||
| brianwisti | Is there a preferred method for creating a new Parrot/PIR project, and are there any tools like Module::Starter to automate it? | 17:26 | |
| moritz | yes, we've discussed that yesterday... I'll look it up | 17:28 | |
| tools/dev/create_language.pl | |||
| brianwisti | thanks muchly | ||
| cotto_work | There's also mk_langauge_shell.pl, but I'm not entirely clear on the differences. | 17:36 | |
|
17:40
Zak joined
17:41
Tene joined
|
|||
| dalek | TT #1380 created by ligne++: segfault in Parrot_Coroutine_invoke when running t/pmc/coroutine_9.pir | 17:55 | |
| dukeleto | 'ello | 17:58 | |
| cotto_work | smolder? | 18:02 | |
| purl | smolder is sourceforge.net/projects/smolder or web-based smoke test aggregator used by developers and testers to upload (automated or manually) and view smoke/regression tests using the Test Anything Protocol (TAP). or smolder.plusthree.com/app/public_pr..._reports/8 | ||
|
18:02
darbelo joined
|
|||
| cotto_work | hi darbelo | 18:07 | |
| dukeleto | brianwisti: yes | 18:09 | |
| darbelo | hi | ||
| dukeleto | brianwisti: the difference between mk_language_shell.pl and create_language.pl is that mk_language_shell.pl uses a Parrot-based configure/build | 18:10 | |
| brianwisti: i would use mk_language_shell.pl | |||
| brianwisti: but there is no "official", just personal preference. | |||
| brianwisti | dukeleto: I'm not sure if either is quite right for what I was thinking of, but I will definitely keep them in mind since Parrot is more for language building than trivial projects. | 18:11 | |
| Seems that way, anyhow. | |||
| dukeleto | brianwisti: what did you have in mind? | 18:15 | |
| brianwisti: do you want to start a new language, or a new parrot-based project? | |||
| brianwisti | dukeleto: new parrot-based project. This is for the next babysteps. | 18:24 | |
| dukeleto | brianwisti: hmm. i have been meaning to write a starter-script like that. we don't really have one now | 18:26 | |
| brianwisti: the project is PIR-based, NQP-based or both? | |||
| brianwisti | This specific project will be PIR, but I'd leave room for both. | ||
| dukeleto | brianwisti: yes, they are not exclusive, but usually a project is mostly one or the other | 18:29 | |
| brianwisti: so basically, you want a skeleton foo.pir with a main method, a test harness and a setup.pir (which can be used to build/test/install/etc) | 18:30 | ||
| brianwisti: anything else? | |||
| purl | anything else is going to be even worse. | ||
| brianwisti | dukeleto: Yep, that's what I'm thinking of for the babystep. A real project skeleton would probably include README & whatnot. | ||
| dukeleto | brianwisti: do you want to create a TT and assign it to me? "parrot-based project skeleton creation script" or something | 18:32 | |
| brianwisti | dukeleto: will do | ||
| Coke | pmichaud: I am still seeing random failures in 'make test' on partcl-nqp; without rebuilding, every so often one of the tests will fail. | 18:33 | |
| dukeleto | Coke: sounds scary | 18:34 | |
| Coke | dukeleto: I am assuming it's a LTM /hash randomization issue. | 18:35 | |
| dukeleto | Coke: interesting | 18:36 | |
| pmichaud | Coke: it's possible, yes. | 18:38 | |
| is it always a different test, though? | |||
| if so, that sounds less like a ltm/hash randomization issue | |||
| dalek | TT #1380 closed by cotto++: segfault in Parrot_Coroutine_invoke when running t/pmc/coroutine_9.pir | 18:45 | |
|
18:50
payload joined
|
|||
| Coke | pmichaud: no, it's the same test. | 18:58 | |
| just only fails about 1:3 times. | |||
| t/cmd_incr.t - it's the octal number test. | 18:59 | ||
| # got : 'expected integer but got "000012345"' | |||
| # expected : '5374' | |||
| This one is less often: | 19:00 | ||
| # got : 'STRING: 18969 microseconds per iteration' | |||
| # expected : 'REGEXP: [0-9]+ microseconds per iteration' | |||
| cotto_work | Coke, would it be feasible to modify Parrot | ||
| 's hash seed init code to check if the error became repeatable? | |||
| Coke | is there a flag to set? sure. | ||
| cotto_work | (my keyboard)-- | ||
| src/string/api.c line 296 | 19:01 | ||
| set it to some constant and see what happens | |||
| dalek | TT #1381 created by brianwisti++: Parrot-based project skeleton creation script | ||
| Coke | yes, if i set that to 1, it becomes repeatable. | 19:02 | |
| (just the incr test, not the timing test' | |||
| cotto_work | now you know | ||
| purl | And knowing is half the battle. | ||
| Coke | cotto_work: I already "knew". =-) | 19:03 | |
| cotto_work | well, now you know | ||
| purl | And knowing is half the battle. | ||
| Coke | purl, other half? | 19:04 | |
| purl | other half is thursday. | ||
| Coke | ... purl, you're odd. | ||
| cotto_work | (and can easily test the fix) | ||
| dukeleto | botsmack | 19:09 | |
| purl | please! another hit! just one more.... *sigh* | ||
| cotto_work | botsmack with a botsnack | 19:11 | |
| purl | thanks cotto_work :) | ||
| pmichaud | having it be repeatable is a huge step, though | ||
| because now we can narrow it down to a specific case | |||
| cotto_work | pmichaud, would it be a bad idea to add a --hash-seed option to parrot that manually sets that value to make these kinds of failures easier to narrow down? | 19:12 | |
| pmichaud | cotto_work: that could be very helpful | ||
| dalek | rrot: r43143 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] fix spec rpm, and add some rpmbuild commands |
19:16 | |
| Coke | wtf. search github for partcl-nqp, you find the ref to it in fperrad's repo, but not the /project itself/ | ||
| dukeleto | hmm | 19:17 | |
| Coke | (searching for "partcl" has better results.) | ||
| dalek | tracwiki: v11 | cotto++ | CottoTasklist | 19:19 | |
| tracwiki: trac.parrot.org/parrot/wiki/CottoTa...ction=diff | |||
| whiteknight | hmmm, context_unify3 failure with nqp that pmichaud++ pointed out is very strange | 19:29 | |
| Coke tries to drum up support with some folks in the NE to go to yapc this year. | 19:30 | ||
| (ROAD TRIP!) | |||
| dukeleto | Coke: yapc is where this year? | 19:31 | |
| cotto_work | Ohio | 19:32 | |
| yapc2010.com/ | |||
| Does anyone know if we're doing another Parrot workshop? | 19:33 | ||
| Coke | I don't think anyone has gotten that far yet. | 19:34 | |
| particle | the conference planners haven't contacted parrot | ||
| and i don't know if we have contacted them | |||
| cotto_work | is the date known? | ||
| pmichaud | based on some of the discussion in the roadmap planning meeting earlier this week, I've been wondering if we want to do a mini-workshop in early 2010 somewhere | 19:35 | |
|
19:36
japhb joined
|
|||
| dalek | nxed: r274 | julian.notfound++ | trunk/ (2 files): member assignment in stage 1 |
19:36 | |
| dukeleto | pmichaud: sounds good. where? | 19:40 | |
| purl | sounds good. is there a good way for me to find out when branches are merged, other than read every svn commit? | ||
| Coke | no, sounds good is <reply> | ||
| whiteknight | I would love to go to YAPC again if there was a decent showing of parroteers | 19:47 | |
| dalek | rrot: r43144 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] handles dependencies for manifest & sdist |
19:49 | |
| Coke | once the dates are locked down, we'll see. | 19:52 | |
| pmichaud | dukeleto: "where" was sounding like somewhere on the east coast | 19:53 | |
| e.g., eastern pennsylvania or something like that | |||
| cotto_work was hoping for the left coast, but I'm selfish like that. | |||
| pmichaud | conversation seemed to be irclog.perlgeek.de/parrotsketch/200...#i_1831621 | 19:55 | |
| but I'd be happy to see a west-coast workshop as well :) | 19:56 | ||
| Coke | pmichaud: I would definitely schlep to eastern PA. | ||
| dalek | nxed: r275 | julian.notfound++ | trunk/winxedst1.winxed: operator string * in stage 1 |
||
| pmichaud | Coke: yeah, I'm guessing we'd just need to pick a venue and date | ||
| it looks like there will likely be a rakudo/perl 6 workshop in early march in copenhagen | |||
| I'd probably be able to make it | 19:58 | ||
| (to eastern PA) | |||
| (to anywhere in u.s., actually) | |||
| whiteknight | pmichaud: I think I have a fix for the build nqp-rx build problems on context_unify3 | 20:00 | |
| dalek | nxed: r276 | julian.notfound++ | trunk/winxedst1.winxed: fix return without values in stage 1 |
||
| pmichaud | whiteknight: is it a change to context_unify3 or to nqp-rx ? | ||
| whiteknight | pmichaud: nqp-rx | ||
| pmichaud | hmmm | ||
| whiteknight | small change, but a change nonetheless | ||
| pmichaud | that sounds like context_unify3 would need a deprecation cycle, then | ||
| whiteknight | the change is with the Context PMC's API, which I don't believe has been part of a stable release yet | ||
| pmichaud | can you nopaste the change? | ||
| (the diff is fine) | 20:02 | ||
| whiteknight | okay, I have to make a diff then | ||
| src/stage0/Regex-s0.pir:1340. "$P0 = context['current_sub']" -> "$P0 = getattribute context, 'current_sub'" | 20:03 | ||
| (I can still make a diff, but it was faster to just type it out) | |||
| pmichaud | does the latter form work now? | ||
| (in parrot trunk?) | |||
| whiteknight | ...no | ||
| pmichaud | ...I really wish we had some consistency in parrot about when we use the keyed interface versus the attribute interface (sigh) | 20:04 | |
| whiteknight | I definitely agree with you there. | ||
| pmichaud | anyway, I agree that change doesn't require a deprecation cycle. | 20:05 | |
| it's a bit of a pain to get into the nqp-rx sources, though. | |||
| whiteknight | yeah, did it on the back of a napkin: Context PMC introduced in begining of september, which would have been parrot 1.5 | 20:06 | |
| so is that a supported release? | |||
| pmichaud | it would be nice if there's a stage where current contexts supported the attribute interface, or new contexts support the keyed interface | ||
| cotto_work | 1.4 was the most recent supported release iirc | ||
| whiteknight | cotto_work: yeah, that's my recollection too | ||
| pmichaud | september was 1.6 | ||
| july was the last supported release | 20:07 | ||
| cotto_work | confirmed | ||
| whiteknight | september 3rd was still 1.5. 1.6 was out on the 15th | ||
| either way | |||
| pmichaud | whiteknight: which means it first appeared in the 1.6 release :) | ||
| as soon as a release is made, trunk is on the next version :-) | 20:08 | ||
| whiteknight | ah yes. My appologies | ||
| I'm getting tags mixed up with eras | |||
| pmichaud | so, currently Parrot trunk is roughly the 2.0 release, because anything we do today doesn't appear in the 1.9 release | ||
| whiteknight | right, right, right. Don't mind me | 20:09 | |
| It didn't help me that the backtrace showed the error on line 1321, but the error was actually on 1340 | 20:17 | ||
| IMCC-- | |||
| pmichaud | yeah, 1.7.0 claimed to improve line number tracking in IMCC, but in my experience line number tracking is now *way* off | 20:18 | |
| Coke | i think it fixed some cases. | ||
| whiteknight | s/some cases/cases that nobody uses/ | ||
| Coke | it's a crap shoot; best we can do is add tests showing bad numbers when we find them. | ||
| pmichaud | perhaps so, but I'm finding it made a lot of previously off-by-one errors into off-by-a-lot | ||
| Coke | Probably energy better spent switching to pirc. | 20:19 | |
| pmichaud: any suggestions on parsing quoted words as list elements in partcl-nqp? | 20:20 | ||
| pmichaud | I'm not even sure what that means exactly :) | ||
| whiteknight | pmichaud: I just noticed, a similar fix needs to be made on line 1346 too. "context = getattribute context, 'caller_ctx'" | 20:21 | |
| but searching shows that these should be the only two instances | 20:22 | ||
| nopaste | "coke" at 65.91.151.194 pasted "list parsing a little off:" (6 lines) at nopaste.snit.ch/19139 | ||
| pmichaud | I'd prefer not to maintain two versions of nqp-rx for a while, though | 20:24 | |
| (one for context_unify3, another for trunk) | |||
| nor for rakudo-ng, which will have the same issue(s) | 20:25 | ||
| Coke: you probably want to add token list_atom:sym<"> { ... } which describes how to deal with quotations in lists | 20:26 | ||
| right now treating a string as a list is handled by :rule<list> | |||
| commands/main.pm:269 | |||
| sorry, :261 | |||
| Coke | I don't it should probably in list_word, actually. | 20:27 | |
| s/don't/think/ | |||
| since you'd only ever have it wrapping an otherwise legal word. I think. | |||
| pmichaud | anyway, that's the general area where parsing is taking place currently | 20:28 | |
| Coke | (I'm not sure why it's not just word:sym<">, actually.) | ||
| pmichaud | parsing there was different than normal words, iirc | 20:29 | |
| in particular, I don't think variable or command substitutions apply | 20:31 | ||
| (but I could be wrong about that... tcl is weird to me :) | 20:32 | ||
| cotto_work | then it's a good think you're not working on a 300,000-line project written in it: forums.thedailywtf.com/forums/p/142...spx#210517 | 20:34 | |
| Coke | ah well. I will clearly have to stare this more later. | ||
| cotto_work | s/ink/ing/ | ||
| dalek | rrot: r43145 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] fix directory hierarchy in sdist (tar.gz, tar.bz2, zip) |
20:38 | |
| nxed: r277 | julian.notfound++ | trunk/winxedst1.winxed: operator / in stage 1 |
20:44 | ||
|
21:00
theory joined
|
|||
| Coke is having a hell of time convincing people to hack on partcl. | 21:12 | ||
| dukeleto | Coke: so many things to hack on, so little time | 21:16 | |
| cotto_work | I'm happy to have 3-4 smaller items on my todo list in addition to the larger "make profiling not be so slow" task. | 21:18 | |
| (and then, Lorito) | |||
|
21:19
bacek joined
|
|||
| pmichaud | Coke: yes, but now it tends to be more "we don't have time" as opposed to "we can't figure out the code". At least that's the situation in my case :) | 21:24 | |
| dalek | rrot: r43146 | fperrad++ | trunk/runtime/parrot/library/distutils.pir: [distutils] add option packager (used by plumage & spec_rpm) |
21:27 | |
| PerlJam | Coke: fwiw, thought I haven't hacked on it much yet, I'm more inclined to hack on partcl in its current form than I was in its previous incarnation. | 21:28 | |
| s/ght/gh/ | |||
| Coke | pmichaud: just a very big hill to get back to where I was. =-) | 21:30 | |
| PerlJam: your help so far, btw, greatly appreciated. | 21:34 | ||
| pmichaud | Coke: understood. Sorry for that. | 21:35 | |
| cotto_work | But now when you find a bug and we ask for a minimal pir test case, the answer doesn't have to be "I hate you.". ;) | ||
| Coke | pmichaud: obviously, the hope it is it'll all be much easier, but there's still a lot of rewriting to do. | 21:36 | |
| no worries. | 21:38 | ||
| purl | no worries. is my smoke harness code public? | ||
| Coke | no, no worries is <reply>Whew. | ||
| dukeleto | purl, no worries is also smoke 'em if ya got 'em | ||
| purl | okay, dukeleto. | ||
| cotto_work | no worries | ||
| purl | Whew. or smoke 'em if ya got 'em | ||
|
21:41
patspam joined
|
|||
| bacek | Mornig. Good morning. | 21:55 | |
| Coke | bacek: ~ | ||
| bacek | Coke, ~~ | ||
|
21:56
lucian joined
|
|||
| bacek | pmichaud, if I'll add attribute Context accessors in trunk now will it help with transition to CallContext? | 21:57 | |
| pmichaud | bacek: yes, immensely. | 21:58 | |
| bacek | pmichaud, ok. Will do. | ||
|
21:58
Zak joined
|
|||
| pmichaud | thanks | 21:58 | |
| then I can perhaps see how the ng branch does :) | 21:59 | ||
| msg chromatic see latest message to parrot-dev re: shared exception handler objects | |||
| purl | Message for chromatic stored. | ||
| pmichaud | (summary: not good) | ||
| dalek | rrot: r43147 | bacek++ | branches/context_unify3/MANIFEST.generated: Install pmc_callcontext.h instead of pmc_callsignature.h. Spotted by pmichaud++ |
22:16 | |
| bacek | pmichaud, r43148 with Context attributes | 22:19 | |
|
22:23
wayland76 joined
22:24
wayland76 left
|
|||
| pmichaud | bacek++ # thanks! | 22:24 | |
|
22:26
ash_ joined
|
|||
| bacek | pmichaud, rakudo/master will require small adjustments. s/CallSignature/CallContext/g. MultiSub.get_args should just return CURRENT_CONTEXT. | 22:30 | |
| nopaste | "bacek" at 114.73.170.103 pasted "Patch for rakudo/master to build on context_unify3 for pmichaud++" (46 lines) at nopaste.snit.ch/19142 | 22:31 | |
| dalek | rrot: r43148 | bacek++ | trunk (2 files): Add attributes based introspection interface to Context |
22:32 | |
| pmichaud | there was also discussion in #perl6 this morning that Rakudo expects to be able to re-use call signatures | ||
| (finding the reference) | |||
| irclog.perlgeek.de/perl6/2009-12-18#i_1852433 | 22:33 | ||
| GeJ | Good morning everyone! | 22:34 | |
| bacek | pmichaud, I don't think that merging Context and CallSignature will affect rakudo badly. | 22:36 | |
| Anyway, @kids time | 22:39 | ||
| See you! | |||
|
22:53
Whiteknight joined
23:19
patspam joined
23:29
kid51 joined
23:57
TonyC joined
|
|||