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