Parrot 4.2.0 "Ornithopter" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
Set by moderator on 21 March 2012.
whiteknight good evening, #parrot 00:45
bacek: won't be so easy to simply unmerge a 2-year old branch 00:51
do we have any GSOC projects that relate to medicine or biology? 00:56
kid51 Why would we want to unmerge a 2-y-o branch? 01:20
01:39 jsut_ joined
whiteknight kid51: I don't think he's talking about an actual unmerge operation 01:51
He wants to undo the changes that branch made 01:52
committer's remorse
benabik It's related to the reorder_pcc (or something like that) branch. Splitting them to make allocation more efficient. 01:53
whiteknight I think he's on to something good 01:54
dukeleto ~~ 02:23
we really need more ideas and more details on our ideas page for gsoc 02:24
it is pretty bare
dukeleto tries to do his part
lots of good stuff on trac.parrot.org/parrot/wiki/GSoc2011 still applies 02:25
whiteknight I was looking at that yesterday 02:27
going down the list saying "did it myself...did it myself...did it myself..." 02:28
benabik Hah.
dukeleto whiteknight: i am picking up the leftovers :)
whiteknight :)
dukeleto whiteknight: what about embed parrot in FF? 02:33
whiteknight: i still want to do that
whiteknight: any browser, really
02:41 jashwanth joined
jashwanth whiteknight:hello 02:41
dukeleto jashwanth: howdy 02:45
whiteknight dukeleto: yes, that would be an interesting project still 02:46
hello jashwanth
dalek sella: adb0864 | Whiteknight++ | src/unstable/net/ (13 files):
[Net] Add some documentation for a few files
sella: 6bde64b | Whiteknight++ | src/core/Parrot.winxed:
[Core] Fix handling of newlines in backtrace frames
sella: a6217db | Whiteknight++ | t/dumper/ (9 files):
[Dumper] Add in some stub test files for Dumper
whiteknight I'm actually going to bed now. 02:47
goodnight
02:47 whiteknight left
jashwanth dukeleto:hello 02:48
did you see my edited proposal 02:49
dukeleto:how is it now 02:53
dalek rrot: 79e21c8 | petdance++ | src/platform/generic/dl.c:
Move the "return -1" outside the #if, so that we return -1 if the handle is not found
03:57
rrot: 65e944b | petdance++ | src/platform/generic/dl.c:
return proper NULLs instead of 0 for pointers
03:58
rrot: e4d981a | petdance++ | src/platform/generic/dl.c:
localized some variables and consted some pointers
04:14 _mayank joined 04:19 d4l3k_ joined 04:55 alester joined 05:00 nbrown_ joined 05:06 nbrown joined 05:16 d4l3k_ joined 05:17 Util joined, PerlJam joined 05:44 fperrad joined
dalek rrot: 84e0c30 | petdance++ | src/platform/generic/dl.c:
Added proper headerizer section
06:02
rrot: ea10b13 | petdance++ | src/dynpmc/rational.pmc:
* Removed unnecessary casting

  * Flag many interpreters as unused
ttbot Parrot ea10b132 darwin-thread-multi-2level make error tt.taptinder.org/cmdinfo/77806 06:06
06:24 d4l3k_ joined
dalek kudo/nom: 88d2953 | moritz++ | src/ (4 files):
change "defined" from prefix to listop

both std and niecza agree that listop is correct here.
06:26
kudo/nom: 8d4f0c4 | moritz++ | docs/ChangeLog:
update ChangeLog
06:28
07:17 d4l3k_ joined 07:18 jsut joined 07:53 mj41 joined 08:01 dngor joined 08:02 workbench joined 08:09 mj41 joined 08:19 d4l3k_ joined
dalek rrot/threads: 65140d3 | nine++ | / (3 files):
Remove debug abort()
08:57
09:24 lucian joined 09:34 d4l3k_ joined 10:29 whiteknight joined 10:33 _mayank joined 10:46 dalek joined
whiteknight good morning, #parrot 10:49
dalek rrot/threads: 7f1ef0e | nine++ | src/thread.c:
Fix a wrong assertion
10:50
_mayank dukeleto: whiteknight: Hi! 11:00
whiteknight good morning, _mayank. How are you doing?
11:01 mj41 joined
_mayank whiteknight: I am doing good! Thanks! 11:01
I wanted to discuss about the GSoC propsosal. 11:02
proposal*
whiteknight sure, which one are you looking at again? 11:04
_mayank I am interested in Jaesop compiler.
whiteknight ah yes, ok 11:05
_mayank As per my understanding, the current architecture is like this : JS -> AST -> WAST -> Winxed 11:06
whiteknight Yes, that's the stage 1 compiler
er, stage 0
_mayank Yes, and one of the ideas of the project is to improve this stage 0 compiler (improved regexes, and include more types), right? 11:07
whiteknight yes, that's the easy part 11:08
do you have jaesop installed now?
_mayank Yes
I have it installed
whiteknight do you happen to have Rosella installed? 11:09
that will let you run the tests and see what the stage 0 compiler does 11:10
_mayank I didn't install Rosella. I am doing it now. 11:11
whiteknight okay
then you can use "make test" to run the tests. There are only a few of them 11:12
_mayank Ahh, that's why the tests failed in jaesop. I didn't realise that I was missing Rosella 11:13
whiteknight Stage 0 is pretty simple but does most of what we need. It probably only needs a few improvements before we're ready to bootstrap a stage 1 11:20
the idea for stage 1 is easy: We write a new compiler, in JS to compile JS code to winxed. Then we compile that with Stage 0 11:21
so we run the generated winxed code on Parrot, and then we have a JS compiler running on Parrot 11:22
it sounds more complicated than it is
moritz just the normal bootstrapping insanity :-) 11:23
_mayank Basically, where will be the difference come between stage0 and stage1 compiler? I am a bit unclear about it
moritz stage1 compiler will be written in JS 11:24
and it aims to be feature complete
whiteknight _mayank: the big difference is that stage 0 runs on node.js. Stage 1 runs on Parrot
so that's what we want, a JS compiler that runs on Parrot without node.js
moritz whereas stage0 aims to be just enough to compile stage1
whiteknight Winxed code runs on Parrot, so we need to end up with a compiler written in winxed
and we have a JS->winxed compiler. So we write a compiler in JS, compile that to winxed, run it on parrot 11:25
_mayank ok, let me just summarize my understanding. stage 1 compiler will be written in JS (compiles JS -> winxed). stage0 compiler will be used to bootstrap stage1 compiler. It is like gcc and C, right? 11:29
moritz yes (except that stago0 gcc and stage1 gcc are the same, iirc) 11:35
11:46 d4l3k_ joined
_mayank moritz: whiteknight: I will start with digging into the jaesop code more. I had developed a compiler for decaf langauge in java during my compilers course at university. 11:54
Do you have any particular suggestions/pointers?
whiteknight _mayank: are you familiar with JavaScript syntax at all? Some of the code is a little...weird because of JS rules 12:01
the code in stage0/js is javascript, mostly borrowed from a preexisting JS compiler
the code in stage0/runtime is winxed and implements the built-in types. This is where things look a little weird 12:02
dalek rrot/threads: 8e2cc84 | nine++ | src/thread.c:
Lock the thread's interp, not ourself

The lock should protect the block_GC_mark flag of the thread, not ours.
_mayank whiteknight: I have experience with JavaScript, mostly because of the web based projects I was involved with. 12:07
whiteknight _mayank: okay, so you're familiar with things like closures, and the way methods work, etc?
_mayank I have a basic knowledge about them, like I have used them in jquery. 12:10
whiteknight okay, that should be enough 12:11
_mayank: as for pointers to get started, read through stage0/runtime/jsobject.winxed and see if you can follow what's going on 12:20
the most important function in there is get_attr_str[vtable]. That's the function that directs all attribute accesses 12:21
So when I type "foo.text", it calls get_attr_str("text")
_mayank okay, I will read through this. 12:23
whiteknight if you have any questions about syntax or semantics, please ask 12:25
Here's a primer on winxed: whiteknight.github.com/Rosella/winxed/index.html 12:26
that guide is a little incomplete, so if it's missing critical information let me know and I'll fill it in
_mayank I will start with it. will ask if required. 12:29
whiteknight great! good luck 12:43
_mayank Thanks! 12:48
12:52 d4l3k_ joined 13:31 schmooster joined 13:43 mj41 joined 13:48 d4l3k_ joined
whiteknight dukeleto: ping 14:27
msg dukeleto I've received an email from a student who is into biomedical stuff. Are there any bioperl-related projects you can think of, or similar? 14:33
aloha OK. I'll deliver the message.
14:57 d4l3k_ joined 15:04 abeyweera joined 15:16 jsut_ joined 16:01 jashwanth joined
jashwanth whiteknight:hello 16:04
whiteknight hello jashwanth
jashwanth how is the project proposal 16:10
16:10 PacoAir joined 16:11 dalek joined
whiteknight jashwanth: it is good. I talked to dukeleto. He is happy. Good work 16:11
I am going to eat lunch, I'll be back later 16:12
jashwanth I could not get this question can you tell me what this means
whiteknight yes
jashwanth "Do you plan to work on a branch or in your own fork of PLA and submit pull requests?"
whiteknight you will work in a fork and submit pull requests
it's a git question, we will work on git later 16:13
okay, I will be back
jashwanth talk to in the channel
dukeleto ~~ 16:16
whiteknight: fwd along the biomed gsoc email if you want
whiteknight: i can fwd it to the open bioinformatics peeps
jashwanth dukeleto:hello
dukeleto jashwanth: howdy 16:17
jashwanth: my suggestion to you is to start a bit of coding as soon as possible (like now) to shake any issues out of hiding before the real timeline begins
jashwanth: makes sense?
jashwanth: proceed full steam ahead, early, and I am sure you will bump into something unplanned for :) 16:18
jashwanth: but that is why we are here, to help you succeed
jashwanth but I have college exams this entire week
dukeleto jashwanth: ok :)
jashwanth: you should study for those.
jashwanth: but when those are over....
jashwanth dukeleto:please
oh Ok
dukeleto jashwanth: what kind of exams do you have? 16:19
jashwanth its tests
which will be considered for finals
In our college every test is important
dukeleto:"Do you plan to work on a branch or in your own fork of PLA and submit pull requests?" 16:21
dukeleto jashwanth: does that question make sense to you?
jashwanth: on which subjects are your upcoming exams?
jashwanth dukeleto: its a little to technical i could not get any thing out of it
dukeleto jashwanth: you have a Github account, yes? 16:22
jashwanth ye
dukeleto jashwanth: what is the link to it?
jashwanth github.com/jashwanth9/
dukeleto jashwanth: how long have you used Git?
jashwanth: how much experience do you have with Git? 16:23
jashwanth not that long only about 2-3 weeks
dukeleto tries to ask good questions and not use slang/jargon/Umgangsprache
jashwanth: ok, good to know :)
jashwanth: go to github.com/Whiteknight/parrot-linear-algebra
jashwanth: and click the "Fork" button on the top right of the page 16:24
jashwanth: that will give you your own copy of parrot-linear-algebra, called a "fork".
jashwanth: you can do whatever you want to it. When you want to send "finished" work to whiteknight, you will send a "Pull Request" 16:25
jashwanth: but just Forking is all you need to do now. 16:26
jashwanth: did you fork?
jashwanth: save this link for later reading: gun.io/blog/how-to-github-fork-bran...l-request/
16:27 jashwanth_ joined
dukeleto jashwanth_: howdy 16:28
jashwanth_ dukeleto:sorry some small problem now ok 16:29
dukeleto jashwanth_: irclog.perlgeek.de/parrot/2012-03-31#i_5376021
jashwanth_: that website shows logs of this channel
jashwanth_: so you can see if you miss something
msg jashwanth here is a message :)
aloha OK. I'll deliver the message.
dukeleto jashwanth_: aloha is also a bot that keeps messages. It sends them to you when it sees you join.
jashwanth_: so if I am not here, you can do "msg dukeleto ..." 16:30
whiteknight: would you mind setting up #parrot notification for PLA? or are all notification broke right now?
jashwanth_ oh I need to type msg dykeleto and the message so the bot aloha would deliver it to you 16:31
or anyone
dukeleto:"github.com/Whiteknight/parrot-linear-algebra" I am in here 16:32
dukeleto:what did you want to say
dukeleto jashwanth_: click the "Fork" button on the top right 16:34
jashwanth_ i did
dukeleto jashwanth_: awesome! 16:35
jashwanth_ what did I do?
dukeleto jashwanth_: this is your fork of PLA: github.com/jashwanth9/parrot-linear-algebra
jashwanth_: now you can: git clone git@github.com:jashwanth9/parrot-linear-algebra.git 16:36
dukeleto wrote the URL from memory, hopefully it is correct
jashwanth_ should I get that
dukeleto msg whiteknight PLA readme refers to a non-existent "parrot-test" github.com/Whiteknight/parrot-test , does that live inside Rosella now? 16:37
aloha OK. I'll deliver the message.
jashwanth_ dukeleto:I am writing exams in subjects algorithms,finite automaton and formal language,ARM processor(ARM 6),DBMS,java and numerical methods in maths 16:38
16:38 perlite joined
dukeleto jashwanth_: oooh, interesting! I studied numerical methods as well. 16:39
jashwanth_ dukeleto:how old are you? 16:40
dukeleto jashwanth_: you have a class about ARM6? That sounds interesting. I had boring CS classes :)
jashwanth_: 2^5 - 2
jashwanth_ dukeleto:Oh 16:41
dukeleto studied mathematics in univeristy, after deciding computer science was boring...
jashwanth_ dukeleto:we study arm6 architecture and instructions
dukeleto jashwanth_: is there a website for the class? I would like to look at notes... 16:42
jashwanth_ dukeleto:sorry the college does not provide any video lectures 16:43
dukeleto:I can show you the syllabus for it 16:44
dukeleto:I will be applying on GSoC tomorrow 16:46
nine Now this is a new one: how on earth can one thread's interp end up in the dirty list of another thread's GC?
dukeleto nine: magic and unintended folly?
jashwanth_: yes, the syllabus would be interesting to see
jashwanth_: good luck! You are doing great :) 16:47
nine dukeleto: might have something to do with it, yes
benabik ~~
jashwanth_ dukeleto:thanks that gives me a lot of confidence
dukeleto:I might not be able to talk about this after tomorrow till april 7th 16:48
dukeleto:because of exams
dukeleto jashwanth_: ok. Concentrate on your exams and good luck :) 16:50
jashwanth_ dukeleto:thanks
dukeleto nine: never rule out GC bugs
BUGS BUGS BUGS.
Since chromatic is no longer here to wax poetic about GC bugs, I guess it is my job now. 16:51
nine dukeleto: yep, but it's much more probably that I overlooked something locking related in the GC. I can be incredibly sloppy when chasing one bug, ignoring the future pain by not paying enough attention right now 16:52
dukeleto nine: a single missed GC guard and the kingdom is lost
nine And right now I got a ResizablePMCArray where there should be a Task. This is a whole new world of fun with almost impossible to reproduce random failures :) 16:53
But sadly, I have to leave right now to enjoy one of those rare Saturday evenings without chasing bugs... 16:55
jashwanth_ dukeleto:I sent a mail of that 16:56
dukeleto jashwanth++ 16:57
karma jashwanth
aloha jashwanth has karma of 1.
nine karma dukeleto 16:58
aloha dukeleto has karma of 1147.
jashwanth_ dukeleto:what is all this 16:59
dukeleto:makes on sense to me 17:00
dukeleto jashwanth_: each time you do something (like a commit on github and other stuff) you get some "karma" 17:01
jashwanth_: adding ++ to somebodies name gives them karma
karma whiteknight
aloha whiteknight has karma of 2682.
nine jashwanth_: it's like the predecessor of the Facebook like button
jashwanth_ oh I get it so I just have 1 17:02
dukeleto jashwanth_: it lets you tell somebody they are doing good things, such as "nine++ # for hacking on crazy bugs in the threads branch"
jashwanth++
karma jashwanth
aloha jashwanth has karma of 2.
dukeleto jashwanth_: :)
The karma must flow. 17:03
jashwanth_ actually karma means your deeds ie. work in Sanskrit 17:04
:)
dukeleto jashwanth_: yes, that is where the idea comes from :) A very ancient word. 17:05
jashwanth_: In the parrot community we try to lovingly borrow the best ideas from everyone else :)
jashwanth_ thats good :) 17:06
dukeleto:where are you from? 17:07
dukeleto jashwanth_: Mother Earth :)
jashwanth_: but in particular, Brooklyn, New York.
jashwanth_ dukeleto:oh I am from Bangalore,India 17:08
;)
dukeleto jashwanth_: but now I live in a nicer place called Portland, Oregon, on the west coast of the US.
jashwanth_: which timezone are you in?
jashwanth_ gmt +5:30
dukeleto:what is yous
dukeleto aloha clock? 17:09
aloha dukeleto: LAX: Sat, 10:09 PDT / CHI: Sat, 12:09 CDT / NYC: Sat, 13:09 EDT / UTC: Sat, 17:09 UTC / LON: Sat, 18:09 BST / BER: Sat, 19:09 CEST / TOK: Sun, 02:09 JST / SYD: Sun, 03:09 EST
benabik Today is a good day to apply. </klingon>
dukeleto jashwanth_: i am in the LAX timezone, which is UTC/GMT -7 hours
jashwanth_: depending on the time of year and DST, which has changed recently 17:10
jashwanth_: looks like you are about 12hrs ahead of me
jashwanth_ dukeleto:yes
dukeleto: whom did benabik say that to? 17:12
benabik jashwanth_: To the channel in general. I'm writing up my proposal for GSoC 17:13
_mayank dukeleto: hi! 17:14
jashwanth_ benabik:oh you are also applying to gsoc also 17:15
_mayank benabik: Indeed! proposal+1
benabik jashwanth_: Yes. I intend to apply to GSoC as long as I can. It's an awesome thing to do over the summer.
17:17 dalek joined, PerlJam joined
jashwanth_ benabik:all the best :) 17:21
dalek rrot: 7edf9b9 | petdance++ | src/dynpmc/rational.pmc:
Reverting to 84e0c30a157e945acfead00008aafc9466d28a46
17:47
benabik Commit messages should explain _why_ you made a change, not just what it was. Why revert things?
17:57 whiteknight joined
whiteknight dukeleto: PLA is notifying to the wrong URL after the dalek move. I'll update it 18:07
dukeleto: Yes, parrot-test got folded into Rosella. That README is in sore need of updates
dalek sella: f6d5cf8 | Whiteknight++ | s (11 files):
[Builtins] Add new builtins to create some common datastructures. Use them in a few places.
18:09
sella: 3bd0219 | Whiteknight++ | s (4 files):
[Json] Add in a new hand-rolled recursive descent parsing library for JSON. Many rough edges, but it seems to parse all the ad-hoc tests I'm throwing at it.
whiteknight Less than a week ago I wrote on my blog that Rosella didn't have XML or JSON parsing libraries and had no plans to add them 18:12
now, it has both
I really want to benchmark this new lib against the data_json compiler from the Parrot runtime and see if the bit-twiddling work I did pays dividends
benabik whiteknight: What made you change your mind? 18:15
whiteknight The big reason why I never wanted to try it was because I didn't think I could get it with good enough performance
but I was looking over the ByteBuffer and StringIterator PMCs, and I figured they might be quick enough 18:16
so, I tried it
benabik woo 18:17
whiteknight if we make ample use of Winxed's code inlining, and if we use integer comparisons on codepoints instead of comparisons on substrings, things are much faster 18:18
18:18 d4l3k_ joined
dalek sella: 5e816f0 | Whiteknight++ | s (4 files):
[Builtins] Add a new Ascii.winxed include file with inlines for working with codepoints and const int definitions for all printable characters
18:46
benabik whiteknight++ 18:57
whiteknight that change helped the little json test program I'm using to run about 50% faster 18:59
I haven't benchmarked it, I'm just going by sense
19:06 d4l3k_ joined
benabik whiteknight: Have you heard anything more from the student interested in PACT? 19:25
whiteknight benabik: no. Actually, I don't know whether I've not heard from that student again, or I've heard from him about a different project 19:26
benabik whiteknight: Curious. Well, I guess I'll write out my original proposal with some notes on how I could move it up the stack.
whiteknight okay, nice 19:28
a lot of the people I've been hearing from are not CS people 19:29
so the abstractish compiler-buildy parts aren't as interesting or even comprehensible
benabik Sounds interesting. Hopefully some programming background though?
Yeah, compiler backends are somewhat obtuse.
dalek sella: 783b0cb | Whiteknight++ | s (10 files):
[Json] Create a subclass of Dumper to serialize arbitrary objects to json
19:50
whiteknight yeah, most of the ones I've heard of have decent programming backgrounds
19:54 dalek joined
dalek sella: 615fc55 | Whiteknight++ | src/include/Dumper.winxed:
[Dumper] Fix the include file
19:54
tadzik good evening
whiteknight hello tadzik
20:03 awwaiid joined 20:17 mj41_p joined 20:18 mj41 left 20:41 d4l3k_ joined 21:29 d4l3k_ joined 21:40 kid51 joined
dalek rrot-linear-algebra: 7924f9a | Whiteknight++ | t/testlib/ (7 files):
Add in a Test.Matcher type for matching matrices
22:04
rrot-linear-algebra: e8b85d3 | Whiteknight++ | examples/elimination.winxed:
Translate the elimination example to winxed. The results are a little off, I need to double-check that the algorithm wasn't mangled
rrot-linear-algebra: 64f2a93 | dukeleto++ | README:
Update plumage link
esop: 8bece77 | Whiteknight++ | stage0/js/ (2 files):
add in a simple emitter class to try and prettify the generated winxed code with proper indenting.
22:05
esop: d4319e7 | Whiteknight++ | stage0/js/wast.js:
Several fixes for the emitter to make the code prettier and to fix bugs I introduced. All tests pass again
esop: c0ddc65 | Whiteknight++ | stage0/runtime/jsobject.winxed:
Add in .map() and .forEach() methods to Array
esop: 8bece77 | Whiteknight++ | stage0/js/ (2 files):
add in a simple emitter class to try and prettify the generated winxed code with proper indenting.
esop: d4319e7 | Whiteknight++ | stage0/js/wast.js:
Several fixes for the emitter to make the code prettier and to fix bugs I introduced. All tests pass again
esop: c0ddc65 | Whiteknight++ | stage0/runtime/jsobject.winxed:
Add in .map() and .forEach() methods to Array
whiteknight okay, pla and jaesop post-receive hooks are updated
22:15 d4l3k_ joined
dalek rrot-linear-algebra: d49ea6e | Whiteknight++ | examples/elimination.winxed:
Fix the Winxed elimination example. Winxed does integer comparison on foo[x, y] == 0 where NQP does floating point comparison there. Be explicit
22:32
rrot-linear-algebra: 9a7ada6 | Whiteknight++ | README (2 files):
Convert the README to markdown. Several factual fixes.
22:44
rrot-linear-algebra: 88a9f09 | Whiteknight++ | README.md:
Fix formatting in README
22:45
rrot-linear-algebra: 4e233eb | Whiteknight++ | README.md:
Bold a few important terms in README
22:47
23:02 dalek joined 23:30 contingencyplan joined
dalek rrot: c64b1e9 | petdance++ | src/dynpmc/rational.pmc:
removed unnecessary casts, and UNUSED() some INTERPs.
23:45
23:49 dalek joined