Parrot 2.1.0 "As Scheduled" Released! | Tasks: PCC deprecations branch, HLL subclassing and MMD branch
Set by moderator on 16 February 2010.
00:03 patspam joined
allison ENOBATTERY 00:04
cotto_work If anyone has always wanted to cut a release of Parrot, we need some release managers starting with the May release. 00:17
Whiteknight I'm due for one 00:18
Coke as am I. 00:23
Whiteknight cotto_work: that's may and june
merk it
mark it*
cotto_work doing so
Coke I would vaguely prefer 2.6 if it's available.
darbelo everything after 2.3 is available iirc 00:24
cotto_work actually, I can't commit from here. It'd be good if someone who can could make the updates to docs/project/release_manager_guide.pod and the google doc at the same time. 00:25
Coke there's a google doc for releases? 00:26
cotto_work www.google.com/calendar/render?cid=...google.com 00:27
Coke oh, the calendar. that's a calendar, not a doc. =-)
cotto_work the google thingy
Coke Whiteknight: you want 2.4? 00:28
Whiteknight coke: sure. 2.4 it is
Coke ok. that leaves 2.5. any volunteers?
darbelo hides under the bed.
Coke updating calendar... 00:31
done. 00:35
calendar && doc.
darbelo you forgot the thingy 00:36
Coke *thbtp*
dalek rrot: r44054 | coke++ | trunk/docs/project/release_manager_guide.pod:
Update the list of release managers*
00:49
00:55 abqar joined
wagle All tests successful. 01:01
purl wagle: that's because you wrote only one test, slacker!
wagle yeah, and i'm still waiting for dukeletoto get back to me on that.. 8) 01:02
dukeleto, rather 01:03
01:03 davidfetter joined
wagle (j/k) 01:03
01:08 hercynium joined
Coke AHA. 01:10
we have a warning that is only enabled if you run in --maintainer mode with gcc.
(that explains why I could not find it.)
Whiteknight which? 01:11
purl You know, that one. or why I didn't want linefeeds
Coke -Wlarger-than-4096 01:13
01:13 kthakore joined
kthakore Congrats on the release! 01:13
chromatic: \\o hi five
01:14 cognominal joined
chromatic Thanks! Lots of people did a lot of work, especially darbelo. 01:18
Whiteknight chromatic: what's the plan for that branch you made?
chromatic Pull tests out of the tickets, make them TODO, make them pass. 01:19
Unless they're already TODO.
Whiteknight which tickets?
purl which tickets are dupes?
Whiteknight Austin: ping
purl forget which tickets
purl Whiteknight: I forgot which tickets
kthakore Congrats darbelo 01:20
Whiteknight ENOAUSTIN 01:21
chromatic #562, #784, #1040 01:23
Whiteknight oh, right 01:26
damnit I have a bad memory
Coke is '-W' a valid option for gcc? 01:34
(with nothing else.)
also, are the -f options more for optimizaiton? 01:35
(they seem to be lumped in with the warnings for no good reason.)
dalek rrot: r44055 | coke++ | branches/rm_cflags/config/auto/warnings.pm:
don't bother enabling this warning solely for maintainer; covered with --cage
01:38
rrot: r44056 | coke++ | branches/rm_cflags/config/auto/warnings.pm:
unused code is probably not the best place to keep these potential warnings.
Whiteknight Coke: I have no idea about either of those things
01:40 ZeroForce joined
Whiteknight -f appears to be commands passed directly to the C parser 01:44
not optimization
01:45 snarkyboojum joined
Coke we no longer support using our makefile generator outside of core, do we? 01:48
01:55 Austin joined
chromatic I'm pretty sure we don't. 01:59
Rakudo uses something else.
01:59 kthakore_ joined
dalek rrot: r44057 | coke++ | branches/rm_cflags (2 files):
Remove old, internal (and internally deprecated) makefile syntax.
02:28
02:40 contingencyplan joined
dalek kudo/master: 0daf89b | (Solomon Foster)++ | src/core/Any-num.pm:
Tweak rand not to complain about "too many arguments" when you don't actually pass it any arguments. Implement srand.
02:47
kudo/master: 73bf5cc | (Solomon Foster)++ | src/core/Any-num.pm:
Convert Any.atan2's $x argument to Num as well.
02:54 kid51 joined
Coke ugh. I'm becoming way too familiar with config guts! =-) 02:57
kid51: , I don't know how you spent so much time in here. =-) 02:58
kid51 Coke: I don't know any better =-)
02:58 chromatic joined
Austin Coke++ ; # Somebody has to do it, and I'm sure glad it isn't me! 02:58
Coke Austin: I accept patches to partcl-nqp instead of karma. :P
kid51 Coke: When I was briefly logged on earlier, I was actually using a different channel for a perlsemny meeting.
Austin How about a patch to Test::More?
kid51 Saw that you posted some TT and mentioned my name. 02:59
Coke Austin: you can't bargain with things you ALREADY COMMITTED
Austin Coke: It's the best I've got to offer. Sorry.
Coke kid51: recent TT with a suggestion for a new method on the $conf object to simplify the code.
Austin: *glare*
kid51 opens different browser for trac
Coke digs up a url .
trac.parrot.org/parrot/ticket/1452 03:00
should simplify the code a bit.
Austin Coke: Also, on a somewhat-related note, the Configure.pl provided with create_language_foo.sh uses the Parrot configuration modules, but those modules assume that . is the parrot home - which means that if any of Parrot's "magic" files are available in . the config modules assume those are *parrot* files instead of *language* files. (Example: VERSION) 03:01
dalek rrot: r44058 | Austin_Hastings++ | trunk (4 files):
TT #1453.
rrot: r44059 | coke++ | branches/rm_cflags/config/auto/warnings.pm:
minor change avoiding temp vars.
Coke Austin: is create_language the right way to do things these days? 03:02
that is, "is it the one pmichaud wrote"?
chromatic It'd be nice to have a native Parrot version.
kid51 Coke: Took that ticket. But I have some Perl 5 stuff which is prioritized right now.
Coke kid51: if I want to store something in the conf object, but not render it out, can I just use a key that starts with TEMP_ ?
dalek TT #1453 created by Austin_Hastings++: Improve handling in Test::More.pir
Coke render it out into the config available to parrot at runtime.) 03:03
Austin I have no idea. But if it leaves you with a Configure.pl, then I'm pretty sure it falls into this category.
Coke Austin: if it's the old one, it needs to be removed.
(or we need to at least decide which version we're supporting)
kid51 Coke: I *think* that is the way to go ... but I haven't had to think about that in many months. 03:04
Coke ok. I'll give it a shot. 03:05
kid51 Do a configure, then examine contents of lib/Parrot/Config/Generated.pm -- it will have 2 hashes, 1 for TEMP stuff and compare with ..... (I forget the name of the other file).
config_lib.pasm 03:06
ack TEMP config/gen/
dalek kudo/master: 5fceb7e | (Solomon Foster)++ | src/Perl6/Grammar.pm:
Take out the <re=.numish>'+'<im=.numish>'\\\\'?'i' branch of sym<complex>.
03:45
kudo/master: 6c478f2 | (Solomon Foster)++ | t/spectest.data:
Turn on rand.t and polar.t.
03:48 janus joined 03:55 patspam joined
kid51 must sleep 04:05
purl $kid51->sleep(8 * 3600);
04:13 ash_ joined
ash_ does parrot have an interactive mode? 04:15
plobsing ash_: I'm pretty sure parrot doesn't have a repl, but several HLLs do 04:19
ash_ hmm, alright, i just have something in nqp, and wanted to inspect what it was making, um... is there a document in parrot for p6metaobject? 04:20
04:24 redbrain joined
Austin Ash_: What are you trying to do? 04:24
ash_ just trying to understand what kind of objects nqp makes, when you make a class with nqp that is 04:26
looking through the generated code, its calling P6metaobject.'new_class' on the classes made with nqp
i was more wondering what the difference is between a nqp class and a parrot class made with the newclass op 04:29
Austin purl, nopaste?
purl hmmm... nopaste is at nopaste.snit.ch/ (ask TonyC for new channels) or paste.scsys.co.uk/ or App::Nopaste or tools/dev/nopaste.pl or at www.extpaste.com/ or paste.scsys.co.uk (for #catalyst, #dbix-class, #moose and others) or gist.github.com/ or paste or gtfo or tools/dev/nopaste.pl or trac.parrot.org/parrot/browser/tru...nopaste.pl
Austin Can't do binaries. Bide a moment. 04:30
04:34 plobsing_ joined
Austin Ash_: Basically, there are a couple of things going on. 04:35
When the P6object subsystem creates a class for you, let's call it A::B, it makes sure there is an A::B namespace. Any methods in that namespace automatically (because of parrot) become methods on the class. 04:36
So it uses the namespace to get_class, and if that doesn't work, it uses the newclass op to create one.
That 'Class' object becomes the 'parrotclass'.
Because Perl wants to be able to refer to classes by name as if they were symbols, each class has a 'proto object' that is, in theory, a member of the class, but which also has extra methods. In particular, the proto-class has a 'new' method. 04:37
So you can call A::B.new()
But you might not be able to call $obj.new() later with any other member of the class. 04:38
To make this work, the proto-object has to be installed into the parent namespace (A) with the same name as the created class (B). So global symbol A::B is actually a global variable holding the proto-object. 04:39
ash_ so, it makes a protobject and a class implementation? two kill 2 birds with one stone basically?
Austin In order for the proto-object to actually have all the methods of the class available, and in order to support dispatch, and a bunch of other sunshine and butterflies which I can't think of right now, the proto-object has to be an object, created by a class. 04:40
(There's more coming.)
But since the proto-object has extra methods that the regular objects don't have, it clearly isn't a plain old instance of the class. Instead, a third item is created: the META class.
The metaclass is a class that multiply inherits from the parrotclass (what you thought you were creating) as well as from some other class -- I can't recall if it's P6metaclass or P6protoobject. I think the latter.) 04:41
So you've got three "things" in play, all of which are PMCs: 04:42
1. The 'parrotclass' is a Class PMC that represents your class as you thought you were creating it.
2. The 'metaclass' is a subclass of parrotclass and P6protoobject (or ..metaclass?). 04:43
2a. (Sorry) The 'metaclass' is a 'Class' PMC
3. The 'protoobject' is an instance of the metaclass (an object PMC of $metaclass type) stored in the global variable that has the same name as your class. 04:44
And *that* is what 'P6metaclass.new_class("A::B")' creates.
Austin bows. 04:45
shockwave Are classes created with newclass automatically derrived from 'Object'?
Austin Heh.
No.
Classes created with newclass *that are not derived from anything else* wind up inheriting from Object PMC type, I think. 04:46
But you derive a class from another PMC type (like Hash) if you like. 04:47
(Note: I believe there are probably still problems with this. "Subclassing PMCs" is still something that a lot of the high-karma folks refer to as questionable.)
nopaste "shockwave" at 76.119.137.239 pasted "# Root of all classes. .namesp" (11 lines) at nopaste.snit.ch/19660 04:48
shockwave I'm trying to derrive a class from 'Object': nopaste.snit.ch/19660
I guess, based on what you mentioned, Austin, there is no need to do that? 04:49
Austin shockwave: No.
nopaste "shockwave" at 76.119.137.239 pasted ".namespace ['%' ; 'Object'] #" (8 lines) at nopaste.snit.ch/19661 04:50
Austin shockwave: What are you doing, in a larger sense?
shockwave Creating the base-class for all the classes in my language. Akin to Java's object class.
Austin Okay. 04:51
Try loading the namespace, then getting the class from it, then creating a new class if not found.
snarkyboojum I've been debugging a parrot build error on my OS X machine all afternoon and have kinda found the source of the issue. I've previously installed parrot via Rakudo, and was attempting to install Parrot again. 'make' was failing with an error suggesting that libraries couldn't be found (paste.lisp.org/display/95091), specifically -lparrot. It turned out that I had an old rakudo git repo path in my $PATH, and this was causing
the parrot build to use the wrong lib paths, so even doing a make on a separate parrot SVN copy was still trying to use rakudo/blib/lib. Removing the rakudo git repo path from my $PATH fixed the issue.
not sure how much sense that makes, but seems potentially buggy?
shockwave So does ['%' ; 'Object'] inherits from 'Object' in this case: nopaste.snit.ch/19661
Austin snarkyboojum: Sounds like a build/configure bug. You might want to wave a flag at Coke, since he's working in that space at the moment. By all means please create a ticket with whatever explanation you have. 04:53
snarkyboojum Austin: ok thanks. point in the right direction to raise this (haven't done that before) 04:54
oops - that was supposed to be phrased as a question - "point me in the right direction...?"
Austin shockwave: In $_PARROT/runtime/parrot/library/P6object.pir there's "get_parrotclass" which shows how to map a namespace/string to class.
snarkyboojum: trac.parrot.org is the trac server. You'll have to register, if you haven't. The search tickets and new ticket buttons are pretty big. :) 04:55
04:56 fperrad joined
snarkyboojum Austin: sweet - thanks 04:56
Austin --- and Coke was on here earlier tonight. He might still be around.
If he is, he'll chime in 04:57
snarkyboojum excellent
Austin shockwave: Be careful about how you think of "Object" PMCs. The Object PMC type doesn't implement anything except "Here I am, taking up space." There is a link for storing the class of the object, but that's it. (So yeah, your class extends Object.) 04:58
shockwave @Austin, I was looking at the P6Object code. But, based on what you must mentioned, that's all I wanted to know. 05:00
My base Object should provide all the needed methods for my Basic Object Model. I was just curious if classes automatically derrive from Object.
Austin shockwave: It's still a good place to go digging for code samples. Pmichaud has already done a bunch of ... (whatever it is that I want to do, usually) 05:01
shockwave Austin, Yeah, I'm noticing that. 05:02
Austin Ash_: Did your questions get answered?
ash_ yeah, that helps a lot
Austin Okay. I didn't want to leave you hanging.
Coke I'm here. what? 05:03
Austin Coke: snarky has questions/problems with build/configure on OSX. I told him you were touching it, so might have some bonus knowledge. 05:04
Coke there are several open bugs about osx builds.
perhaps he has tripped over one of them. I don't have access atm to test anything on osx. 05:05
ash_ i am on os x
if you want me to try something
snarkyboojum Coke: I just logged a bug - I probably should checked the open bugs first eh? 05:10
05:12 kthakore joined
dalek TT #1454 created by snarkyboojum++: make failing for parrot when rakudo git repo path in $PATH environment ... 05:14
snarkyboojum can't seem to reproduce it on my kubuntu VM 05:17
but can on OS X 05:18
Austin sings, "I'm just a bill, yes I'm only a bill, and I'm sitting here on Capitol Hill.." 05:20
dalek kapo: 7f097b2 | austin++ | (6 files):
Added bootstrap tests for Testcase.nqp.
05:28
06:03 Austin joined 06:18 shockwave joined 06:23 Austin_Hastings joined 06:30 bacek joined 07:03 Austin joined, Austin_Hastings joined 07:15 uniejo joined 07:21 payload joined
dalek rrot: r44061 | bacek++ | branches/sys_mem_reduce/src/gc (3 files):
Expose raw memory allocation functions via GC_Subsystem
07:23
rrot: r44062 | bacek++ | branches/sys_mem_reduce/src/gc/gc_ms.c:
Fix GC MS sys_mem functions
rrot: r44063 | bacek++ | branches/sys_mem_reduce/include/parrot/gc_api.h:
Rerun headerizer on src/gc/api.o
rrot: r44064 | bacek++ | branches/sys_mem_reduce (2 files):
Change Parrot_gc_sys_name to make headerizer happy
purl dalek: that doesn't look right
bacek *incoming*
dalek rrot: r44065 | bacek++ | branches/sys_mem_reduce/include/parrot/memory.h:
Add bunch of helper macros to allocate typed memory from GC.
rrot: r44066 | bacek++ | branches/sys_mem_reduce/src/pmc/fixedintegerarray.pmc:
Switch FIA to use GC allocations.
rrot: r44067 | bacek++ | branches/sys_mem_reduce/src (2 files):
Switch CallContext to GC memory
rrot: r44068 | bacek++ | branches/sys_mem_reduce/src/pmc/fixedbooleanarray.pmc:
Switch FBA to use GC memory
rrot: r44069 | bacek++ | branches/sys_mem_reduce/src/pmc/fixedfloatarray.pmc:
Switch FFA to use GC memory
rrot: r44070 | bacek++ | branches/sys_mem_reduce/src/pmc/fixedpmcarray.pmc:
Switch FPA to use GC memory
cotto bacek, what's the point of going through the gc if you still have to call free? 07:25
bacek cotto: it's up to GC to decide what to do with it. 07:26
target of branch is to reduce allocations from "system memory" directly.
So, in (for example) Boehm GC we can provide different allocation functions. 07:27
Or use fixed size allocator in all small allocations 07:28
etc, etc, etc
cotto OK. That makes sense if our gc can allocate/free memory faster than the system allocator can.
bacek FSA can do faster than system
(or at least is should) 07:29
cotto I'd expect that to be the case.
We can make tighter assumptions than the system. 07:30
chromatic Except for the overhead of all of these function calls. 07:31
07:32 davidfetter joined
cotto chromatic, do you have any thoughts on how I could make the profiling runcore code more approachable? 07:34
chromatic Approachable in what sense?
dalek kapo: ab39f07 | austin++ | (5 files):
Added bootstrap tests for UnitTest::Loader
cotto easier to understand and modify for a competent programmer
chromatic Smaller functions.
That's about as good as we can get.
cotto Bah. That code doesn't break down into smaller functions very naturally.
bacek chromatic, we can deal with overhead in the same way as Context API. 07:39
07:41 lucian joined
chromatic Yeah, I figure we'll have to. 07:43
cotto Well, it's a little more approachable now than it was this morning. 07:44
dalek rrot: r44071 | cotto++ | trunk (2 files):
[profiling] break some repeated code into a separate function and attempt some general cleanup
07:56
rrot: r44072 | bacek++ | branches/sys_mem_reduce/src/pmc/fixedstringarray.pmc:
Switch FSA to use GC allocations
07:57
rrot: r44073 | bacek++ | branches/sys_mem_reduce/src/pmc/resizablebooleanarray.pmc:
Switch RBA to use GC allocations
rrot: r44074 | bacek++ | branches/sys_mem_reduce/src/pmc/resizablefloatarray.pmc:
Switch RFA to use GC allocations
rrot: r44075 | bacek++ | branches/sys_mem_reduce/src/pmc/resizablestringarray.pmc:
Switch RSA to use GC allocations
rrot: r44076 | bacek++ | branches/sys_mem_reduce/src/gc/gc_ms.c:
Clean allocated memory in GC MS.
08:18 iblechbot joined 08:25 integral joined 08:33 fperrad joined
dalek rrot: r44077 | bacek++ | branches/sys_mem_reduce (2 files):
Switch debugger to GC allocations
09:02
09:27 nbrown joined 09:28 particle joined, Austin_Hastings joined 09:42 cognominal joined 09:47 TiMBuS joined 09:58 barney joined 10:15 AndyA_ joined 10:26 bacek joined
bacek *incoming* 10:26
Austin Hmm.. 2.1.0 does not appear in the release tags list for Trac.
Imma fix 10:27
dalek TT #1455 created by Austin_Hastings++: Exception 'birthtime' attribute not accessible 10:28
Austin Damn, Bacek! 10:29
bacek Austin, MUA-HA-HA!
Austin You're just committing one line at a time, aren't you?
bacek Austin, about one file in time 10:31
It's... easy 10:32
moritz commit early, commit often
purl rumour has it commit early, commit often is dangerous if you're going to break trunk
bacek And very helpful with bisecting
Austin sings, "I went home with a waitress, the way I always do..." 10:34
Austin sings, "Send lawyers, guns, and money!" 10:37
Ooh. Here's a question for the team: If there's a function (method) called ".attributes", and it returns a list of strings, what do those strings mean? 10:38
moritz suspects they are names of the attributes 10:39
Austin Aha! You have fallen into the same trap that I did.
moritz that exist in the current object (or class)
do tell what they mean! 10:40
Austin Surely, I thought, if there is a class method called .attributes, then I should be able to use that as a list of names to call getattribute $object, $attr
But alas, it was not to be.
THE CAKE IS A LIE!
dalek rrot: r44079 | bacek++ | branches/sys_mem_reduce/include/parrot/memory.h:
Add mem_internal_realloc_n_zeroed_typed macro
rrot: r44080 | bacek++ | branches/sys_mem_reduce/src/vtables.c:
Switch to mem_internal allocations of interp->vtable
rrot: r44081 | bacek++ | branches/sys_mem_reduce/src/dynpmc/gdbmhash.pmc:
Switch GDBMHash PMC to auto_attrs
rrot: r44082 | bacek++ | branches/sys_mem_reduce/src/dynpmc/gdbmhash.pmc:
Switch GDBMHash PMC to GC allocations
rrot: r44083 | bacek++ | branches/sys_mem_reduce/src/embed.c:
Switch to GC allocations in embed.c
rrot: r44084 | bacek++ | branches/sys_mem_reduce/src/exit.c:
Switch to mem_internal functions in exit.c
rrot: r44085 | bacek++ | branches/sys_mem_reduce (3 files):
Switch packfiles to use GC allocations
rrot: r44086 | bacek++ | branches/sys_mem_reduce/config/gen/crypto/digest_pmc.in:
Switch generated Digest dynpmcs to GC allocations
rrot: r44087 | bacek++ | branches/sys_mem_reduce/src/pmc/packfile.pmc:
Switch Packfile PMC to GC allocations
rrot: r44088 | bacek++ | branches/sys_mem_reduce/src/dynpmc/rational.pmc:
Switch Rational PMC to auto_attrs and GC allocations.
Austin It's just a bunch of names that may or may not be meaningful to some developer. Maybe you need to call inspect($attribute), maybe you can call getattribute($pmc, $attribute), or maybe none of the above.
10:41 payload joined 10:43 contingencyplan joined 10:44 cosimo joined 10:53 patspam joined 11:01 eirik joined 11:24 payload joined
bacek Niiiiice... 11:27
There is mem_allocate_typed macros which is casting wrapper around malloc (basically) 11:28
1 arg
And mem_allocate_typed _function_
Which allocate data from fixed pool.
bacek committing suicide 11:29
Austin Isn't that (the memory pools) what you were talking about implementing, bacek? 11:31
bacek no
Austin Oh.
bacek I'm encapsulating current memory allocations
Austin Oh.
bacek (And we already have quite few memory pools) 11:32
11:43 bluescreen joined
dalek kapo: 7746fe7 | austin++ | (9 files):
Got TapListener.nqp test working using Test::Builder::Tester. Yikes.
11:58
12:55 fperrad_ joined
dalek kudo/master: d5d58cc | moritz++ | t/spectest.data:
[t/spectest.data] re-enable four passing test files
13:04
13:22 mikehh joined
dalek kudo/master: 2c23657 | (Solomon Foster)++ | src/Perl6/ (2 files):
Add rand as a term, cloning the Nil term's code.
13:38
Coke rant: we have two wiki pages: HLLInteroperability and Hll... can we combine these or rename one of them? 13:40
Austin Heh, heh, heh. 13:41
I noticed that, but I was impressed with how full they both were.
Coke is ParrotDictionary autogened? 13:43
Austin No.
Coke oh dear god.
purl dear god. is wednesday almost over?
Coke no, purl, we have a few hours yet. 13:44
Austin There was a lot of manual scripting, and much of it was done offline.
Coke wow. 13:45
let me reiterate. Wow. 13:46
rant: trac doesn't show you which pages link to the page you're on. 13:48
13:48 KingOfKarlsruhe joined 13:49 tetragon joined
Coke rant: trac doesn't let you describe ticket types. 13:50
e.g.: what is a 'feature' ticket? how is that different from a todo?
Austin Google code does a nice job of that. 13:51
Coke free karma to the person who finds me a trac plugin for either of those features. 13:52
rant: trac automatically indexes things by the initial camelcased word, but all our Tasklist (and TaskList) pages put the tasklist at the end, avoiding the automatic grouping. 13:54
14:01 whiteknight joined
dalek TT #1456 created by nwellnhof++: String iterator rewrite 14:03
whiteknight good morning, #parrot 14:07
14:09 plobsing joined
Austin Coke: trac-hacks.org/wiki/TicketGuidelinesPlugin 14:09
Also: trac-hacks.org/wiki/TicketExtPlugin 14:11
Slightly related: trac-hacks.org/wiki/TracBacksPlugin 14:13
This might be better than the Guidelines: trac-hacks.org/wiki/TicketSidebarProviderPlugin 14:15
On the linkback side, there's this: trac-hacks.org/wiki/TicketSidebarProviderPlugin 14:18
Whoops.
trac-hacks.org/wiki/BackLinksMacro
Makes a list of referring pages.
Okay, where's my free karma? 14:22
Good morning, Whiteknight.
whiteknight hello Austin
Austin What's new over on the west coast? (of the Delaware, that is..)
whiteknight not a whole lot. 14:23
14:23 PerlJam joined 14:29 mikehh joined
dalek rrot: r44089 | mikehh++ | trunk/MANIFEST:
regenerate MANIFEST
14:29
Coke austin++ 14:33
Austin bows.
Coke, it seems like the BackLinksMacro is pretty much just what you want. 14:34
The other ticket ones are kind of kludgy ways to get text on the page, for the most part.
14:36 lucian_ joined
Coke Austin: I agree. 14:38
except that you have to add [[BackLinks]] to every page.
Austin Assuming you want backlinks, yes. 14:39
Coke so, -1 on that.
i want them on every page without having to edit anything, that's how bad I want them. =-)
Austin Should be pretty easy to scriptify them in there.
Coke not yet worth learning a completely new (to me) system to figure this out. 14:40
Austin I wonder if you could put the [[backlinks]] in the page footer..?
dalek kudo/master: 761d05a | (Solomon Foster)++ | src/Perl6/Grammar.pm:
Add obs method and port the smart version of rand from STD.pm.
14:44
14:45 mikehh joined
dalek rrot: r44090 | mikehh++ | trunk/runtime/parrot/library/Test/More.pir:
fix codetest failures - trailing whitespace
14:46
rrot: r44091 | mikehh++ | trunk (4 files):
set svn properties
rrot: r44092 | NotFound++ | trunk/DEPRECATED.pod:
Remove TT #918 from DEPRECATED.pod, alredy done
14:50 jsut joined
dalek TT #918 closed by NotFound++: Change handling of class_init functions 14:54
Coke do we have any g++ users on? notfound? 15:02
NotFound Coke: yes?
moritz karma g 15:03
purl g has karma of 951
Coke config/auto/warnings.pm jumps through hoops to try to not bother using some warnings on g++ - does that matter, or can we just probe for them like we do the other 30 warnings?
15:03 mikehh joined
Coke @potential_warnings_no_cpp 15:03
or does g++ support those warnings and then do the wrong thing? 15:04
NotFound Coke: that are warnings that makes C++ build very noisy. They are important to locate potential bugs.
Coke ok. so we should definition avoid them if using g++?
er, definitely.
NotFound Important to avoid all that noise, I mean. 15:05
15:05 janus joined
Coke ok. 15:05
NotFound And I'm not sure, but I think some of it broke the build on some g++ version. 15:06
Coke ok. I can keep it separated, just requires some hoop jumping.
NotFound Coke: nice 15:07
Coke can someone else look at the use of ccwarn in config/auto/gcc.pm and agree with me that it seems useless?
NotFound Coke: a feature l'd like to have: a way to specify options to be used in the build, but not with probes. For example, -Werror 15:09
Coke NotFound: any flags specified on the command line should always be used.
15:10 mikehh joined
Coke (I know some aren't, that's a bug.) 15:10
s/command/config/
NotFound Coke: that is the problem. Lots of probes will fail with -Werror, will ve very hard to write probes warning-free.
Austin Man, the really *nice* thing about making a stoopid mistake is that when you finally find it, it only takes moments to fix...
Coke NotFound: oh. you mean, "use during build, but never probe with" ? 15:11
that's harder.
NotFound Coke: yes
Coke (much harder.)
NotFound Well, one can always dream ;)
autoconf also lacks that. 15:12
Coke: looks like gcc.pm gets the value from conf->data and then set it with that same value. 15:18
dalek rrot: r44093 | mikehh++ | trunk/src/pmc/opcode.pmc:
add Copyright, Id, coda and some documentation
15:19
Coke NotFound: right. seems useless, yes?
rrot: r44094 | mikehh++ | trunk/src/pmc/oplib.pmc:
add Copyright, Id, coda and some documentation
Coke (not to mention "$foo", which is also useless.)
NotFound Coke: I'm not very good at perl, but looks useless to me, yes,
(If not, is black magic that should be avoided) 15:20
whiteknight NotFound, Austin: ping 15:33
15:33 theory joined
nopaste "coke" at 65.91.151.194 pasted "notfound, this work for you? (on g++, I expect it to generate a line in config_lib.pasm with g++=1" (33 lines) at nopaste.snit.ch/19664 15:35
dalek rrot: r44095 | coke++ | branches/rm_cflags/config/auto/gcc.pm:
Remove useless use of get/set of @ccwarn@
rrot: r44096 | mikehh++ | trunk/src/main.c:
correct c function docs
rrot: r44097 | mikehh++ | trunk/compilers/imcc/main.c:
correct c function docs
Coke (for me, when i run it with gcc, i get g++=0, as expected, but with a Configure.pl --cc=g++, I get build failures. figured I'd bounce it off you. =-) 15:37
karma g? 15:38
purl g has karma of 957
Coke karma c?
purl c has karma of 8377
moritz karma c++
purl c++ has karma of -95
NotFound whiteknight: pong 15:40
Coke: one moment... 15:41
Coke ah. no, it doesn't work. (g++ isn't set, so the build is including those warnings that you warned me about, so boom.)
whiteknight NotFound: the tt_1449 branch is basically ready to merge. If you can add new tests for your arrays-as-keys suggestion, it can get merged
NotFound whiteknight: just merge it and we'll add the tests later. 15:42
whiteknight NotFound: I'd rather not, otherwise we'll forget to add tests
I'll throw some together later tonight if nobody beats me to it 15:43
NotFound whiteknight: the kind of tests and usages I have in mind are for winxed, and it take me some time to build winxed under a branch. 15:44
15:49 chromatic joined
Coke NotFound: how do you specify g++? do you use perl Configure.pl --cxx ? 15:49
ok, this works, with my patch: perl Configure.pl --cc=g++ --link=g++ --ld=g++ 15:53
cxx seems to be borked. 15:55
15:55 Psyche^ joined
Coke ah. cxx is a leftover from when we built icu. 15:58
dalek kudo/master: f592840 | masak++ | (4 files):
basic implementation of anonymous enums
16:00
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32243), fulltest) at r44097 - Ubuntu 9.10 amd64 (gcc with --optimize)
Coke NotFound: a sanity check on your default g++ build on rm_cflags branch is appreciated. 16:02
NotFound Coke: I set cc, cxx, link and ld 16:03
Coke near as I can tell, cxx is a waste. 16:04
(if you find that not to be the case, see TT#1467
(if you find that not to be the case, see TT#1457, oops. 16:05
NotFound Coke: mmmm... last time I checked there was some module that requires c++ compiling... gdbm, maybe?
Coke NotFound: possible. but if I gen a makefile using -cxx, it shows up nowhere. (feather may not have gdbm) 16:06
NotFound Im' fine with baning from core any module that requires c++ compiling, anyway. 16:08
dalek rrot: r44098 | coke++ | branches/rm_cflags/config/auto (2 files):
Move check of g++ vs. gcc to a more appropriate location.
NotFound Coke: Building r44098/rm_cflags right now 16:09
16:09 bubaflub joined
Coke if you're building, then it's probably ok. =-) 16:10
(i'm only changing config stuff.)
NotFound Noisy, but works. 16:11
Coke yup. working on the noise. danke!
by noisy I assume you mean "lots of warnings".
the g++ noise is going to stay.
NotFound Coke: yes, but also the compiler command line echoing 16:12
Coke yup. that part is intentional.
(was previously hidden by the ccflags script we are rm'ing. 16:13
dalek TT #1457 created by coke++: remove --cxx option to Configure.pl 16:17
NotFound Thinking about the NCI static signatures thing... if we want to avoid them to waste space in libparrot, we can put them in another library, and dynamically load it when required. 16:18
Coke Ugh. we throw every probed warning into the config data. is that desired?
I think having a single ccwarn with the warnings we settled on is fine.
NotFound Coke: rm_cflags pass all tests here 16:19
Coke rather than -W, -Wall, -Winline ...
NotFound Andy: I 'm reading now your last message in the list. Have you been reading my mind? ;) 16:23
Andy ?
yOu mean Armstrong?
NotFound Uh, sorry, my memory for name/nick relations is very bad. 16:24
Andy is AndyA even in here? 16:25
oh look, heis.
well, he needs a new name, clearly.
Coke feedback on TT #1458 would be nice.
16:26 cognominal joined
NotFound Long time ago I tried to find a good nick, but failed. Thus, NotFound 16:26
16:29 payload joined
NotFound Coke: I think that what we need is some documented policy about what must go into parrot_config. 16:32
dalek TT #1458 created by coke++: Don't add probed warnings to config information. 16:34
NotFound BTW, what's the source for archname? In my Maemo build it says i686-linux-thread-multi 16:36
And parrot -V says: built for i386-linux 16:37
Coke NotFound: would be nice. right now it's just a mess. 16:41
NotFound: at a guess, p5. 16:44
NotFound Looks like it comes from p5 with a lot of ad-hoc filtering. 16:45
dalek kudo/master: e23a053 | masak++ | src/glue/enum.pir:
[src/glue/enum.pir] two fixes

  - removed cloning step
16:46
TT #1459 created by coke++: missing dep on parrot_config 16:50
tracwiki: v9 | darbelo++ | Modules 16:55
tracwiki: Add the new digest-dynpmcs repo to the modules list.
tracwiki: trac.parrot.org/parrot/wiki/Modules...ction=diff
kudo/master: c9601d7 | jonathan++ | src/Perl6/Grammar.pm:
Add a few more .obs from STD.pm, and also add it's term:sym<undef> for suggesting alternatives to undef.
16:57
17:18 whiteknight joined 17:22 mikehh joined 17:25 riffraff joined
shockwave Does it matter if registers are named like so: $S10000001 ... when no other $S registers exist? 17:28
Coke shockwave: there is a limit to how high that parses, I think, but no, PIR doesn't auto-popuplate the "missing" registers. 17:29
you can think of $S10000001 as a really ugly name for a register that maps to the first free parrot register.
(PASM doesn't work that way, though) 17:30
shockwave @Coke. Cool, that's what I wanted to know. Thanks.
Coke first free parrot /string/ register, to be clear.
shockwave: np
dalek kudo/master: 5e7ac5a | jonathan++ | docs/metamodel.pod:
Re-visit the Rakudo meta-model spec and try and be less wrong, though we still ain't all the way. The main issue the previous spec has was that meta-methods generally expected to get the metaclass as the first arg when constructing the class, but then would get the instance there. Also we were meant to be able to write trait_mod:<is> to add a parent as $child.^add_parent($parent), rather than $child.add_parent($child, $parent). Now we're going
17:32
Coke seen jonathan? 17:37
purl jonathan was last seen on #parrot 99 days, 16 hours, 9 minutes and 52 seconds ago, saying: Full marks for another refactor that's probably made Parrot slower again though. :-/ [Nov 10 01:27:23 2009]
17:37 davidfetter joined
shockwave Speed-wise, is there much of a difference between doing: 17:51
$S0 = 'hi'
return ($S0)
compared to: .return ('hi') 17:52
treed I wouldn't expect so, but I'm hardly an expect.
I think it still has to go into a register, whether that's anonymous or not.
The second one *could* use a PMC instead, but I doubt it. 17:53
s/expect/expert/
shockwave @treed, so you're saying that you think they amount to the same thing?
treed I *believe* so.
shockwave Alrighty.
purl somebody said Alrighty. was there a way to do that without having to start a new process?
treed But I'm not really expert. 17:54
NotFound shockwave: compile to pbc and disassemble it
shockwave NotFound. I didn't know one could do that.
oh, I see pbc_disassemble.exe, cool. 17:55
Coke or, just do parrot -t1 foo.poir
the trace will often be just fine.
NotFound shockwave: parrot -o yourtest.pbc yourtest.pir ; pbc_disassemble yourtest.pbc
Coke I think those should be the same.
(the pmc or not only enters it it in the caller. it might autobox that string result into a PMC for you.) 17:56
NotFound Yes, the trace is sometimes easier
17:56 chromatic joined
Austin_away I think the constant return actually returns a constant. 17:56
Coke but at the point of return, it should still be a string.
Austin_away: no, it returns a "string".
return($S0) doesn't really return a register, it returns the contents of the register.
you do, of course, avoid an assignment. 17:57
treed really? 17:58
Huh.
I wouldn't have expected the return opcode to be able to operate on a literal.
nopaste "Austin" at 68.37.46.53 pasted "returning string-register vs. constant" (22 lines) at nopaste.snit.ch/19666
NotFound Some objection to commit a experimental faeture that adds library and include paths from environmental variables? (TT #1429)
Coke .return is really set_returns
Austin: right. the only diff is the missing 'set' opcode. 17:59
Austin Yah, and the set_return with a constant encodes the constant ref into the op, while the $S0=x; return $S0 encodes the register into the op.
Coke so, slightly faster to return the constant (avoids one opcode invocation). no visible effect to the caller. 18:00
Austin Also, shrinks the bytecode by an infinitesimal fraction. :) 18:01
shockwave That dissassembler program is interesting. I wished you guys hadn't mentioned it. I'll probably be using it all the time, now.
moderator Parrot 2.1.0 "As Scheduled" Released! | parrot.org/ | Tasks: PCC deprecations branch, HLL subclassing and MMD branch 18:02
shockwave Too bad it doesn't show the names of the subroutine that the certain chunk is defining. 18:02
dalek rrot: r44099 | coke++ | branches/rm_cflags/config/auto/warnings.pm:
inline this sub.
18:05
rrot: r44100 | whiteknight++ | branches/tt_1449/t/pmc/namespace.t:
[TT #1449]add some basic tests for the new behavior
rrot: r44101 | whiteknight++ | branches/tt_1449/t/pmc/namespace.t:
[TT #1449] fix test plan
18:06 whiteknight joined
Austin shockwave: tt#1438 18:06
shockwave Austin: true, true. 18:08
Can someone double-check if the pbc_disassembly with the -o flag is working. It doesn't for me, on Windows Server 2008. 18:13
(Powershell) ^
Austin shockwave: it works for me, but also spews to stdout 18:15
ttbot Parrot trunk/ r44102 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/200792.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ )
Austin maybe not... 18:16
shockwave Austin, creates the file, but no output, right?
Austin Nope. I get nothing.
(Leftover file from something else was confusing the matter.) 18:17
nopaste "Austin" at 68.37.46.53 pasted "No -o for pbc_disassemble" (3 lines) at nopaste.snit.ch/19667
Austin Shockwave, you going to create the ticket? 18:18
shockwave Sure, why not. I'll create it. 18:19
Coke ugh, pbc_disassemble outputs POD!?
18:19 Austin_Hastings joined
shockwave @Coke, I noticed that too. 18:19
NotFound outfile is ignored in Parrot_disassemble 18:20
dalek kudo/master: 0e70eab | masak++ | src/builtins/Mu.pir:
[src/builtins/Mu.pir] added .list method
kudo/master: de7b7e6 | masak++ | t/spectest.data:
[t/spectest.data] uncomment S12-enums/anonymous.t
Coke I am wondering why pbc_dis is showing me 5 constants in the header, but only using 1 of them in the body 18:21
dalek rrot: r44102 | NotFound++ | trunk (2 files):
experimental env vars PARROT_LIBRARY and PARROT_INCLUDE, TT #1429
18:22
dukeleto chromatic: the server that I was doing benchmarks on, timtowtdi.org, seems to be gone, so I have to setup my benchmark env on a new server
shockwave NotFound, is the file ignored purposedly? 18:23
NotFound shockwave: looks like a half-implemented feature
chromatic Pity. 18:24
shockwave NotFound, ok. I'll mention it in the ticket.
18:25 theory joined 18:31 mikehh joined
dalek TT #1460 created by shockwave++: pbc_disassemble -o option not working. 18:31
Coke dukeleto: it is gone. 18:37
moritz++ mentioned it on channel a week or so ago. :| 18:38
18:41 mikehh joined
dukeleto Coke: i missed the message. what happened? 18:47
Coke server's no longer available KTHANXBAI.
dukeleto makes a sadface
Coke we got about a week's notice. I pretty much shut all my stuff down immediately and switched back to feather. 18:48
dukeleto sucks.
Coke U+2639 18:49
dukeleto well, that was my parrot benchmark server, so I will have to set myself up somewhere else.
Coke from scratch because none of the numbers will match up again!
U+2639
18:50 myhrlin joined
dalek rrot: r44103 | NotFound++ | trunk/src/embed.c:
use outfile parameter in Parrot_disassemble, TT #1450, shockwave++
18:55
dukeleto Coke: yeah, numbers cannot be compared against servers. I have one machine that is not as beefy at timtowtdi that I could use, but I am trying to procure another box to work on 18:56
chromatic Callgrind numbers are comparable. 18:57
Coke NotFound++ # that was quick. 19:00
ttbot Parrot trunk/ r44103 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/200887.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 19:01
Coke ZOMG YOU BROKE THE BUILD
I am assuming STRINGNULL isn't being exported?
whiteknight urg, I hate how SVN wants to update hundreds of unrelated file properties every time you merge a branch
Coke whiteknight: someone is merging wrong. 19:02
whiteknight ...you?
Coke heh. no; your mergebacks have done it to me. =-)
I assume some one branch got screwed up and now everything is. 19:03
definitely annoying. but singce it's only annoying, I haven't bother to figure out what's going on. 19:04
19:04 bacek joined
Coke but it's probably bacek's fault. 19:04
NotFound That was me? Isn't STRING_IS_NULL supposed to be expanded appropiately?
Coke whistles innocently.
bacek Coke, WHAT?
purl i think Coke, is that an error message that you saw?
dalek TT #1449 closed by whiteknight++: Add support for String PMC in NameSpace::get_pmc_keyed 19:05
Coke bacek: Just messing with you.
dukeleto sits in the corner, mumbling about the delightfulness of merging in git 19:08
cotto_work your day will come 19:10
Austin June 12. 19:11
Cotto versus Foreman.
dalek rrot: r44104 | whiteknight++ | trunk (87 files):
[TT #1449] merge the tt_1449 branch into trunk. This should satisfy the ticket
rrot: r44105 | whiteknight++ | branches/tt_1449:
this branch was merged to trunk
Austin Assuming a Bar Mitzvah doesn't get in the way.
Yankee Stadium.
purl it has been said that yankee stadium is a bit of an experience, but eh. :)
ttbot Parrot trunk/ r44104 MSWin32-x86-multi-thread make error tt.ro.vutbr.cz/file/cmdout/200943.txt ( tt.ro.vutbr.cz//buildstatus/pr-Parrot/rp-trunk/ ) 19:14
19:19 joeri joined
Coke The TT bot is showing all the branches, but not testing them. Would it hoit to throw those into the mix all the time, or are they only added on request? 19:23
(and am i the only one who is wierded out by the fact that we have two different ways to report build errors?
also mj41++ 19:24
19:25 donaldh_ joined
NotFound I'd like better to have a bot that fix errors ;) 19:26
Coke A SMOP.
dalek rrot: r44106 | NotFound++ | trunk/src/main.c:
avoid STRING_IS_NULL usage in main that makes MSWin32 fail, don't know why
19:28
19:29 donaldh__ joined
NotFound I'm thinking again that parrot main must use just the embed/extend interface. 19:30
dukeleto Coke: i like that we have multiple ways to detect build errors 19:31
NotFound What I don't like is that the bot doesn't tell when the error condition is gone. One never knows if the problem is fixed or the bot is being slow. 19:32
dalek kapo: 0da603f | austin++ | (8 files):
Got final TapListener testcase working. P6 code still not in base - only full.
19:34
kapo: 7a31c17 | austin++ | (2 files):
Imported exception types into Exceptions.nqp. Moved Exceptions.nqp into base.
Coke NotFound: the code for the ttbot is available, methinks. 19:35
dukeleto Austin: do you have a test suite for kakapo?
PerlJam What is kakapo?/
dukeleto PerlJam: NQP utils
Austin dukeleto, sort of.
I have a set of bootstrap tests using test::more (make test-bootstrap)
dukeleto Austin: well, you should use Tapir if you generate TAP
Coke msg mj41 - I see the client & server code for taptinder at dev.taptinder.org/wiki/TapTinder, but not the code for ttbot. Is that available? 19:36
purl Message for mj41 stored.
19:37 ash_ joined
Austin PerlJam: Kakapo is the missing runtime library for nqp. 19:37
PerlJam is looking at it now.
Austin: you've been busy 19:38
Austin Yeah. Still trying to get the -rx tax paid, so only half the code works.
Coke Austin: might some of this replace runtime/library?
(i had been thinking of redoing some of library in core, but this might be a better idea.) 19:39
Austin Coke: dunno. Kakapo is written in NQP, so will be slower than pir.
PerlJam Coke: HLLs are always a better idea :)
Coke Austin: you can always compile it out to PIR. 19:40
Austin It compiles to pbc now. But it's fat, bloated pbc.
NotFound Is just written in nqp, or is intended to be used only from nqp? 19:43
Austin It is intended to round out NQP. It is written in NQP because I don't do PIR. 19:44
Coke but it does appear to do things like modify the Hash PMC, so you could use these methods from PIR. 19:45
"here, let me stick this method you probably want in your namespace"
Austin Yeah. That's the rounding out part. 19:46
PIR users won't care, because a lot of my methods are replacements for opcodes.
Coke I'm eyeing some of this now for partcl-nqp. 19:47
Austin But I like being able to say " unless $param.defined { $param := default(); } "
Coke austin, I think // works. =-)
Austin Coke: Most of this came from work on Close.
dukeleto the "weekly focus" part of our main wiki page has prime real estate, but very few useful links 19:48
seems suboptimal
Coke I'm not sure //= works, but // does.
Austin dukeleto: There's HLLInteroperability.
Also, there's HllInteroperability, too.
Coke Austin: And HllInteroperability !
Austin :)
Coke austin: $foo := $foo // default(); shoudl work. 19:49
Austin Sweet.
Does it survive null?
Have to find out.
Coke yah, Iunno. 19:50
Coke wonders how to make partcl-nqp depend on kakapo.
Austin Just ship the pir.
Or maybe plumage can handle it?
NotFound I'm thinking that we should borrow in core a rakudo thing: an Undef that throws something if being used for any other thing that checking his boolean value.
dukeleto Austin: i can help you with making plumage metadata for kakapo, if you need 19:51
NotFound That way, the problems 'Return null/undef or throwing?' are easily solved,
shockwave What is plumage?
purl well, plumage is the future Parrot module ecosystem. It will include tools to search metadata, handle dependencies, install modules, and so forth. The repository is at gitorious.org/parrot-plumage/parrot-plumage and the design docs are at trac.parrot.org/parrot/wiki/ModuleEcosystem
Coke can plumage install-to-working directory?
Austin Dukeleto: I've got an old (!!) metadata file. But I haven't kept up even a little bit with progress on plumage, so it's probably bogus
NotFound: Also, coercion. I think Undef is supposed to transmogrify into a Scalar if it gets the right opcode. 19:53
NotFound Austin: I'm thinking about the simpler usage: if you want to check the result, use get_bool, if you want to let it throw, just use it unchecked. 19:54
dukeleto Austin: setup.pir comes with a hook to generate a skeleton metadata file
Austin dukeleto: setup.pir is from plumage? 19:55
NotFound Er, not get_bool, defined 19:56
Coke NotFound: that sounds like a HUGE change to Undef semantics.
NotFound Coke: I'm thinking about a new Undef type, able to carry a message or the exception to throw. 19:57
Coke so we'd have /two/ undefs? 19:58
one that morphed, one like Fail ?
I'd really need to think about how that impacted tcl. 19:59
NotFound Coke: yes, Fail will be a good name.
TimToady phone 20:00
20:00 ZeroForce joined
dukeleto Austin: setup.pir is the new pure PIR configure stage for Parrot. it is not specific to plumage. written by fperrad 20:02
NotFound For example loadlib can return a Fail that throws with some informative message if used. So you can check the result, or just let it throw when used, without needing to poke on global flags. 20:03
20:03 cognominal joined
Austin dukeleto: Rock on! How complete is setup.pir? Can I replace Configure.pl? 20:03
dukeleto Austin: yes, you should be able to get rid of Configure.pl 20:05
dalek rakudo/master: 215a019 | pmichaud++ | src/builtins/Positional.pir: 20:08
20:09 lucian joined 20:11 theory joined 20:13 cognominal joined
dukeleto Austin: look at runtime/parrot/library/distutils.pir to learn more about setup.pir 20:13
Austin dukeleto: On my list of things to do. Thanks! 20:14
20:14 Whiteknight joined
dukeleto Austin: how to generate plumage metadata: github.com/leto/tapir/commit/02fdb6...527009ba8a 20:15
Austin: how to make a setup.pir : github.com/leto/tapir/commit/de92d4...7d26eed967
20:16 Austin_Hastings joined, dalek joined
Austin Well, that's irritating. 20:16
dukeleto Austin: screen+irssi is a beautiful thing 20:17
Austin :) 20:18
I've got firefox doing too much, apparently.
NotFound dukeleto: is easier to parse json than to fill a hash with pir code ;) 20:19
BTW the json parser is painfully slow. 20:20
dukeleto NotFound: have you looked into why? i haven't fiddled with the json parser much 20:21
NotFound dukeleto: I lack PCT knowledge 20:22
cotto_work NotFound, do you have an example of something that's slow to parse?
20:24 davidfetter joined
Coke which of the 3 json parsers is this? 20:24
Coke may be exaggerating slightly. 20:25
NotFound cotto_work: examples/nci/xlibtest.pir 20:27
It saves drawings as an array of arrays of ints. Draw a few lines, and loading goes very slow. 20:28
Coke note that that is using the old compilers/json, which I thought someone had decided was abandoned. 20:29
er. are data_json and json the same thing? 20:30
(they both are using TGE?)
NotFound I think so.
Coke ugh. looks like japhb did a copy in r41128, but no indication in that commit message of what problem he was trying to solve. 20:31
ISTR being unhappy with this when I noticed it the first time. =-) 20:32
20:32 mikehh joined
Coke finds lists.parrot.org/pipermail/parrot-d...02974.html which was never answered. 20:33
Coke finds trac.parrot.org/parrot/ticket/508 which is warnocked. 20:36
"japhbCoke, JSON is deprecated in favor of data_json because there was no obvious way to fix the case issue without screwing over Windows users and breaking deprecation policy." 20:37
NotFound Coke: it was related to upper/lower problems with compreg names and nocase filesystems, if I remember well.
chromatic You'd think Windows users had acclimated to that screwed over feeling.
Coke You'd think someone would have fixed it the right way. :P 20:38
dukeleto i think data_json is what people should be using and JSON needs to be deleted
Coke I think data_json is a bad name and we should just be using json.
NotFound I have written a bunch of xlib tests that works the same way, don't remember what json used in each %-)
But all are alow. 20:39
slow
Coke there's a json notice in deprecated.pod, but it seems to be for something ELSE.
IWBNI someone fixed this so i could avoid the residual angst. =-)
I will open a ticket. 20:42
NotFound I'll be happy having a function to read and other to write a json file, without having to worry if is implemented as a language or not.
bacek *incoming*
cotto_work oh noes 20:43
bacek C'mon! It's only 15 commits 20:44
cotto_work Are you seeing much of a speedup in that branch? 20:45
dalek TT #1461 created by coke++: compilers/json 20:49
20:49 cognominal joined
mikehh Whiteknight: c++ comments in src/pmc/namespace.pmc? 20:49
Coke you did not mergeback your c++ comments to trunk... 20:50
Aigh.
Whiteknight mikehh: ah, damnit 20:53
dalek rrot: r44110 | bacek++ | branches/sys_mem_reduce (2 files):
More migration of PackFile functions to GC allocations
20:55
rrot: r44111 | bacek++ | branches/sys_mem_reduce (17 files):
Rename gc_mem macros to mem_gc macros
rrot: r44112 | bacek++ | branches/sys_mem_reduce/src/debug.c:
One more GC allocations in debug.c
rrot: r44113 | bacek++ | branches/sys_mem_reduce/src/packfile.c:
One more GC allocation in packfile.c
rrot: r44114 | bacek++ | branches/sys_mem_reduce/src/vtables.c:
Switch VTABLE allocations to mem_internal.
rrot: r44115 | bacek++ | branches/sys_mem_reduce/src/oo.c:
Switch object method cache to GC allocations.
rrot: r44116 | bacek++ | branches/sys_mem_reduce/config/gen/platform/generic/exec.c:
Switch platform.exec to GC allocations.
rrot: r44117 | bacek++ | branches/sys_mem_reduce/src/utils.c:
Switch utils to GC allocations.
rrot: r44118 | bacek++ | branches/sys_mem_reduce/src/thread.c:
Switch threads to internal allocations.
rrot: r44119 | coke++ | trunk/DEPRECATED.pod:
add note on TT#1461
GeJ Good morning everyone 21:06
cotto_work hey GeJ 21:07
GeJ servus cotto
mj41 Coke: some links to ttbot code are here dev.taptinder.org/wiki/ToDo/Build_s...one_report 21:10
dukeleto o hai 21:11
21:11 bluescreen joined
dalek rrot: r44120 | whiteknight++ | trunk/src/pmc/namespace.pmc:
remove c++ comments. mikehh++
21:12
Coke trac.parrot.org/parrot/ticket/1278 is an easy win for someone who can reverse a commit 21:16
21:19 cognominal joined
Coke msg pmichaud are the Deprecation items for NQP in DEPRECATED.pod now irrelevant? 21:20
purl Message for pmichaud stored.
dalek kudo/master: 4c3dd04 | (Solomon Foster)++ | src/core/Array.pm:
Eager implementation of Array.splice.
21:21
kudo/master: 29b941d | (Solomon Foster)++ | src/core/Array.pm:
Tweak Array.splice to handle negative offset and/or size.
kudo/master: dc301e8 | (Solomon Foster)++ | t/spectest.data:
Turn on splice.t.
Coke Whiteknight: does your recent namespace thing impact TT#159?
(just noticed it in the dep.pod) 21:23
Whiteknight I have no idea. let me look 21:24
Coke: no. At least, not directly. Looks like a similar algorithm might be wanted in the Class PMC as what I put into the NameSpace PMC 21:25
dalek rrot: r44121 | coke++ | trunk/DEPRECATED.pod:
Remove link to ticket that was closed six months ago.
21:28
Whiteknight Coke: I think I'm going to close TT #159 21:29
the proposal expressed there was met with disapproval, and there aren't enough details to proceed
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#32247), fulltest) at r44120 - Ubuntu 9.10 amd64 (g++ with --optimize) 21:31
dalek kudo/master: 0d2009c | jonathan++ | src/ (11 files):
Refactor the meta-model to bring it in line with the earlier changes to metamodel.pod, and so things Akshually Work somewhat more like they should. Also should unblock fixing up introspection.
21:33
pmichaud Coke: yes, I think they're irrelevant. the old nqp is itself likely deprecated as a whole 21:36
dalek nxed: r408 | julian.notfound++ | trunk/examples/nqp.winxed:
example of nqp interoperability
21:37
TT #451 reopened by coke++: Anticipated changes to bytecode before 2.0 21:39
TT #895 reopened by coke++: Towards automatic allocation and deallocation of PMC attributes
21:42 nopaste joined
Coke pmichaud: if you like, I can open a ticket regarding old NQP, and add a note that anything under "ext/" is considered experimental. 21:42
(and 'wontfix any existing
pmichaud Coke: wfm
Coke (and 'wontfix' any existing NQP tickets)
k. 21:44
pmichaud there may be nqp tickets related to nqp-rx, those shouldn't be wontfixed 21:45
(I should probably see about setting up a github ticket queue and monitoring it)
dalek rrot: r44122 | coke++ | trunk/DEPRECATED.pod:
convert a raw TT into a link.
purl I don't know how to convert a raw TT to a link..
Coke pmichaud: in that case, perhaps I'll just assign them all to you. 21:46
cotto_work convert purl into something smarter
purl I don't know how to convert purl to something smarter.
cotto_work convert 1 mile into libraries of congress
purl I don't know how to convert 1 mile to libraries of congress.
Coke /should/ anything in ext/ be 'experimental' ? we are shipping a parrot-nqp...
I'll leave that for someone else to champion. 21:47
pmichaud I'm not sure ext/ means "experimental" -- I thought it was "external"
Coke it is. 21:50
but we have no tests to insure that things aren't getting updated in an incompatible fashion.
chromatic Parrot::Embed has tests. 21:51
Coke chromatic: ... for nqp-rx.
Whiteknight pmichaud: could you take one last look at TT #159? I'm thinking about closing it as being too vague and not putting forth an agreeable proposal, but I think there may be a nugget of a good idea in there as it pertains to the standardization of some opcodes
pmichaud Whiteknight: looking 21:53
Whiteknight: I think there's another more recent and detailed ticket on this topic 21:54
Whiteknight thanks
ok
pmichaud looking
Coke rant: 'make headerizer' should probably depend on all the C files it depends on. 21:56
dalek TT #1462 created by coke++: compilers/nqp
Coke ARG. 21:59
I am causing churn on DEPRECATED.pod, apologies.
will all be over soon.
there. 22:01
dalek rrot: r44123 | coke++ | trunk/DEPRECATED.pod:
NQP itself is deprecated; go for a single ticket instead of the individual ones*
22:02
rrot: r44124 | coke++ | trunk/DEPRECATED.pod:
Remove snippet that shouldn't haven't been committed.
rrot: r44125 | coke++ | trunk (2 files):
Close TT #1069 - remove deprecated function.
pmichaud Whiteknight: looks like it was decided that class lookups would always be relative to the current HLL namespace (TT #8, lists.parrot.org/pipermail/parrot-d...0863.html, TT #159 comment #3)
dalek nxed: r409 | julian.notfound++ | trunk/winxedst (2 files):
new predef elements
22:07
pmichaud so I think #159 can be marked as rsolved
*resolved
dalek kudo/master: f0da535 | jonathan++ | src/ (10 files):
Implement coercion ($x as Foo) in signature binding.
22:08
22:09 lucian joined, nbrown joined
Whiteknight ok, thanks 22:09
dalek nxed: r410 | julian.notfound++ | trunk/examples/packfile.winxed:
add example packfile for testing parrot pbc files usage via packfile PMCs
22:11
22:12 theory joined
dalek TT #1069 closed by coke++: Deprecate Parrot_oo_get_namespace 22:13
kudo/master: b517009 | pmichaud++ | src/builtins/Positional.pir:
Handle the case where a Position receives a single non-integer index.
22:14
kudo/master: db3f45a | pmichaud++ | src/ (10 files):
Merge branch 'master' of git@github.com:rakudo/rakudo
rrot: r44126 | coke++ | trunk/DEPRECATED.pod:
remove reference to explicit (overly hopeful) release #'s.
22:19
22:21 nbrown_ joined
darbelo pokes dalek 22:25
dalek kudo/master: a74f35a | jonathan++ | t/spectest.data:
Add S06-traits/as.t to spectest.data.
shockwave If a subroutine does not have a return statement, what is the return value of it? 22:29
dalek TT #1278 closed by darbelo++: remove MT19937 from stdlib 22:30
Whiteknight no return values
shockwave Whiteknight, so if one does: $P0 = foo()
one sec 22:31
dalek nxed: r411 | julian.notfound++ | trunk/examples/packfile.winxed:
improve output format of packfile example
dukeleto mj41++ for giving me access to an 8 core/8gb ram machine to run parrot benchmarks on. you rock!
cotto_work nice 22:32
cotto_work wishes he could do that with some of his work machines
nopaste "shockwave" at 76.119.137.239 pasted ".sub main :main $P0 = tmp() pr" (7 lines) at nopaste.snit.ch/19669
shockwave @Whiteknight: nopaste.snit.ch/19669 22:33
Are you sure it's not a null pmc?
chromatic Should be PMCNULL.
Not because the function returns anything, but because it returns nothing. 22:34
shockwave @chromatic, is that the same as: $P0 = new 'Null' ?
chromatic Basically.
shockwave Ok, I'll test for that (I'm creating some unit-tests for my compiler).
Thanks.
dalek rrot: r44127 | darbelo++ | trunk (7 files):
Remove the deprecated MT19937 library. This module lives on github now.
22:35
pmichaud testing for null is usually "isnull" 22:41
$I0 = isnull $P0
one can also get a null pmc via the 'null' opcode 22:42
shockwave pmichaud, yep, just finishing using the 'isnull' opcode.
pmichaud there's also the if_null and unless_null branching opcodes
shockwave Cool. That's good to know.
chromatic msg slavorg ops Austin_away 22:43
purl Message for slavorg stored.
chromatic msg slavorg help
purl Message for slavorg stored.
chromatic ahhh wrong bot
opbots: trust Austin_away 22:45
slavorg Ok
slavorgn But I don't trust you there, chromatic
chromatic opbots: trust fperrad
slavorg But I already trust fperrad
slavorgn But I don't trust you there, chromatic
darbelo opbots trust me
slavorg But I already trust me
slavorgn But I don't trust you there, darbelo
chromatic opbots: trust NotFound 22:46
slavorg But I already trust notfound
slavorgn But I don't trust you there, chromatic
chromatic opbots: trust plobsing
slavorg Ok
slavorgn But I don't trust you there, chromatic
chromatic Hm, some people it won't op.
NotFound Who trust the trusters?
darbelo opbot: trust NotFound 22:47
opbots: trust NotFound
slavorg But I already trust notfound
slavorgn But I don't trust you there, darbelo
22:51 joeri left 22:53 theory joined
dalek kudo/master: 324f561 | jonathan++ | (2 files):
Fix role introspection and turn S12-introspection/roles.t back on.
22:58
23:00 payload joined
Whiteknight shockwave: (sorry for the delayed response): I would expect that snippet of code to throw an argument mismatch exception 23:01
shockwave Whiteknight, there isn't an argument mismatch. 23:02
Whiteknight and if error-checking is turned off, I don't know what to expect. I suppose it should be undefined and probably some garbage value that was in the register beforehand
shockwave: I don't see how not. You have one positional result but no positional returns 23:03
shockwave Whiteknight: What does it have to do with arguments?
Or are you using 'argument' in a different context? 23:04
Anyhow, the return value seems to be null.
Whiteknight shockwave: Parrot uses "continuation passing style" for it's control flow. Function calls and function returns use the same mechanism internally
23:04 theory joined
Whiteknight internally, both are invocations, and both pass arguments 23:04
shockwave I got half of that. 23:05
What is the default value of error-checking, or or off? 23:06
Whiteknight it's not a concept common in most other structural proramming languages
I *believe* the error-checking should be on by default
shockwave by 'error-checking' we mean that errors throw exceptions, rather than return funky data, correct? 23:07
Whiteknight shockwave, yes 23:08
you know any C?
shockwave Yes, I know C.
chromatic I think the error checking is still off by default. 23:09
Whiteknight chromatic: how does one turn it on?
shockwave It's such a good feeling when you see your compiler spit out half decent code. 23:11
NotFound shockwave: What language is?
purl rumour has it language is horrifyingly verbose
shockwave NotFound, my own: 'Ink' 23:12
Whiteknight keeps trying to forget how much he hates this argument-passing code
part of me wants to calculate cyclomatic complexity here, part of me isn't interested in setting a personal best 23:13
shockwave lol
chromatic I hold out hope that swapping the order of the ops will let us simplify a lot of code. 23:15
Whiteknight chromatic: yes, I'm convinced it will
at the very least it will allow us to nuke either fill_params or fill_results 23:16
chromatic That, and we can store information we know at compile time so we're not forever recalculating it. 23:17
shockwave I'm all for the last thing chromatic mentioned. 23:18
I hear not recalculating stuff forever is good.
NotFound Is dalek asleep? 23:19
cotto_work He only wakes up every 5 or 10 minutes. 23:20
kthakore chromatic: hi
NotFound My last winxed commit was more than 15m ago. 23:21
kthakore How do I get parrot working on windows?
are there msi?
23:22 fperrad_ joined
shockwave kthakore, I'm working on Windows. I built it from source. 23:22
Tene sourceforge.net/projects/parrotwin32/files/ 23:23
kthakore shockwave: oh I have some co workers looking into parrot
darbelo shockwave: strawberry perl or msvc ?
NotFound The packfileannotation PMC lacks a way to obtain the value type of an annotation. This way you can only dump annotations of well known types.
kthakore oh thanks Tene
shockwave strawberry 23:24
purl it has been said that strawberry is a Perl for Windows that works just like Perl everywhere else. See win32.perl.org/wiki/index.php?title...berry_Perl or well where is RAWBERRY
Whiteknight chromatic: here's a gem for you: "./parrot -w"
causes a segfault
kthakore darbelo: um on strawberry perl works with parrot?
cotto_work Whiteknight, it only makes parror complain about a missing program name for me.
NotFound $ ./parrot -w
Missing program name
parrot -[acEGhprtvVwy.] [-d [FLAGS]] [-D [FLAGS]][-O [level]] [-R runcore] [-o FILE] <file>
cotto_work yeah, that 23:25
purl Sure, that.
Whiteknight so then what the hell is wrong on my system?
cotto_work reconfig?
Whiteknight yeah, I guess I'll try that 23:26
NotFound Both in i386 and amd64
darbelo kthakore: I was asking which toolchain he was using to build parrot. We support strawberry perl (and included gcc) or activestate perl with msvc. But we don't have a lot of people testing with msvc.
23:26 dalek joined
kthakore oh ok 23:26
dalek TT #159 closed by whiteknight++: named class/pmc lookup in pir syntax such as new, isa, subclass, ... 23:27
23:29 PerlJam joined, dukeleto joined, Coke joined
dalek nxed: r412 | julian.notfound++ | trunk/examples/packfile.winxed:
show fixup table and annotations in packfile example
23:29
23:29 pmichaud joined
NotFound Now I'm starting to have a useful packfile PMC test bed. 23:31
darbelo Infinoid: ping 23:32
Whiteknight cotto_work: yeah, a reconfig made that error go away, strangely 23:39
false alarm
plobsing darbelo: I'd like to hear any comments you might have about the tt362 branch 23:41
23:41 TonyC joined
darbelo plobsing: I'll check it out. 23:42
23:42 AndyA_ joined
Infinoid darbelo: pong 23:43
darbelo Infinoid: How long should it take dalek to notice a new module in the Modules section of the wiki ?
Infinoid darbelo: An hour or so. 23:44
23:44 AndyA_ joined
darbelo Hmm. Is there a way to check with dalek if a module got picked up? 23:45
Infinoid other than tailing its logfile, not really
it's not the most interactive of bots.
darbelo I'm realizing that.
Infinoid and ... somehow, I'm unable to resolve feather's hostname in DNS 23:46
Oh, feather appears to have died 10 minutes ago anyway. I'll wait. 23:47
darbelo If it ever comes back, could you check if I did anything wrong with the digest-dynpmcs entry on the wiki and let me know ? 23:49
Infinoid I think it should be fine. If it fails, that probably means the gitorious feed doesn't handle hyphens properly (that hasn't been tested yet) 23:53
23:53 PerlJam joined
darbelo Glad to provide a test-case ;) 23:54
23:54 dukeleto joined, pmichaud joined, dalek joined
darbelo I'm guessing feather's back ? 23:54
Infinoid darbelo: And it has your digest-dynpmcs project, too. I think it may have tried to emit some karma messages to the nonexistent channel while it was disconnected 23:55
so, darbelo++
23:56 Util joined
Infinoid Now go commit something :) 23:56
darbelo Infinoid: good to know.
dalek kudo/master: 1940345 | jonathan++ | src/metamodel/ClassHOW.pir:
More introspection fixes, to start getting .^parents and .^attributes back into shape.
kudo/master: 5e7d64c | jonathan++ | src/core/Mu.pm:
Quick tweak that gets signature unpacking of objects working again.
23:58 Coke joined