Parrot 4.1.0 "Black-headed Parrot" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 28 February 2012.
whiteknight good evening, #parrot 00:05
00:08 bubaflub joined 00:18 whiteknight joined 00:36 benabik joined
dukeleto whiteknight: howdy 01:22
whiteknight hello dukeleto
03:11 alester joined
cotto ~~ 03:11
benabik ~~ 03:17
bacek_at_work aloha, humans 03:45
cotto hio bacek_at_work 03:48
aloha (parrot/parrot) Issues opened : 722 (Properties related VTABLEs are deprecated) by bacek : github.com/parrot/parrot/issues/722
bacek_at_work cotto, hello 03:50
cotto bacek_at_work, for gh #722, how bit of a patch would rakudo and nqp need? 04:05
bacek_at_work cotto, none. No one overrides props VTABLEs. And changing of props ops are in #351 04:06
cotto rakudo has at least one use of VTABLE_getprop (in src/binder/multimethod.c) 04:07
so that'll need a patch before those vtable slots can go away 04:08
6model does quite a bit more with it
benabik nqp has a variety of uses of VTABLE_{get,set}prop. 04:12
Would we just be removing the VTABLE in favor of non-overridable behavior?
cotto my understanding is that the ops would stay and the vtable slots would go away 04:13
so yes 04:14
benabik We could #define the VTABLES to refer to the function instead for a transition period.
Or whatever. 04:15
bacek_at_work yes. Idea is to provide non-overridable prop functions and get rid of vtables. Functionality will stay. 04:33
benabik Isn't that removing a layer of indirection? Isn't the solution _adding_ layers of indirection? ;-) 04:36
cotto Fine. We can throw in a couple extra pointer dereferences if it'll make you happy. 04:37
05:22 slavorg joined 05:25 woosley joined 05:50 johbar_work joined 06:37 woosley left 06:55 alvis_ joined 07:38 mj41 joined 07:49 alvis joined 08:06 PacoAir joined 08:29 davidfetter joined 08:55 alvis joined 10:18 fperrad joined
seme hi gentleman... can anyone give me a hand understanding how to integrate PIR with the grammar files? It is used by pynie to handle the python indentation requirements but I've been experimenting with it and I don't think it is working 11:45
I haven't been able to find much documentation or examples to show how this is used so perhaps if you could point me toward some I could try to understand it myself first :) 11:46
moritz I remember running into the same kind of problem 11:47
seme: are you using nqp-rx? 11:48
seme well I'm trying to take the work done on pynie and puffin and fit it into the structure and form that the squaak language uses... pynie has several functions to handle the indent issues in pir and it looks like it calls those in the Grammar.pm file... such as <.indent_zero> 11:49
it doesn't appear to be working though
I had to change it to {{ indent_zero }} synxtax just to get things to run/compile but it still doesn't appear to actually be calling the pir code 11:50
that may not have been the right thing to do
moritz which grammar engine do pynie and puffin use? 11:51
seme not sure what you mean... Pynie::Grammar is PCT::Grammar and it is written in the parrot grammar engine, PGE, I think. 11:52
is that what you mean?
moritz yes
it means it doesn't use the newer NQP-rx or NQP, with which I'm a bit familiar :/ 11:53
seme for instance the TOP token is written token TOP { <.indent_zero> <file_input> {*} }
I see... 11:54
right and the squaak tutorial is based on the HLL::Grammar... is that the same as the NQP-rx or NQP?
moritz that can be either NQP or NQP-rx (though I suspect it's the latter) 11:55
anyway, in the parrot repo, compilers/pge/PGE/Regex.pir has some examples that implement built-in rules in PIR 11:56
seme ooh I see... I didn't realize the distinction... hrm... the documentation is based on the PGE::Grammar and the squaak tutorial uses the HLL::Grammar :)
for a new language which grammar should be used? 11:58
moritz well, on the surface PGE, NQP and NQP-rx look quite familiar, because the all implement Perl 6 regexes to some degree
hm, good question 11:59
NQP-rx seems like an obvious choice, because it's much newer than PGE, and bundled with parrot
and NQP is also an obvious choice, because it comes with 6model, and that can be quite convenient if you want to implement your own object system 12:00
seme oddly enough the Actions are written (it would appear as nqp) and the grammar file gets parsed using the PGE/Perl6Grammar generator 12:04
ok I need to do some research now and get an understanding of the differences between the PGE/Perl6Grammar NQP-rx and NQP 12:05
the squaak tutorial appears to use the NQP-rx generator but in the doc is says it uses perl6 rules... 12:06
moritz yes, NQP-rx implements perl 6 rules
seme ok got it 12:07
and if you are using the PGE/Perl6Grammar generator is that then the same thing?
moritz well, it's only mostly the same on the surface 12:08
the conventions of how acall to a grammar rule maps to PIR is different between those implementations, I think 12:09
12:09 bluescreen joined 12:18 mj41 joined 12:25 bluescreen joined 12:28 davidfetter joined 12:56 bubaflub joined, JimmyZ joined 13:26 mtk joined 13:35 dngor_ joined, contingencyplan_ joined, contingencyplan joined 15:44 Psyche^ joined 16:30 alester joined 16:39 dngor joined
dukeleto ~~ 16:41
this looks like a useful general technique: mweissbacher.com/blog/2012/02/18/fi...rse-trees/ 17:02
17:04 dmalcolm joined
dalek Heuristic branch merge: pushed 98 commits to rakudo/match-refactor by jnthn 17:05
Heuristic branch merge: pushed 92 commits to parrot/m0 by leto 17:18
rrot/threads: 60efbf6 | nine++ | src/ (2 files):
Block GC while scheduling a task on another thread

Scheduling may cause the garbage collector to kick in. If we schedule on another thread, this would start the other interpreter's GC from the wrong thread where it would find foreign PMCs on the stack. A situation we really want to avoid.
17:51
dukeleto this looks interesting: swdc.se/dyncon2012/ 17:53
nine 2500 SEK entry fee 17:56
moritz so slightly more than 300€
dukeleto whoa 17:57
didn't see that
madness
moritz that's expensive-ish for an open source conference, but dead cheap for corporate conferences
dalek kudo/nom: 93104f1 | jnthn++ | src/ (5 files):
Only need multi handling stuff in Routine; don't make every other block pay the price of the few extra attributes.
kudo/nom: 99bc8b3 | jnthn++ | src/Perl6/Metamodel/BOOTSTRAP.pm:
Fix over-sharing of proto thunks, which caused mis-dispatches in some cases.
nine No info, just two sessions, one of which may be somewhat interesting. No idea why one should go there :) 17:59
18:02 dngor joined
moritz what I'd really like to visit is the "emergent languages" track on OSCON 18:02
ah wait, that was last year. This year they are part of "The Strange Loop" 18:03
oh, *emerging
emerginglangs.com/
18:03 travis-ci joined
travis-ci [travis-ci] parrot/parrot#87 (m0 - bae9ca3 : Jonathan "Duke" Leto): The build passed. 18:03
[travis-ci] Change view : github.com/parrot/parrot/compare/e......bae9ca3
[travis-ci] Build details : travis-ci.org/parrot/parrot/builds/781222
18:03 travis-ci left
dalek rrot/threads: f29b241 | nine++ | src/pmc/scheduler.pmc:
Keep a list of foreign tasks

We don't know if the user keeps references to the tasks he starts. So we have to assume he doesn't and do it ourselves.
18:12
kudo/nom: e46bfea | moritz++ | src/ (4 files):
Merge remote branch 'origin/match-refactor' into nom
18:13
Heuristic branch merge: pushed 150 commits to nqp/qbootstrap by jnthn 18:14
nine Any idea why my parrot would not start in gcc? paste.scsys.co.uk/184893 18:20
tadzik huh, you didn't really mean gdb, did you? 18:21
Coke what is gcc? I assume it's not the gnu c compiler...
nine ah gdb of course
classic ENOCOFFEE
Surprisingly gdb likes the executable much more 18:22
dalek kudo/nom: c3b4d54 | moritz++ | t/spectest.data:
run operator overloading workout.t
18:38
cotto ~~ 18:43
dalek kudo/nom: b6c09b4 | moritz++ | t/spectest.data:
run S06-operator-overloading/imported-subs.t
18:47
alvis cotto: hello. when i try to install the parrotbug_service module, i get: 19:07
cotto: "parrotbug API resource This version is not compatible with Drupal 7.x and should be replaced".
cotto alvis: ok. 19:08
alvis cotto: any ideas?
cotto I think that's because I haven't tested it with drupal 7 yet
alvis cotto: ah, ok.
cotto: i'll reinstall 6 and try that over the weekend. 19:09
cotto alvis: no need. we'll be running on 7 on parrot.org
19:09 mj41 joined
alvis cotto: ok, i'll try fiddlin' with it (without much success i'm sure :) 'til i hear further from you. 19:11
cotto I should have a few spare tuits today
alvis great! just let me know then. 19:12
19:12 PacoAir joined
dalek kudo/nom: ced04f7 | (Felix Herrmann)++ | / (2 files):
enable Configure.pl to pass options to Parrot's make
19:50
kudo/nom: d4dc7d7 | moritz++ | src/Perl6/Grammar.pm:
fix regression introduced in 6588dd39, fixes bug #111492
cotto alvis: I have the code semi-working but there seems to be a permission issue that I don't have time to dive into until tonight 19:52
20:35 pjcj joined
cotto alvis: parrotbug-service is working on drupal 7 now (though not on 6) 21:23
you'll need to grant anonymous users the permission to use the parrotbug service to create github issues and to configure the various settings under Configuration -> parrotbug service 21:24
POSTing something like {"title":"bug test","body":"issue body"} to your-site/api/parrotbug should be enough to post a test issue 21:28
once the Services endpoint is set up and has the parrotbug resource enabled 21:30
21:44 perlite_ joined
dalek kudo/macros3: fca3907 | masak++ | / (7 files):
implemented quasi quotes and macros

This works:
  - Macro declarations
  - Calling a macro (using `macro()` and `macro` and operators)
  - Quasi quotes
  - Variable lookup from within the quasi quote
This doesn't, yet:
  - Returning a macro parameter instead of a quasi
  - Variable lookup from within a macro parameter
22:20
kudo/nom: dc6b0ef | jnthn++ | src/Perl6/Actions.pm:
For sub-signatures using [...] we should constrain to Positional.
22:27
kudo/nom: 79c8e19 | jnthn++ | src/Perl6/Actions.pm:
Fix the do-we-have-a-subsig test so it doesn't drop 0-arity subsignatures.
kudo/nom: 4f62718 | jnthn++ | src/core/traits.pm:
Eliminate old hack from the bad old days when we ran traits again at startup.
22:40
kudo/nom: 715aed6 | jnthn++ | src/core/operators.pm:
Fix ::('blah') lookups to also fall back to GLOBAL (tadzik++ for noting the bug).
23:08
23:09 mj41 joined
cotto alvis: all changed needed for parrotbug-service to work with drupal 7 have been pushed 23:11
23:34 whiteknight joined
whiteknight good evening, #parrot 23:43