|
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 | |