Parrot 3.7.0 "Wanda" | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 6 September 2011.
00:00 rfw joined 00:01 plobsing_ joined 00:10 wagle joined 00:16 patspam joined 00:44 gbacon joined 02:15 kj joined
dalek rrot: c274632 | jkeenan++ | / (2 files):
Create tools/dev/resubmit_smolder.pl, then create new 'make' target
02:23
soh_cah_toa msg kid51 are you still getting test failures on whiteknight/kill_threads? or was it another branch? 02:32
aloha OK. I'll deliver the message.
soh_cah_toa msg whiteknight is there much more work to be done on the whiteknight/kill_threads branch? when do you see it being ready for the merge? 02:39
aloha OK. I'll deliver the message.
03:02 jsut joined 03:15 Coke joined 03:21 Coke joined 03:28 Coke joined 03:43 Coke joined 04:26 Coke joined 04:29 jsut_ joined
cotto It's nice to see that there's a medium-length wiki page explaining nanojit. 04:36
plobsing_ cotto: linky? 04:38
cotto plobsing_, developer.mozilla.org/En/Nanojit 04:41
as always, it's no substitute for reading the source 04:43
plobsing_ heh, that's my motto - "docs lie, RTFS" 04:46
sorear compilers are buggy, RTFB 04:49
plobsing_ I do, from time to time. 04:50
cotto acm-- 05:06
benabik ? 05:10
05:12 nbrown joined
cotto I don't want to pay for a paper from 1991 that they didn't help to write. 05:13
fortunately a postscript version is available for $0 from another site 05:14
dalek rrot: b042a82 | plobsing++ | include/parrot/interpreter.h:
kill unused struct
05:16
rrot: 0ab106f | plobsing++ | / (2 files):
kill unused, dangerously encapsulation-breaking function
rrot: 65669fd | plobsing++ | / (13 files):
kill interp->current_pf

interp->current_pf and interp->code are not independant pieces of execution context data - both are used to indicate the code we are currently running. When these become de-synched (example: TT #2191), strange things happen.
Whenever interp->current_pf would have been used, use Parrot_pf_{get,set}_current_packfile(), which now operates using interp->code.
rrot: 91bf027 | plobsing++ | include/parrot/packfile.h:
[codingstd] c_arg_assert
rrot: 27a1525 | plobsing++ | src/gc/fixed_allocator.c:
[codingstd] linelength
plobsing_ how do I tell track something is a reference to a git commit? 05:21
cotto plobsing_, the github trac plugin requires some kind of vcs to be enabled. 05:23
plobsing_ so the short answer is "you don't"
cotto lemme check if I can fix that on my own or need to talk to osuosl
It's irritated me too.
plobsing_ what good is track if it doesn't integrate with the repo?
isn't that the *entire* point? 05:24
cotto a big part of it, yes
sorear didn't we set up an empty svn repo a while ago? 05:25
or did we just talk about doing that
plobsing_ sleeps
cotto just talk, I think 05:26
06:50 contingencyplan joined 07:22 jsut joined 07:32 AzureSto_ joined 07:49 Administrator joined
cotto aloha, aloha? 08:10
aloha cotto: aloha is simple Bot::BasicBot::Pluggable hosted on github.com/bacek/aloha
08:23 mj41 joined 10:49 JimmyZ joined 10:55 whiteknight joined
whiteknight plobsing++ 11:21
11:35 Psyche^ joined, gbacon joined 12:00 schmooster joined
dalek rrot-linear-algebra: 1972d9d | Whiteknight++ | t/pir-subclass/ (3 files):
PIR tests need a :main sub, to work with TestFile.PIR from Rosella (uses PackfileView.main_sub)
12:12
sella: bf1bc9d | Whiteknight++ | src/ (3 files):
When capturing output,make sure to switch back to the parent handles when trying to handle errors and output debug info. Fixes so we run properly.
12:14
12:22 Drossel joined 12:28 ambs joined, Coke joined
whiteknight hmmm....printing "\\b" from Parrot doesn't seem to work as expected 12:40
dalek kudo/nom: a3d7c53 | jonathan++ | src/Perl6/ (2 files):
Refactor to ensure we'll be able to tell which parametric role was picked once we get there from a multi-dispatch.
12:42
kudo/nom: 3c62969 | jonathan++ | src/Perl6/Metamodel/ParametricRoleGroupHOW.pm:
Get ParametricRoleGroupHOW's specialize method in shape.
whiteknight blah, that bugs the hell out of me 12:58
12:58 Coke joined
whiteknight oh, nevermind. it looks like it does work, just not when I was looking at it 13:04
dalek sella: 2c3f54a | Whiteknight++ | src/harness/ (4 files):
update the view to show test counts for long-running tests
13:11
TT #2191 closed by whiteknight++: Problems with IMCCompiler PMC 13:22
TT #2191: trac.parrot.org/parrot/ticket/2191
benabik o/ 14:01
14:31 davidfetter joined 14:47 Coke joined 15:04 Coke joined 15:06 patspam joined 15:13 Hackbinary joined 15:16 Coke joined 15:22 Coke joined 15:32 rurban joined
dalek kudo/nom: b2e3176 | jonathan++ | src/ops/perl6.ops:
Documentation fix.
15:35
kudo/nom: 056cf10 | jonathan++ | src/Perl6/Metamodel/ (2 files):
Fix up handling of how protos are created for the role selection multi-dispatch.
kudo/nom: 8b57bb2 | jonathan++ | src/Perl6/Metamodel/ParametricRoleHOW.pm:
Make parametric roles able to know about any shortname grouping they belong to (not set up yet, just the storage for it).
kudo/nom: da541a6 | jonathan++ | src/Perl6/ (2 files):
Stub in code to add a role to its group at composition time, if needed.
kudo/nom: c0eae8c | jonathan++ | src/Perl6/Actions.pm:
Correct method call.
kudo/nom: 9d3a2c8 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Fix thinko in selector creation code.
kudo/nom: 6dbbf34 | jonathan++ | src/Perl6/SymbolTable.pm:
Pass group parameter along when creating a meta-object.
15:36 Coke joined 15:48 Coke joined 16:04 Coke joined
dalek kudo/nom: 6238f80 | jonathan++ | src/Perl6/Metamodel/ParametricRoleGroupHOW.pm:
Various corrections to the role group meta-object.
16:05
kudo/nom: 02ee1c4 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Be sure to configure stashing for parametric roles.
16:06
Hackbinary ld 17:04
plobsing_ ld: no input files 17:13
dalek kudo/nom: 3b6cd2b | jonathan++ | src/Perl6/ (3 files):
Allow flagging of signatured roles.
17:16
kudo/nom: 7399cd6 | jonathan++ | src/Perl6/Metamodel/ (2 files):
Fill out more missing bits in ParametricRoleGroupHOW.
kudo/nom: e259b60 | jonathan++ | src/Perl6/Grammar.pm:
Switch role handling over to a model that allows multiple definitions of a role with the same short name, and using multiple dispatch over the role signatures to decide which to use.
kudo/nom: 2fd2d26 | jonathan++ | NOMMAP.markdown:
Update nommap.
rrot-libgit2: d10fa94 | dukeleto++ | / (2 files):
Correct the structview representation of a Git2::Index, get test closer to passing
17:30
rrot-libgit2: 44de608 | dukeleto++ | t/winxed/001_load.t:
Improve git_repository_index test
dukeleto msg whiteknight i just tried to use Rosella master and stuff went wonky: github.com/Whiteknight/Rosella/issues/23 . Is there a tag of Rosella I should be using? 17:33
aloha OK. I'll deliver the message.
patspam do I need edit rights to modify trac.parrot.org pages? 17:44
spotted a typo on wiki/ConvertTestsToParrot 17:47
17:50 patspam joined
dalek kudo/nom: 2b13fe4 | masak++ | src/core/IO.pm:
[src/core/IO.pl] lazily open things before .get

This is to make something like "README".IO.lines work. It worked in Beijing.
17:52
17:59 mikehh_ joined 18:02 patspam_ joined
plobsing_ dukeleto: looking at parrot-libgit2, I see two things that are incorrect. (1) Git2.Index lists the wrong number of elements in the structview (got: 3, expected: 7). To avoid this problem in the future, perhaps the structview initializer should validate the lenght exactly (it currently only validates against the "too short" case), or infer it from the initializer's length. 18:06
18:09 contingencyplan joined
plobsing_ (2) you are treating structviews like they are the objects whose structure they represent. they are not these. they are more akin to classes. You need to sv.alloc() to get something pointer-like. structviews represent the structure only, not the data. 18:10
dukeleto plobsing_: i originally had only 3 things in the struct, but I just updated the number to be correct 18:11
plobsing_: yes, i knew that i was not using them correctly, but didn't know exactly how to modify them so that they could be passed back to libgit2 functions 18:12
plobsing_: i appreciate all your help with parrot-libgit2, as well
plobsing_ the worst thing about misusing structviews as pointers, is parrot will let you do it, because default.pmc implements vtable get_pointer 18:13
dukeleto plobsing_: so i can call sv.alloc() to get a pointer to the StructView that I can pass to C functions? Anything else I need to know?
plobsing_ and then there were segfaults
dukeleto: you call sv.alloc() to get a PtrBuf which is at least large enough to hold a struct as described by the structview
one structview can be used to look into any amount of actual structs 18:14
I disagree with the terminology "a pointer to the StructView"
it is more like "an instance of" 18:16
18:17 patspam joined
plobsing_ t/pmc/structview.t is an example of how structviews and their derived buffers interoperate 18:19
dalek kudo/nom: 6da1f55 | jonathan++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
If an attribute has a build closure, we should always consider it as needing generic instantiation, since it may reference role arguments.
18:24
kudo/nom: c994628 | jonathan++ | t/spectest.data:
We now pass S14-roles/parameterized-basic.t.
kudo/nom: cb570dd | jonathan++ | src/Perl6/Actions.pm:
Fix thinko.
plobsing_ dukeleto: it isn't all that important, but I would try to treat the structviews you have as singletons, since you don't really need more than 1 of each. this is what I tried to do in parrot-zeromq
18:30 mikehh_ joined 18:34 whiteknight joined 18:35 mikehh_ joined, whiteknight joined
dalek sella/harness_test: 0477a0e | Whiteknight++ | src/unstable/utilities/test_all_lib.winxed:
Fixes so test_all_lib builds and runs. Add in a language argument. Add in a help/usage message. Some fixes to the way we do namespaces->folder mapping
18:38
sella/harness_test: 41fde70 | Whiteknight++ | rosella/data/templates/test_ns.nqp.template:
add in a template file to create NQP tests for subs in a namespace
sella/harness_test: 33a999e | Whiteknight++ | t/tap_harness/ (5 files):
remove old stub tests for Harness
sella/harness_test: 94a9b33 | Whiteknight++ | t/tap_harness/Harness (13 files):
Add in auto-generated tests for Harness
sella/harness_test: 10c0814 | Whiteknight++ | / (2 files):
Harness.default_view -> Harness.view(). Add ability to set a view. Add an ability to set the testrun factory. other cleanups
sella/harness_test: 28a8b91 | Whiteknight++ | src/harness/ (2 files):
start cleaning up and commenting Harness and View
sella: 0477a0e | Whiteknight++ | src/unstable/utilities/test_all_lib.winxed:
Fixes so test_all_lib builds and runs. Add in a language argument. Add in a help/usage message. Some fixes to the way we do namespaces->folder mapping
sella: 41fde70 | Whiteknight++ | rosella/data/templates/test_ns.nqp.template:
add in a template file to create NQP tests for subs in a namespace
sella: 33a999e | Whiteknight++ | t/tap_harness/ (5 files):
remove old stub tests for Harness
18:43 fperrad joined
dalek sella: cb97d31 | Whiteknight++ | t/harness:
Don't try to run tests for Harness. We don't have any rght now
18:44
whiteknight dukeleto: ping
18:53 mikehh__ joined 18:59 soh_cah_toa joined 19:20 mikehh joined
NotFound <plobsing_> the worst thing about misusing structviews as pointers, is parrot will let you do it, because default.pmc implements vtable get_pointer --> If the default isn't appropiate, we can override it. 19:26
dalek kudo/nom: 3da8879 | jonathan++ | src/Perl6/Actions.pm:
Fix R[R2[Foo]] style role parameterizations.
19:27
plobsing_ NotFound: the problem is that the default is not appropriate for any type
the default should be "error: this type doesn't meaningfully implement pointer functionality" 19:28
in stead of pretending otherwise
I'm putting together a branch and an rfc
NotFound plobsing_: that may need some discusion and a deprecation cycle.
Ah, well. 19:29
19:29 jsut_ joined
whiteknight +1 from me, I think 19:29
NotFound But if the issue is already confusing users, setting it in StructView can be helpful in the meantime. 19:31
plobsing_ NotFound: sure, that's a high-profile one. but are we going to set every PMC up to do that? our own testsuite treats RPA and Integer as if they could be pointer-like (even though they aren't). 19:33
19:34 patspam joined
NotFound plobsing_: I think that may be used by the sort functions. 19:35
plobsing_ which sort functions? 19:36
NotFound Parrot_util_quicksort and its helpers. 19:37
plobsing_ I don't see any get_pointer calls in that file 19:38
NotFound Looks like not. Either it was changed or I was fooling myself. 19:40
plobsing_ sort does not show up as a failure when I remove default.get_pointer 19:43
dalek rrot/kill-useless-defaults: 56c1ce0 | plobsing++ | src/pmc/default.pmc:
eliminate default.get_pointer()

this vtable papered over the fact that most PMCs aren't intended to be treated like pointers. If it wasn't intended, it probably isn't a good idea...
19:44
whiteknight plobsing++ 19:45
19:58 Coke joined 20:02 patspam joined
dalek kudo/nom: 119eef2 | jonathan++ | src/Perl6/ (2 files):
Handle 'Glass of Beer' style type names.
20:03
kudo/nom: d617c32 | jonathan++ | t/spectest.data:
We now pass S14-roles/parameterized-type.t.
20:07 zby_home joined 20:20 soh_cah_toa_ joined 20:21 AzureStone joined
dalek kudo/nom: 025b5a6 | jonathan++ | src/core/traits.pm:
Implement 'is default' trait for routines.
20:22
kudo/nom: 90a619c | jonathan++ | t/spectest.data:
We now pass S12-methods/default-trait.t.
20:29 donaldh joined 20:41 patspam joined 21:02 donaldh joined 21:43 mj41 joined 22:00 particle joined 22:08 Coke joined
dalek nxed: a1b0002 | NotFound++ | / (3 files):
update NEWS and installable files
22:50
22:57 PacoLinux_ joined
dalek rrot: 7e2fbb1 | NotFound++ | ext/winxed/ (2 files):
update winxed snapshot to a1b000203c:

  - --debug option, __DEBUG__ predefined constant and __ASSERT__ builtin
  - Minor fixes
22:58
whiteknight NotFound++ 23:04
23:15 patspam joined
NotFound Uh.... there is a problem with the tailcall fix: now it doesn't tailcall main_sub in parrot frontend. 23:26
whiteknight what do you mean? 23:31
tailcall fix in Parrot or in winxed 23:32
NotFound winxed now avoid tailcall optimization inside try blocks to keep the handler active. __PARROT_ENTRY_MAIN__ does "return main_sub(prog_args);" inside a try block.
whiteknight ok 23:33
we can hand-edit the PIR file 23:34
NotFound And thus: not ok 32 - user-level backtraces the same as automatically generated backtraces
whiteknight Can we add syntax to the return to force tailcall? 23:35
either "tailcall main_sub()" or "return[tailcall] main_sub()"?
23:37 bluescreen joined
NotFound whiteknight: I tought about that, but I was hoping to not have any compelling use need for that. 23:39
whiteknight In the short-term we may need to hand-edit the PIR code 23:40
in the longer term, we may need to start implementing some of the new PIR ops I've been thinking about, and use the ops directly with ${ } sytax
syntax
NotFound Looks like moving the call out of the block can be enough... 23:41
whiteknight it is ugly, but the frontend is a special case
we need the main_sub to execute inside the handler
NotFound Why? It wasn't doing it, the handler got discarded by the tailcall. 23:42
With that change, t/op/exceptions.t pass again 23:43
whiteknight oh, darn
well, we *do* want an exception handler there eventually 23:44
but if the workaround is good enough, we can comment it out
NotFound Both the former way and the fix are inconsistent: init_sub are called with the handler, and main_sub without. 23:45
If we want to filter that sub from backtrace, we must fo it in a lower parrot level. 23:46
Maybe a Sub modifier for that task can be appropiate. 23:48
Another prt0 thing: PIR is always compreg'ed, even if not used. 23:49
whiteknight NotFound: that's the way it always was. Look in frontend/parrot/main.c. IMCC is always available when you use parrot.exe 23:50
NotFound whiteknight: that wasn't going to be removed? 23:52
whiteknight not in the frontend, only in libparrot
parrot.exe *is* libparrot+PIR
other frontends might be different things 23:53
NotFound Mmm.... but that compreg is not what triggers the load, isn't it? 23:54
whiteknight no, it's loaded in the C code 23:58