Parrot 3.7.0 "Wanda" | parrot.org | Log: irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 25 August 2011.
00:37 whiteknight joined
whiteknight good evening, #parrot 00:41
soh_cah_toa whiteknight: howdy 00:42
whiteknight hello soh_cah_toa 00:45
benabik o/ whiteknight soh_cah_toa 00:46
soh_cah_toa whiteknight: you saw my message the other day? what should be done next for podds? formerly known as odius ;) 00:47
00:49 plobsing joined
whiteknight soh_cah_toa: I don't know. You're in charge of it, right? 00:49
soh_cah_toa i guess but you're the mastermind ;) 00:51
i mean, do we integerate into imcc? how do you actually write the data into bytecode
whiteknight soh_cah_toa: We have the new segments, and we have the routines to pack and unpack it 00:52
so I guess what we need now are API routines to read and write the data to the PackFile* structure
soh_cah_toa alright, so then the question is: when to they get called?
whiteknight they get called automatically, so that part is done
soh_cah_toa oh, ok
whiteknight but there is no data in that segment. So we need API routines to put data in, and then read data out to prove that the pack/unpack routines work
then, we build out from there 00:53
Once we have the API routines, then we can probably add a PMC type to start working with those segments from PIR 00:54
then we can start making tests
soh_cah_toa so where do those routines go? as in, what files? c? pir? 00:57
whiteknight depends how many we want. If it's not a huge number, we can probably jam it into src/packfile/api.c. If we want a bunch of routines, maybe a new src/packfile/debug.c or something like that 00:58
somewhere in src/packfile*, is the gist of it 01:00
soh_cah_toa alright
whiteknight once we get the API routines built up and exposed through PIR we can start writing tests 01:03
so that will be checkpoint number one 01:04
soh_cah_toa ok
whiteknight At that point, once we have that much done and we can write basic tests, we can merge to master 01:05
then, we upgrade IMCC to use the API to write debugging data to the packfile. Write more tests, merge again, checkpoint 2 01:06
sound like a reasonable plan?
soh_cah_toa yessir :) 01:07
01:12 woosley joined
whiteknight I need to get this pmc_is_ptr branch merged. I guess tomorrow we can do it if there are plenty of tests 01:12
and I need to play with 6model more
but if you can get things moving with the podds stuff, I can definitely get into that 01:13
soh_cah_toa good
01:23 wayland76 joined
dalek rrot/soh-cah-toa/podds: 73398fd | soh_cah_toa++ | / (2 files):
Added functions for reading/writing DDE's.
01:47
01:53 wayland76 left
dalek rrot/soh-cah-toa/podds: d4ba40a | soh_cah_toa++ | / (2 files):
Fixed return type of Parrot_pf_podds_read_dde() so it's a PackFile_Podds_DDE *.
01:59
cotto ~~ 03:06
03:44 particle joined 04:05 fperrad joined 04:40 plobsing joined 04:41 perlite joined 06:06 plobsing joined 07:03 nbrown joined 07:38 not_gerd joined
not_gerd hello, #parrot 07:38
msg whiteknight I think I found some bugs in your pmc_is_ptr pull request (see comments) 07:40
aloha OK. I'll deliver the message.
07:57 lucian joined 08:53 contingencyplan joined 08:56 preflex joined 09:00 not_gerd joined
not_gerd msg whiteknight sent a pull request with the buxfixes, including some changes to correctly track sizes of arenas < 4kb 09:01
aloha OK. I'll deliver the message.
jnthn huh, the minimum arena alloc is 4kb...anything smaller gets rounded up, I thought 09:06
tadzik oh, jnthn, where did your tail go? :) 09:13
jnthn my ogon is gone :P 09:15
tadzik (:
09:23 dod joined 09:24 SHODAN joined 09:43 woosley left 10:34 whiteknight joined
whiteknight good morning, #parrot 11:01
tadzik good morning whiteknight 11:02
whiteknight hello tadzik 11:14
11:38 JimmyZ joined
mls good afternoon! 11:40
JimmyZ mls: good afternoon ! 11:41
moritz \\o
tadzik hello mls
mls JimmyZ: thanks for applying my invoke patch!
JimmyZ mls: you're welcome, actually, parrot needs more love 11:43
moritz is disappointed by docs.parrot.org 12:02
I was looking for the docs for the 'spawn' opcode
so I found docs.parrot.org/parrot/latest/html/ops.html
and opened all the links that looked like they might fit 12:03
and then did an in-page search for spawn
and found... nothing
oh, because I was looking for I/O, not system interaction 12:04
so, my fault, forget it
12:06 not_gerd joined
not_gerd (back again) 12:06
whiteknight: ping 12:07
whiteknight pong
I got your message and saw your commit
not_gerd the missing conversion to char* is an actual bug
without it, arena sizes are too big by a factor of sizeof (Pool_Allocator_Arena) 12:08
worst case, you might keep the wrong arena live... 12:09
12:45 JimmyZ_ joined
whiteknight I'm going to try to get that branch merged today, and I'll bring in your changes at the same time too 12:52
not_gerd jnthn: re arena alloc size - total_size will be adjusted, but not item_space 13:00
jnthn: if I understand the code correctly, you actually won't put any objects into the remaining memory 13:01
jnthn: I don't really know why the adjustment is there, but it might have something to do with avoiding fragmentation and/or reuse of reclaimed arenas...
JimmyZ wonders if there is any improvement with the new changes 13:03
13:04 redicaps joined
whiteknight wonders why the FileHandle PMC doesn't have a readline method 13:08
it has a readline_interactive method
not_gerd JimmyZ: probably not - performance might be slightly worse because if you assume that arenas are bigger than they actually are, false positives will terminate the loop early... 13:09
JimmyZ: however, more accurate checks are better for memory consumption
JimmyZ agrees with not_gerd 13:12
13:32 bluescreen joined 13:39 PacoLinux_ joined 13:46 JimmyZ_ joined
moritz seen dukeleto 13:48
aloha dukeleto was last seen in #parrot 2 days 21 hours ago saying "can't we say "we don't support this implementation of this subsystem anymore", work on the replacement, and delete the old one when we have a viable replacement?".
dalek nxed: 4bf4422 | NotFound++ | winxedst1.winxed:
fix new - HLL for qualified class specifiers and extend it to non qualified names
13:51
nxed: 2d0db1c | NotFound++ | winxedst1.winxed:
fix conditional operator case of non var : var operands
14:01
kudo/nom: f34aa80 | moritz++ | src/core/control.pm:
rename &run to &shell

It should have been that way for quite some time, according to the spec. Add a stub &run to ease the transition
14:12
nxed: 0a99188 | NotFound++ | winxedst1.winxed:
fix and simplify ConcatString, was failing is some "r = ... + r + ..." cases
14:26 redicaps joined
dalek nxed: 6f77baf | NotFound++ | winxedst1.winxed:
fix "extern function" for HLL usages
14:37
NotFound whiteknight: ping 14:38
whiteknight pong
plobsing ~~
NotFound whiteknight: these last fixes will probably cover your HLL usages.
whiteknight NotFound: I have to take a look at the last one 14:39
plobsing mls: ping
whiteknight okay, that last one only works if I forward-declare my functions? I can't look them up dynamically?
NotFound whiteknight: the idea is to encourage usages via declarations. 14:40
That way will get more oportunities for optimizations. 14:41
14:42 logie joined
NotFound For dynamic lookups, I think it can be done via namespaces, this will need another fix. 14:43
mls plobsing: hi! 14:45
14:45 nbrown joined
plobsing mls: I was playing around trying to annotate get_params, and I noticed the trace core shows the annotations properly for '.annotate ...\\n.param' 14:46
mls You mean .annotate before .param? I tried that, but compilation failed for me 14:47
I think multis don't work
checking...
plobsing (I was playing around with inserting a nop to annotate before the params)
NotFound Last time I tried, annotate before params worked for functions but not for methods, because of the automatically generated param for 'self'. 14:48
plobsing that may well be 14:49
moritz that is... urks.
plobsing the solution for that is simply "don't use :method"
or "use an explicit :invocant param" 14:50
jnthn Nothing in new nqp or Rakudo nom uses :method, fwiw. So I guess it's other stuff.
mls hmm, moving the annotations right after the sub suddenly works for me. I wonder what was different on Friday... 14:54
IIRC it was some error message about self, I wonder why I can't reproduce it now 14:56
(those are :method subs)
whiteknight plobsing: do we support :invocant? 14:57
I don't think that ever got implemented
NotFound mls: The sub you are testing has paams? 14:58
mls yes.
Hmm, strange, pbc_dump now shows to get_params in a row...
two
14:59 Coke joined
mls I liked the error message better ;) 14:59
plobsing whiteknight: I've not looked at how :invocant works, but the way :method works, explict :invocant is *supposed* to suppress implicit invocant generation 15:00
whiteknight plobsing: that's the theory, yes. I don't think it ever got implemented. I think it's just a wish in a PDD somewhere 15:01
plobsing urg PDDs. what we need are "Parrot Totally Synchronized Documents". but with a better acronym, and enforced by chainsaw. 15:02
mls error message or not, having a .annotate betwen .sub and .param breaks something 15:03
plobsing mls: *two* get_params?
NotFound Not using :method, using an explicit .param pmc self and adding it to the class object via 'add_method' works, but the line annotation doesn't seem to work right.
plobsing mls: can you give me a golfed example? 15:04
NotFound No, I was looking at the wrong output, the line is correct.
plobsing whiteknight: you're right, :invocant does not get past the parser. 15:07
nopaste "NotFound" at 192.168.1.3 pasted "annotate param test" (32 lines) at nopaste.snit.ch/78165 15:08
NotFound plobsing: the annotation sepaates the automatically generated self param from the user params, that gives two blocks. 15:12
mls plobsing: compiling somthing as simple as gist.github.com/1195207 will also show it 15:14
seen cotto 15:17
aloha cotto was last seen in #parrot 12 hours 11 mins ago saying "~~".
15:36 redicaps left 15:38 benabik joined
benabik o/ 15:38
class & 15:54
15:59 darbelo joined
plobsing mls: that's because :method inserts a .param at the start of the sub. only *contiguous* sequences of .param statements map to a single get_params statement. 16:45
some code needs multiple get_params in a single sub. coroutines for example.
16:57 zby_home joined
mls plobsing: so no annotations for the first op of a method... 17:04
plobsing mls: no annotations for the automatically inserted .param, no 17:06
but :method is a bad idea anyways
at least the current semantic
17:07 fperrad joined
mls my profiler searches for the first annotation anyway, so I don't mind much 17:07
(I don't like that I have to access annotation internals, though) 17:08
plobsing mls: your profiler breaks encapsulation and will be modified before it stands a chance of getting merged
mls oh, I know that 17:09
plobsing another thing that I noticed about the profiler: even though it is a sub profiler, it checks the tick counter every op. is that intentional? 17:12
mls no, I just fixed that
it's from a time where it profiled every op
when
At some time in the future, it should be changed to profile annotation segments 17:13
but op lever probably doesn't make much sense
plobsing we do want 3 levels of profiler - op, line, and sub 17:14
mls Maybe the user should specify which level, sub, annotation, op
line meaning annotation/debug segment?
plobsing mls: yes, whatever the HLL specifies as the same line
which will probably map to multiple ops 17:15
but not a full sub, obviously
mls right. That shouldn't be very hard to implement
Maybe I have some spare time the next days...
plobsing probably not. but coarser grained profilers shouldn't be checking the cycle counter as frequently 17:16
mls yes, of course
plobsing I'm thinking we should have multiple runcores implementing each of the profiling levels
sharing a lot of code of course
mls for now I'll stay with one runcore for my branch, makes it easier to try things out 17:17
But yes, we'll probably end up with three runcores 17:18
btw, can I get write access for my branch? My gethup id is "mlschroe". 17:19
hub 17:20
argh. github ;)
tadzik I thought the typo was intentional :P
plobsing mls: I'm not sure I have the permissions to do that, and what the policy is around giving any write access to non-CLA developpers. 17:21
the easiest would be to sign and send in a CLA, and get added as a full parrot dev. I'm sure there's enough people to vouch for you at this point. 17:22
mls (I can also setup my own branch and send pull requests. no big deal.)
plobsing setting up your own branch is probably a good short-term solution 17:23
mls ok, will do. thanks.
plobsing aloha: cla?
aloha plobsing: cla is www.parrot.org/sites/www.parrot.org...ot_cla.pdf
mls (reading it right now) 17:24
plobsing sorry for the legaleze. it is regrettably necessary. 17:25
mls seems like I have to ask my employer. I don't expect any problems, though. 17:26
17:26 contingencyplan joined
mls but let's do pull requests first ;) 17:26
plobsing sure 17:27
mls (Though you probably need my cla before you accept any pull request, no?)
plobsing the employer thing is for people who (a) signed over rights to all software they create or (b) contribute from work
mls: I'm not certain of the specifics, but it is generally good to have 17:28
mls ok. thanks again.
afk -> home 17:30
dalek nxed: 4ad5ed3 | NotFound++ | winxedst1.winxed:
fix namespace operator for HLLs
17:32
cotto good morning 17:45
d'oh. missed mls
18:06 benabik joined 18:22 benabik joined 18:24 benabik joined
dalek sella/harness_3: cf9342a | Whiteknight++ | / (5 files):
Add in an Automatic testfile type that reads the shebang line to determine how to execute the file
18:31
sella/harness_3: 1167b89 | Whiteknight++ | t/query/Queryable.t:
+test for Queryable.flatten
sella/harness_3: 58d2ad3 | Whiteknight++ | / (3 files):
setup the Automatic TestFile as the default. Add some error-checking
sella/harness_3: 9083278 | Whiteknight++ | src/ (3 files):
Add an .append() method to Queryable, to join two arrays together.
sella/harness_3: 8db060c | Whiteknight++ | t/query/Queryable.t:
+Test for .append()
sella/harness_3: d1d8942 | Whiteknight++ | src/ (12 files):
Add some methods to Rosella.IO to capture output and execute pipes. Add a method to read the top n lines from a file. Use these things to clean up Harness.TestFile
sella/harness_3: 6472b6a | Whiteknight++ | / (5 files):
More cleanups using Query
sella/harness_3: 0708482 | Whiteknight++ | src/harness/testfile/ (2 files):
A few more cleanup
sella/harness_3: 1d06fc6 | Whiteknight++ | VERSION:
Harness is version 3 after all this
Heuristic branch merge: pushed 17 commits to Rosella by Whiteknight
18:36 mj41 joined
benabik o/ 18:36
18:41 AzureSto_ joined
dalek nxed: d6436ff | NotFound++ | winxedst1.winxed:
refactor comparator classes to avoid repetitions and add some missing annotations
18:42
18:47 darbelo_ joined
dalek nxed: 5d83cd2 | NotFound++ | winxedst (2 files):
allow null in last operand of conditional operator in stage 0
18:52
19:00 darbelo joined
dalek nxed: f6e5ef3 | NotFound++ | winxedst1.winxed:
replace some magical int values with true, false, and meaningful constants
19:11
cotto whiteknight, ping 20:19
whiteknight pong
cotto privmsg reply 20:20
20:26 bluescreen joined 20:35 kid51 joined
cotto seen pmichaud_ 20:57
aloha pmichaud_ was last seen in #parrot 1 days 1 hours ago saying "we always recommend Rakudo Star for users of Perl 6. We never recommend the github repo or compiler releases for anyone other than compiler developers or people who like bleeding edge stuff.".
dalek rrot/nwellnhof/compiler_flags: 5f0a5bd | jkeenan++ | config/gen/config_pm.pm:
Deduplicate embed-ldflags (as has been done in master).
21:00
tadzik cotto++ # very nice post 21:06
dalek kudo/nom: 493e23e | jonathan++ | src/Perl6/Actions.pm:
Fix rw-stripping bug in statement modifier form of for.
21:08
kid51 I'm not sure the "foundering" in the title was supported by discussion in the post, but otherwise I think the post was good. 21:09
21:10 davidfetter joined
cotto kid51, I could have done a better job making that connection. 21:15
kid51 In a phone conversation I had with whiteknight several weeks back, he was quite positive (moreso than I) about the technological side of Parrot. 21:16
So "foundering" might be excessive. 21:17
OTOH, if we are foundering then so is Perl 6.
Neither project is any more successful than the other. Both are subject to the "It's been 10 years and what have you got" criticism.
I think foundering is excessive re either project. 21:18
cotto Technologically, Parrot has a number of good ideas. Implementation-wise, we have a lot of cruft that reduces the value of the good parts.
NotFound What post are you talking about? 21:19
kid51 parrot-dev
cotto NotFound, the post on parrot-dev
kid51 19 min ago
NotFound Reading... 21:20
Good. 21:24
About the mention of winxed, I hope the HLL fixes and improvements I'm doing will make it a better tool for writing languages and its support libraries. 21:26
cotto I like where winxed is going. whiteknight's work with jaesop shows some interesting potential. 21:42
NotFound Yes, and is providing a use case for the HLL support. 21:44
Also, a javascript compiler can bring us the trendy languages that use javascript as backend. 21:45
cotto js is definitely the flavor of the decade (+/-) 21:46
dalek kudo/optimizer: 5ab4e11 | jonathan++ | / (4 files):
Add an optimizer stage to the compiler, which for now we only enable when --optimize is passed.
21:50
kudo/optimizer: de1b900 | jonathan++ | src/Perl6/ (3 files):
Start sketching out inlining of statements of simple blocks. Many issues, but handles a basic example case.
kudo/optimizer: 3f25af9 | jonathan++ | src/Perl6/Optimizer.pm:
Start to harden and improve the immediate block inline handling a bit.
kudo/optimizer: 471fc0d | jonathan++ | src/Perl6/Optimizer.pm:
Topic preservation over immediate block inlines. A little refactoring. Preliminaries for detecting cases where we can 'inline' onlystar protos (though it won't be so much an inlining as just jumping right into the multi-dispatcher).
21:59 zby_home joined
dalek kudo/optimizer: 5b1e31b | jonathan++ | src/Perl6/Optimizer.pm:
Ensure that topic restoration doesn't clobber block result!
22:28
22:30 plobsing joined 22:36 rfw joined 23:04 nbrown joined 23:08 whiteknight joined
whiteknight good evening, #parrot 23:10
tadzik good evening whiteknight 23:11
whiteknight hello tadzik
tadzik: you're always here. I'm starting to think you're a bot
a bot cleverly programmed to reply to my salutations 23:12
tadzik good evening whiteknight
whiteknight OH NOES INFINITE LOOP!
tadzik :)
whiteknight: it's just me having sleeping disorders, that's all 23:13
whiteknight oh, that's not so bad. I got my thesis written during a bout wth sleep disorder
of course, I wasn't sleeping well because I was worried about all the work I had left to do 23:14
23:14 darbelo joined
dalek nxed: 14dbaa0 | NotFound++ | winxedst1.winxed:
refactor and clean a bit Emit and NamespacePath classes
23:14
tadzik well, I have that permanently 23:15
like, since I was born. It got better recently, ie I get to sleep around 1 AM, get up on around 9-10
whiteknight you get to sleep 8 hours per day? lucky sack 23:16
tadzik holidays, you know :)
my semester starts on october
well, I have my exam on september 12th too, but shh
speaking of 1 AM... 23:18
aloha: clock?
aloha tadzik: LAX: Mon, 16:18 PDT / CHI: Mon, 18:18 CDT / NYC: Mon, 19:18 EDT / UTC: Mon, 23:18 UTC / LON: Tue, 00:18 BST / BER: Tue, 01:18 CEST / TOK: Tue, 08:18 JST / SYD: Tue, 09:18 EST
tadzik yeah, pretty much. G'night #parrot 23:19
whiteknight goodnight 23:22