Parrot 3.10.0 "Apple Pi" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 2 December 2011.
dukeleto ~~ 01:31
msg Yuki`N yep, got your message, trying to make some tasks before the next deadline
aloha OK. I'll deliver the message.
01:47 jlaire joined 02:11 benabik joined 03:07 Themeruta joined
dalek href="https://parrot.github.com:">parrot.github.com: 5f75490 | alvis++ | NOTE:
Pushing a temporary NOTE file to see if 'parrot.github.com' will rebuild - per github folk's instructions.
03:21
href="https://parrot.github.com:">parrot.github.com: 2deea8b | alvis++ | NOTE:
Removed temporary NOTE file because 'parrot.github.com' rebuilt - Yay.
03:32
03:35 Psyche^ joined 04:32 atrodo joined 06:41 davidfetter joined
alvis msg whiteknight For some more GCI Documentation Tasks, please see git://gist.github.com/1480129.git, and, as always, "Thank you." 07:02
aloha OK. I'll deliver the message.
alvis msg NotFound Please see the following gist: git://gist.github.com/1480159.git 07:13
aloha OK. I'll deliver the message.
dalek kudo/nom: 8ea0b2b | moritz++ | src/core/ObjAt.pm:
ObjAt needs its own WHICH method, since it is a value type
07:35
08:01 dafrito joined 08:11 baest joined 08:22 mj41 joined 08:46 mj41 joined 09:18 bacek joined 09:19 bacek joined, TonyC joined 09:22 nopaste joined 09:39 lucian joined 10:20 Aleksanda joined 12:48 AzureSto_ joined 14:04 mtk joined
dalek itor: 974dd9e | NotFound++ | src/Guitor.winxed:
don't deactivate MenuBar when mouse pointer is inside a bar item
14:28
itor: f6e5149 | NotFound++ | examples/puzzle.winxed:
share colors instead of creating for each piece
14:45
14:55 whiteknight joined
whiteknight good morning, #parrot 14:59
15:29 muixirt joined
dalek itor: 5cb5744 | NotFound++ | examples/pokedit.winxed:
fix backspace at end of file
15:31
muixirt so now one writes nci bindings win winxed instead of pir, right? 15:45
s/win/with/ 15:47
NotFound muixirt: anything is better with winxed than with pir. 15:48
15:52 jsut_ joined
muixirt reads Advent 4 - Threading 15:55
15:55 davidfetter joined
dalek esop: c0ddc65 | Whiteknight++ | stage0/runtime/jsobject.winxed:
Add in .map() and .forEach() methods to Array
15:59
16:03 Crazyjavahacking joined
Crazyjavahacking hi guys 16:04
sorear Hello... 16:06
whiteknight Hello Crazyjavahacking 16:07
are you crazy about Java, or crazy with Java?
or going crazy because of Java?
dukeleto ~~
Crazyjavahacking: howdy 16:08
muixirt: yes, writing bindings with NCI is much more pleasant with winxed
muixirt: github.com/bubaflub/parrot-gmp is a good example 16:09
Crazyjavahacking actually
crazy about java, not only the language but now more about the VM
are here any ParrotVM developers?
dukeleto muixirt: iirc, we do the simple dlfunc call in PIR to actually make foreign functions callable, then you load that bytecode from winxed and use it from winxed
whiteknight Crazyjavahacking: yes, many of us are ParrotVM devs.
dukeleto Crazyjavahacking: just about everyone here is a parrot dev :)
muixirt: github.com/bubaflub/parrot-gmp/blo...MP/raw.pir 16:10
Crazyjavahacking I am working on my master thesis
it will be about visualizing garbage collection
dukeleto muixirt: that code is usually generated, as well
Crazyjavahacking the initial idea was to basically do a GCSpy rewrite
dukeleto Crazyjavahacking: oooh, that sounds fun. 16:11
Crazyjavahacking which is metacircular Java VM
sorry, the JikesRVM is
dukeleto Crazyjavahacking: we have a few GC's to choose from if you want to study those
Crazyjavahacking and the GCSpy was used to graphically see what was hapenning from GC point of view
dukeleto Crazyjavahacking: i am familiar with the JikesRVM, but not GCSpy
muixirt dukeleto: ok, thanks
dukeleto ah! that makes more sense :)
Crazyjavahacking and the idea is that there is a server written in C/C++ which communicates with kind of client which then will run Java app to visualize the GC changes
and I would like to ask if this could be useful for Parrot VM as well 16:12
dukeleto Crazyjavahacking: that sounds awesome. We definitely want/need to visualize our GC
Crazyjavahacking so if there is a tool for Parrot to visulize the GC, or if it make sense for you
dukeleto Crazyjavahacking: not sure about others, but I definitely want something like that
Crazyjavahacking: we don't have anything like that currently
Crazyjavahacking as far as I understand it now, the only thing will be to provide a communication interface in C/C++ and data which will be send
dukeleto Crazyjavahacking: we have a generational GC, have you worked with one of those before?
Crazyjavahacking old, young, ... yes know the idea 16:13
you have only this GC? or is there more of them/option to choose?
whiteknight Visualizing GC state changes would be a very nice thing, I think
Crazyjavahacking any documentation?
whiteknight We have a mark+sweep GC also, though the performance is lousy
dukeleto Crazyjavahacking: we have a few GCs, our recent generational one is the default 16:14
whiteknight although that's a problem with the algorithm, not the implementation so much
dukeleto Crazyjavahacking: because it is the least crappy :)
Crazyjavahacking :D
labs.oracle.com/projects/gcspy/
this is how it looks right now 16:15
I will do a rewrite to real modular way, the idea is to use NetBeans platform
dukeleto whiteknight: i am on parrot.github.com and I am not seeing anything about our GCs
whiteknight: ah, maybe the PDDs 16:16
Crazyjavahacking during following weeks I will do a old architecture overview and proposal
whiteknight we probably don't have good docks about it, because switching is sort of nonsensical now
dukeleto whiteknight: how old/out of date/wrong is this doc? parrot.github.com/html/docs/pdds/pd...c.pod.html
Crazyjavahacking the idea is to support multiple VMs as a proof of concept, not jusr JikesRVM
whiteknight dukeleto: probably "very"
dukeleto Crazyjavahacking: parrot.github.com/html/docs/pdds/pd...c.pod.html
Crazyjavahacking: beware. Those docs may be wrong in some places, but it is a start 16:17
whiteknight Crazyjavahacking: that does sound like a great idea. We could easily add in some probes to the GC source to send out state messages to an external lib
Crazyjavahacking: does the visualization tool run in-process, or is it a separate process with IPC?
if the visualization code is Java, I suspect it's going to have to be external 16:18
Crazyjavahacking it should be an java app
any problem with that?
whiteknight okay. We could easily attach a pipe handle to the interp, and write status information to that pipe from GC
dukeleto whiteknight: couldn't our GC just write out raw data to a file that could be read in? 16:19
whiteknight no, no problem at all
dukeleto whiteknight: in some kind of standard format?
Crazyjavahacking whiteknight> that will be cool
whiteknight: I will study the document, but is there a well defined set of information you are able to provide from GC? 16:20
I mean both VMs are definitely different in some points (I don't know Parrot so much), so we will need first to unify all the data which could be acquired from GCs 16:21
whiteknight dukeleto: either or. Once you have an extra FileHandle in the interp, we can point it at anything
hell, it could be a socket, writing to a database on the international space station for all I care 16:22
Crazyjavahacking dukeleto: any other ideas, objections?
whiteknight Crazyjavahacking: if you aren't afraid of some C code, src/gc/gc_private.h and src/gc/gms.c are the best sources of information
We have some structures which contain GC state information, and all the functions you would need to tap into are in that file 16:23
Crazyjavahacking thanks, I am not really a C programmer, few years ago I kind of was, but I will definitely look at it 16:29
so any further steps should be communicated through IRC? or mailing list could be better?
whiteknight Crazyjavahacking: we're always here on IRC and love to chat. Mailinglist works great too 16:30
parrot-dev at lists.parrot.org, etc
16:31 benabik joined 16:33 Crazyjavahacking joined
dukeleto Crazyjavahacking: lists.parrot.org/mailman/listinfo/parrot-dev 16:36
Crazyjavahacking: lists.parrot.org/mailman/listinfo/parrot-users
benabik o/ #parrot
dukeleto Crazyjavahacking: -dev is for questions about Parrot internals, -users is for questions about using/building on parrot
Crazyjavahacking: just cc both if you don't know which to send it to
benabik: mornin'
Crazyjavahacking thanks 16:37
benabik dukeleto: What's shakin'? 16:38
dukeleto benabik: drinking my morning coffee and planning to take over the world 16:40
benabik dukeleto++
dukeleto This looks like an awesome book that slyly teaches kids about CS: www.laurenipsum.org/tinker 16:41
www.laurenipsum.org/sample is a better link 16:42
benabik … Red-Black Forest?
The tone vaguely reminds me of Sophie's Choice. 16:43
moritz read on, there's more to come
nice names and all
17:08 jsut joined
dukeleto this is cool: mapofcpan.org 17:10
dalek kudo/nom: b70ea99 | moritz++ | src/core/ListIter.pm:
missing unbox
17:17
17:17 baest joined 17:55 fperrad joined 17:59 snearch joined
dalek kudo/nom: 081cc0e | moritz++ | src/Perl6/Actions.pm:
fix codgen for ."$var"()

it used to call the get_string vtable, now uses an explicit unbox_s
17:59
itor: 99df02e | NotFound++ | / (3 files):
fill polygon
18:25
itor: 2bb11c5 | NotFound++ | src/Guitor.winxed:
DrawLines
itor: 15009d9 | NotFound++ | examples/pizarra.winxed:
polygon, fill polygon, and optimize a bit color handling in example pizarra
18:51 jsut_ joined
cotto ~~ 19:04
20:09 perlite_ joined
dalek itor: dba7bc3 | NotFound++ | src/Guitor.winxed:
check status in DrawString and DrawImageString
21:07
itor: 4094224 | NotFound++ | examples/pokedit.winxed:
save as, ctrl-s, quit with ctrl-q
21:11
itor: f4def33 | NotFound++ | examples/pizarra.winxed:
fix color in poly hint
dukeleto got on www.mozilla.org/credits/ 21:33
i will be at about:credits in the next release. IN YOUR BROWSER.
tadzik woot 21:35
benabik Huh. There's an about:credits in my browser. 21:36
tadzik in mine too!
benabik I don't think dukeleto will be in there though, unless he's suddenly become a software project. 21:40
tadzik oh, you're using chromium too
I suspect
dukeleto: what did you do for mozilla?
benabik Chrome, yes.
cotto dukeleto++ 21:43
looks like you're there now
dukeleto tadzik: i helped make RegExp objects lazy in the javascript enging of Firefox (Spidermonkey), which saves a few tens of MB on startup 21:48
and yes, about:credits is updated already!
NotFound So you are credited for making it more lazy? 21:58
That's why software is fun.
muixirt functions in winxed don't have a return type? 22:09
NotFound muixirt: not yet. I have the idea of optionally specifying return type, but is just an idea for a now. 22:12
muixirt NotFound: so what is better: something like return int(expr) or to call the function with int(myfunc())? 22:14
NotFound muixirt: that depends. return int(x) is convenient if x is a PMC that must not be modified by the caller. 22:16
And int(myfunc()) may be neceessary if it's part of an expression and you need int type. 22:17
benabik I thin Winxed always assumes functions return a PMC. (i.e. "say(foo())" becomes "$P1 = foo() ; say $P1") 22:18
NotFound benabik: yes 22:19
In some cases using a inline with return type specified that calls the function can be convenient. 22:20
benabik inline function fooI() { return int(foo()); } // ?? 22:22
benabik hasn't toyed with inline yet. 22:23
NotFound Yeah 22:24
benabik Is inline in the Parrot snapshot yet? 22:25
NotFound But specifyng the return type:inline function fooI() return int { return int(foo()); }
benabik: yes. I'ts also in the last release, but in current master has some fixes and improvements. 22:26
benabik Hm. For "inline function fooI() {}" I get "Expected '(' near fooI" 22:27
Oh. No function
NotFound Ops, I'm sleepy. Of course.
benabik I had thought I tried that. Whatever. 22:32
benabik probably forgot to save that time. 22:33
22:39 mj41 joined 22:41 dafrito joined
dalek itor: 9838435 | NotFound++ | examples/pizarra.winxed:
fix release button while in first line of a fillpoly
23:19
alvis hello #parrot 23:22
got a question: It seems 'docs/draft/pdd13_bytecode.pod' obsolesces 'docs/parrotbyte.pod' (e.g., MAGIC is incorrect in 'docs/parrotbyte.pod') ...
is this correct? 23:23
NotFound alvis: the only way to know for sure is to dump a pbc file. 23:25
alvis NotFound: I did. I examined a dozen or so and all of our *.pbc use the magic string identified in 'docs/draft/pdd13_bytecode.pod'. 23:26
but more, there are variances between the content of the two docs. I'm wondering ... 23:27
NotFound alvis: regarding Guitor, I think it's ready. Now you can look at src/GuitorNci.winxed functions loadXlib, loadXftlib and loadXpmlib, and see what libs must be added to the search lists.
alvis (1) why 'docs/draft/pdd13_bytecode.pod' is still a draft? and
(2) why 'docs/parrotbyte.pod' hasn't been pulled or archived or something? 23:28
NotFound: Ok. I'll check it later this evening. (evening, here, that is. :)
NotFound alvis: bytecode format is still evolving, and probably will not start being stabilized until we move to a lorito based machine. 23:29
alvis NotFound: Ok, thank you. 23:31
NotFound And usually, when a thing gets better documented, people take a better look at it, and change the thing, but not the document X-)
alvis NotFound: Yeah. 23:34
dalek itor: d931a57 | NotFound++ | src/Guitor.winxed:
improve automatic height of TextButton
23:43