Parrot 3.2.0 released | parrot.org | Log: irclog.perlgeek.de/parrot/today | Parrot is accepted for GSoC 2011! Student application deadline is Apr 8
Set by moderator on 27 March 2011.
whiteknight bbatha: what do you mean, the performance of a bytecode translator? 00:00
bbatha whiteknight: yes
whiteknight bbatha: I don't know how different the performance would be in translation. At the best case, you could use a translation table
bbatha: if performance is too bad, you could use an "ahead of time" compiler, instead of a "Just in time" translator 00:01
separate out the translation time from the runtime 00:02
benabik whiteknight: There's some distinct conceptual mismatch between the JVM and Parrot. Can handle some of it with clever register allocation, probably. AOT instead of JIT would help, yes. But it's probably easier to optimize compiling Java than JVM bytecode. 00:03
whiteknight benabik: A translator that "parsed" java bytecode and outputs PAST would be great, because then we could use our own tree-optimization tools 00:04
00:05 plobsing left
benabik whiteknight: I'm not sure that would be as simple as it sounds. Interesting idea though... 00:05
Maybe I'll write it up. Are GSoC students only supposed to submit one proposal? :-)
whiteknight i don't think it sounds simple :)
bubaflub benabik: nope, multiple proposals are ok
whiteknight benabik: Write up multiple options in your proposal on Gist. We will help you pick the best option 00:06
benabik: Multiple separate proposals are fine too
benabik I'll have to finish this review quickly so I can spare some cycles for writing proposals.
whiteknight okay. I'll wait until you post some updates before I start making comments 00:07
benabik Commentary ahead of time will be noted. :-) Had a couple social obligations this weekend... Forgot I need to write up a proposal for GSoC instead of just filling out an application. :-( 00:08
whiteknight yes, the proposal is extremely important
There was a guy in here a few days ago who was working on java, but wanted to look for parrot options 00:09
I can't remember his username
benabik I don't mind writing proposals. Good practice, even. I just failed to allocate time for it. Eh. There's this task that has hours and hours assigned to it. "Sleep." Don't think it needs that much time... ;-) 00:10
whiteknight :) 00:11
bbatha whiteknight: so about the javabyte code interpreter how useful this be in relation to a Java to PAST compiler? should I put in two proposals? 00:12
whiteknight two proposals or one big proposal with options are both good. you can pick 00:14
bbatha thanks
whiteknight we will make comments on gist to help you decide and make a final proposal
00:16 lucian left
sorear dukeleto: if you're going to shut down dalek, you should also shut down parrot-tickets@ 00:16
dukeleto: the email spam is far worse than the IRC spam 00:17
dukeleto: Infinoid is no longer involved with dalek; do not make patches against Infinoid's github repository because it's quite out of date 00:19
soh_cah_toa i've started up a rough draft of my debugger proposal: 00:20
gist.github.com/889795
bubaflub whiteknight: is there any other example code that uses Ptr, PtrBuf, and PtrObj?
bbatha whiteknight: 00:28
woops sorry
soh_cah_toa whiteknight: i've started my proposal. take a look - gist.github.com/889795 00:33
00:41 plobsing joined
whiteknight soh_cah_toa++ 00:47
bubaflub: I use PtrObj on my imcc_compreg_pmc branch, but that's only one use
soh_cah_toa whiteknight: not quite what that means 00:48
*not quite sure
00:48 theory left
whiteknight soh_cah_toa: that's karma. More ++ means you're doing good things 00:48
karma soh_cah_toa
aloha soh_cah_toa has karma of 3.
whiteknight soh_cah_toa++
karma soh_cah_toa
aloha soh_cah_toa has karma of 4.
whiteknight every time you do something good, you get a +
++
soh_cah_toa ha! that's pretty neat
whiteknight 10,000 of them, and we'll send you some cookies 00:49
bacek_at_work ~~
karma whiteknight
aloha whiteknight has karma of 980.
whiteknight karma bacek
aloha bacek has karma of 1419.
bacek_at_work whiteknight, you should work harder for free cookies :)
whiteknight damn. I'm falling behind!
bacek_at_work: I think I'm the one who has to bake the cookies 00:50
soh_cah_toa has anyone actually reached 10,000?
sorear I probably would have, if karma bots had a half-life longer than 1 year 00:51
plobsing bubaflub: your gist from a while back has a logic error. $I0 = defined mpz_init; unless $I0, mpz_init_function
unless should be if
whiteknight soh_cah_toa: no. It's probably impossible
sorear karma sorear
aloha sorear has karma of 959.
plobsing karma plobsing
aloha plobsing has karma of 631.
plobsing ouch
soh_cah_toa i'm guessing the smart match operator takes away karma?
sorear + 3000 or so on lambdabot, + a lot on buubot, + purl, + phenny
plobsing I'm not even on the same level
sorear plobsing: I hacked dalek to regularly ++ me on #perl6 00:52
plobsing lol
bacek_at_work perl6: say "sorear++ :)" 00:53
rakudo: say "sorear++ :)"
p6eval pugs, rakudo 792e86, niecza v3-82-g1dc43eb: OUTPUT«sorear++ :)␤»
rakudo 792e86: OUTPUT«sorear++ :)␤»
bacek_at_work karma sorear
aloha sorear has karma of 963.
bacek_at_work works like a charm :) 00:54
benabik p6eval's smart enough to only show output once if it matches? Nice.
bubaflub plobsing: you're right... now the question is why i can't find a mpz_init function 00:55
sorear perl6: my $x = 1; my $y := $x; $x := 2; say $y; say "sorear" ~ "++"; 00:56
p6eval pugs, niecza v3-82-g1dc43eb: OUTPUT«1␤sorear++␤»
..rakudo 792e86: OUTPUT«2␤sorear++␤»
plobsing bubaflub: I did some debugging. your check for library loaded status is also backwards
sorear benabik: if and only if!
plobsing on my platform (arch linux), you want to use 'libgmp' for the library, and '__gmpz_init' for the function 00:57
benabik sorear: Even better.
plobsing seems libgmp uses macros and disguises function names for reasons that are beyond my comprehension
00:57 contingencyplan left
whiteknight awesome. This GMP project just got 10x more interesting 00:58
bubaflub is going to be regretting this project decision :)
benabik If a grad student ever takes on a project he doesn't regret in some way, he didn't take on a complex enough project. :-D 00:59
whiteknight Okay, I'll agree to that 01:00
01:01 kid51 joined
bubaflub plobsing: ok, great, i think it's working now 01:02
plobsing think being the operative word?
what is wrong with libgmp? why do they do that function hiding?
bubaflub plobsing: the init function is calling, i'm going to try to get some basic arithmetic
soh_cah_toa so how many student slots does google usually give the parrot foundation each year? 01:04
whiteknight parrot foundation has never done GSoC by itself 01:05
last year we were with TPF, and we got about 15 slots combined, I think
or maybe 12
soh_cah_toa right, i remember someone mentioning that
whiteknight last year I think Parrot had 4 or 5 as part of the deal
I am hoping Parrot gets at least 6 this year
I would like more, but less than 6 would not be good 01:06
soh_cah_toa can the parrot foundation request more if you think you need it or is google's word final?
whiteknight it's a process. We make a request, then we get an initial allocation 01:07
the final allocation is based on the proposals everybody gets
some organizations have extra slots, so those get redistributed
soh_cah_toa interesting 01:08
dalek rrot: d0f90dd | bacek++ | lib/Parrot/Pmc2c/ (3 files):
Get rig of old, outdated, not supportted MMD stuff in pmc2c
01:09
benabik Code is like a rosebush. It flowers all the better for careful pruning. :-) 01:10
soh_cah_toa :)
kid51 Ah! Looks like bacek has responded to my cage cleaning :-) 01:12
bubaflub plobsing: i'm not seeing __mpz_init anywhere in the GMP code base 01:13
plobsing *g*mpz
bubaflub: use nm to locate the function names
soh_cah_toa whiteknight: suppose my proposal gets accepted...is they're anything i could work on in the meantime that would help me familiarize myself w/ parrot? 01:14
01:14 marcel_r joined
whiteknight soh_cah_toa: start reading through the parrot source code, especially code relating to runcores and debugging 01:14
src/runcore/*, src/debug.c, etc
as you go through the code, start making fixes: Documentation fixes, code cleanups, small fixes, refactors, etc 01:15
submit patches
that's the best advice I can give you
bacek_at_work kid51, :) 01:16
whiteknight also, do the same thing with the Parrot-Instrument code too, if you're planning to use that
read the code, make fixes, submit patches
bacek_at_work whiteknight, you forgot about "step 3"!!!
soh_cah_toa i was actually gonna ask that: since i'm going through nearly all the documentation i think it'd be a good time to fix errors. i've already noticed a few grammer errors. i could fix them?
whiteknight soh_cah_toa: yes
every time you fix an error, it proves to us that you are reading the material
that's good for you 01:17
IF you find things that are confusing to you, as a new user, fix it
soh_cah_toa yeah, good idea
whiteknight you're the test case, you are the new user. If you find something confusing, other new users will find it confusing too
so, fix it 01:18
benabik I'm going to try to find some more parroty things to contribute to, but packing grad classes into 10 weeks doesn't leave a lot of free time.
soh_cah_toa so i'm the guinea pig
whiteknight create a fork of Parrot on github, make commits, and open pull requests
kid51 "is they're anything i could work on in the meantime that would help me familiarize myself w/ parrot?" -- I wish *all* GSOC candidates had that attitude!
soh_cah_toa++
whiteknight soh_cah_toa++ indeed
soh_cah_toa ha! thanks 01:19
whiteknight benabik: do your best. You don't need to be superman, but we do like to see that you're reading and understanding the code
benabik: if you can't make fixes, ask questions about things you are reading
soh_cah_toa benabik: try doing what i did - use pod2html to convert all parrot docs, put them on your phone, read them on the go! 01:20
benabik whiteknight: Thanks. I should probably try to take what I learned working on cish and put it back into the Squaak tutorial or something. :-)
whiteknight benabik: that would be *perfect*
that damn tutorial is always out of date
benabik soh_cah_toa: I already crash-dived into the parrot docs. github.com/benabik/cish 01:21
soh_cah_toa: If you want help understanding PAST, I wrote up everything I could learn in two weeks of little more than poking NQP in that doc. :-) 01:22
soh_cah_toa benabik: wow, have you done gsoc w/ parrot before? that's pretty good
whiteknight benabik: oh awesome, I want to look at that
benabik soh_cah_toa: No, that was for a project for school.
soh_cah_toa: I may have gone a little overboard with it, since it was supposed to just be a quick intro to a compiler tool. 01:23
soh_cah_toa benabik: parrot school project? i wish i went to your school
benabik soh_cah_toa: Part of a compiler class. "Find a compiler-writing tool and explain it to the class."
Hm. I wonder if I ever put my slides online. 01:24
soh_cah_toa benabik: please do so :)
whiteknight I would love to see slides
benabik Ah. I did. www.cs.rit.edu/~bcg2784/Courses/201...CT/PCT.pdf
There are some errors in the slides that were corrected on github thanks to... dukeleto++, IIRC 01:25
And some of the slides assume you know the context from the class. :-/
soh_cah_toa benabik: parrot magic cookies...ha!
01:25 bbatha left
benabik soh_cah_toa: I think that was the actual original name. I picked it up either from the first time I heard about Parrot or some outdated documentation I found. 01:26
soh_cah_toa benabik: how old is that presentation? 01:27
benabik soh_cah_toa: Last quarter... Uh, two months?
soh_cah_toa benabik: i'm bookmarking this for sure. please tell me you got an a on this 01:28
benabik soh_cah_toa: The prof liked it, I think. I asked if he'd be willing to recommend me for a TA position and he was talking about recommendations for my PhD. :-D 01:29
soh_cah_toa benabik: ohh...i'm so jealous of you. :)
benabik soh_cah_toa: I get over-involved in side projects. Now if I can just figure out a Master's thesis. :-D 01:30
soh_cah_toa benabik: i heard that can be rough 01:31
benabik soh_cah_toa: Only took my friend an extra year and a half. Of course, he disproved his original thesis half-way through. 01:32
soh_cah_toa benabik: ouch!
bubaflub plobsing: pardon my ignorance, but i'm reading up on nm - how do i figure out the names of the functions? do i pass it in libgmp? 01:34
plobsing bubaflub: use "nm /usr/lib/libgmp.so" or whatever path you have libgmp under 01:35
bubaflub plobsing: great, thanks
plobsing grep for the symbols you are interested in
my dynamic libs are stripped, so I use libgmp.a in stead 01:36
but the symbol names are the same 01:37
bubaflub plobsing: ok. i wonder why they do this renaming magic
because the functions in the manual are definitely normal i.e. mpz_init() and not __init_mpz()
i could also look at Math::GMPz which are perl 5 bindings of what i want
plobsing exactly. I suspect they have a screw loose or something.
benabik __init_mpz might be an internal function called by mpz_init or something. :-/ 01:38
01:38 bbatha joined
benabik Math::GMPz is using Rmpz_init() 01:39
I imagine the R is something from the loader? 01:40
bubaflub no, i think it's just Sysphius' naming scheme for his methods 01:41
benabik Ah. He uses XS... And it just uses mpz_init() as well. Odd. 01:43
plobsing benabik: not odd at all. xs translates down to C. so if there is macro magic, it is visible to XS. 01:45
the down side is that you have to have a C compiler available to make the XS usable
benabik plobsing: True, true. 01:46
Wow. Yes. gmp.h is full of #defines. 01:47
#define mpz_init __gmpz_init, #define mpz_init2 __gmpz_init2, etc
bubaflub so these macros are renaming the functions
D'OH
benabik I highly recommend looking through /usr/include/gmp.h (or wherever it's found on your system) and looking at the #defines. 01:48
bubaflub benabik: i'm there. yeah, it's a bit of a jungle 01:49
benabik bubaflub: Looks like it's mostly a straight forward set of renaming. I'm sure they had a good reason for it at the time. 01:50
bubaflub benabik: it's suppose to be backwards compatible back to version 3 or something
perhaps that's it 01:51
benabik bubaflub: They originally had horrible names, so they just smoothed it over with the preprocessor? I could buy that.
bubaflub haha
plobsing benabik: but who would use __-prefix for all function names in the first place? 01:52
benabik plobsing: I said horrible, didn't I?
bubaflub well, when i'm done with em they'll be pretty 01:55
benabik bubaflub++ # pretty functions
plobsing bubaflub: you may want to have a look at the ncidef2pir tool 01:56
bubaflub plobsing: thanks for all the help! 01:57
01:58 theory joined 01:59 whiteknight left 02:03 Andy_ joined 02:10 marcel_r_ joined 02:15 marcel_r left, marcel_r_ is now known as marcel_r 02:31 benabik left 02:36 lateau joined 02:38 marcel_r left 03:00 soh_cah_toa left 03:01 bbatha left 03:04 bbatha joined 03:12 kid51 left 03:24 bbatha left 04:08 bubaflub left 04:12 bubaflub joined 04:15 benabik joined, bubaflub left
dalek rrot: 519f10d | petdance++ | / (2 files):
Fixing splint flags re: nulls
04:19
rrot: a0b2f6d | petdance++ | / (2 files):
return_sig is ARGOUT, not ARGMOD
rrot/jit_prototype: 77d0dcf | bacek++ | compilers/opsc/src/Ops/ (3 files):
Dequote strings during parsing
04:23
rrot/jit_prototype: 5deb7b5 | bacek++ | runtime/parrot/library/LLVM/Builder.pm:
Fix copy-paster error in Builder.inbounds_gep.
rrot/jit_prototype: eedef4e | bacek++ | / (2 files):
Fix generating SCONST. They aren't cstrings apparently
rrot/jit_prototype: 6537caa | bacek++ | t/compilers/opsc/data/0 (5 files):
Readd test pir files
rrot/jit_prototype: 8a041c8 | bacek++ | t/jit/jitted.ops:
Temporary remove "if" for unblock testing.
04:24
rrot/jit_prototype: 9671e11 | bacek++ | / (2 files):
Suppress debug output when not requested.
04:30
bacek_at_work Ho-ho-ho 04:33
JITting of few ops in once!
nopaste.snit.ch/38891
benabik I'm not entirely sure what's happening there, but it seems impressive. 04:36
04:36 shell joined
bacek_at_work benabik, loading PBC, generate native function for Sub, call it. 04:37
"jit prototype"
benabik I get what it's doing, but not what it's doing. Probably shouldn't be reading it just before bed. :-D 04:38
04:38 theory left 04:41 cosimo left
benabik Ah. Now I see how the parts all fit together. Now I just don't quite know what all the parts are. And don't try to explain, I should sleep. :-D 04:42
The more I look at it, the better it looks. bacek++
bacek_at_work benabik, many parts are explained in my blog (blog.bacek.com) :) 04:44
benabik bacek_at_work: I'll mark that as "read in my copious spare time". :-D 04:45
Huh. I was following planetsix but not planet parrot. Bad Benabik. 04:46
04:53 theory joined
dalek rrot: 36602ce | petdance++ | src/dynext.c:
allow some STRING * to be NULLOK
04:56
04:57 preflex left 04:59 preflex joined
dalek rrot: ba65aef | petdance++ | src/debug.c:
Properly added headerizer annotations. Consted some vars.
05:21
05:22 davidfetter left 05:26 shell left, shell joined
dalek rrot: 1eb416d | plobsing++ | / (9 files):
Merge branch 'kill-pkg-config'
05:27
rrot: f987b92 | plobsing++ | api.yaml:
remove pkg-config deprecation notice (completed)
tracwiki: v1 | plobsing++ | ParrotDeprecationsFor3.3 05:34
tracwiki: Add upgrade instructions for pkg-config deprecation.
tracwiki: trac.parrot.org/parrot/wiki/ParrotD...ction=diff
tracwiki: v31 | plobsing++ | ParrotDeprecations
tracwiki: Add notice regarding pkg-config deprecation
tracwiki: trac.parrot.org/parrot/wiki/ParrotD...ction=diff
TT #1853 closed by plobsing++: pkg-config support
TT #1853: trac.parrot.org/parrot/ticket/1853
TT #1842 closed by plobsing++: Linking against libparrot not as documented
TT #1842: trac.parrot.org/parrot/ticket/1842
05:36 shell left 05:39 cosimo joined 06:10 theory left
dalek rrot: 137d5dc | mikehh++ | MANIFEST (2 files):
re-generate MANIFEST and MANIFEST.SKIP
06:18
06:45 woosley joined 06:56 fperrad joined 06:59 Eduardow left 07:05 Eduardow joined 07:08 rurban_ joined 07:11 rurban left, rurban_ is now known as rurban
dalek rrot/jit_prototype: ea057fe | bacek++ | runtime/parrot/library/LLVM/Constant.pm:
Fix LLVM::Constant signatures.
07:12
rrot/jit_prototype: 65a47cb | bacek++ | compilers/opsc/src/Ops/JIT.pm:
Load constants once
rrot/jit_prototype: b80df2d | bacek++ | compilers/opsc/src/Ops/JIT.pm:
Handle NCONSTs
rrot/jit_prototype: 392c9fe | bacek++ | t/compilers/opsc/data/03.pir:
Add test output of number
rrot/jit_prototype: 3deba82 | bacek++ | t/jit/jitted.ops:
More 'jitted' ops
07:23 szabgab left 07:29 autark joined 08:34 cosimo left 08:46 contingencyplan joined 09:06 janus left 09:37 bacek joined 09:40 Eduardow left 09:55 lucian joined, woosley left 09:58 clunker3 joined 09:59 lateau left 10:37 contingencyplan left 10:39 ambs joined 10:57 bacek left 11:12 bacek joined 11:15 rohit_nsit08 joined 11:16 rohit_nsit08 left
dalek rrot: a49d7b8 | mikehh++ | src/debug.c:
add missing c function pod documentation
11:35
rrot: 2279298 | mikehh++ | src/debug.c:
add missing ASSERT_ARGS
11:47 bubaflub joined 11:54 Psyche^ joined 11:55 Patterner left, Psyche^ is now known as Patterner 11:58 kid51 joined 12:00 Hunger joined 12:12 mtk joined 12:13 mtk left, mtk joined 12:33 bluescreen joined
Coke would pong whiteknight, but he ain't here! 12:33
moritz Coke: you can tell aloha to pong whiteknight for you :-) 12:34
12:36 benabik left
Coke that might be slightly too meta. 12:36
Coke wonders if smolder still needs a restart.
aloha, restart smolder?
aloha Coke: No clue. Sorry.
Coke aloha, smolder restart?
aloha Coke: Dunno.
Coke aloha, smolder? 12:37
aloha Coke: smolder is not automatic, but smolder clients can be
12:38 whiteknight joined
mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#13310) fulltest) at 3_2_0-94-g2279298 - Ubuntu 10.10 i386 (g++-4.5) 12:39
12:41 mtk left 12:42 plobsing left
whiteknight good morning, #parrot 12:47
12:59 mtk joined, mtk left 13:00 mtk joined
whiteknight msg Coke when you get a minute, could you please look at TT #1634? I want to see if this is still a problem. nwellnhof didn't see an issue, I want to know if you are still seeing it. Thanks 13:00
aloha OK. I'll deliver the message.
whiteknight msg cotto Can you take a look at TT #560? I don't know if this change is going to require a deprecation cycle or not. If not, I can probably fix it pretty quickly. 13:03
aloha OK. I'll deliver the message.
dalek TT #1881 closed by whiteknight++: Parrot on Android 13:06
TT #1881: trac.parrot.org/parrot/ticket/1881
13:07 plobsing joined
whiteknight msg soh_cah_toa when you get a chance, take a look at trac.parrot.org/parrot/ticket/987 (You might need special permissions to edit it, just let me know). If you're going to be doing debugger work, all debugger tickets are going to be under your control. We'll talk about it when you get in 13:07
aloha OK. I'll deliver the message.
Coke whiteknight: checking now. 13:09
whiteknight Coke++
Coke (involves rebuilding parrot /and/ rakudo, so will take a moment. ;) 13:10
whiteknight yeah, I figured. thanks for taking the time
Coke: I started working on that TT #1886 bug yesterday. It requires moving a lot of code around. I don't need to write or fix much code, but it's still going to take a while 13:12
I would like to get it completed within the next few days 13:13
I'm sorry this bug has been taking me so long 13:14
13:18 woosley joined 13:21 kid51 left
Coke thanks for trying to fix it. 13:31
whiteknight on the bright side, I get to refactor and cleanup some very messy code in the process. It's win-win 13:32
13:32 bluescreen left
whiteknight if it weren't for the low quality of this code, and the driving need to fix it anyway, I might have tried patching partcl-nqp instead to work around the problem 13:32
Coke++ # Thanks for closing the ticketg 13:35
13:35 plobsing left
dalek TT #1634 closed by coke++: segfault in Parrot_Class_init_pmc 13:37
TT #1634: trac.parrot.org/parrot/ticket/1634
13:40 bluescreen joined 13:48 Hunger left 13:52 Hackbinary left 14:08 PacoLinux joined 14:17 rohit_nsit08 joined
rohit_nsit08 whiteknight: hi 14:18
dukeleto: hi
whiteknight good morning, rohit_nsit08 14:20
I just left more questions on your proposal
rohit_nsit08 whiteknight: :-) was correcting the yesterday's ones , i was going through the rosella/test.pbc ,seemed good , the library is in winxed, in which stage i'll be going to use it ? 14:22
14:22 Hunger joined
rohit_nsit08 whiteknight: u heard about jspec? it's a javascript testing framework 14:22
whiteknight I have not heard of jspec 14:23
if it's popular and you like it, you can use that too
rohit_nsit08 whiteknight: what is Parrot Test , u referred it in one of your blog post 14:24
whiteknight Parrot Test is Rosella test.pbc
it had a different name at first
rohit_nsit08 whiteknight: can u tell me in brief how can we use rosella test.pbc ? 14:25
whiteknight rohit_nsit08: tests are just programs, so you can write them in any language. If your javascript compiler has a way to include bytecode files from Parrot (it would have to be a custom extension for you), you can write tests in JavaScript and include the test.pbc in your files 14:27
or you could write tests in a different language, like NQP. Use NQP to load your JavaScript compiler and test it there 14:28
that way if your compiler is broken, you can still test pieces of it
When something breaks, tests can help you find the problem
jspec runs on javascript, so it looks like you will need a working compiler (maybe stage-0 node.js or narwhal) to run it 14:29
14:29 theory joined
lucian nods 14:29
whiteknight jspec looks nice though, it looks like it has assertions and a form of mock-objects built-in to it
lucian once you get a mostly-running js, you can test it in js
whiteknight exactly 14:30
lucian but before it resembles js, it might be better to use something else
whiteknight so what you could do is have a multi-stage test suite. Write some sanity tests in a different language. When you prove your compiler works for the basic things, move to a different set of tests written in pure JS
rohit_nsit08: testing sounds more complicated than it is 14:32
rohit: I can add new features to Rosella to help you too
rohit_nsit08 whiteknight: thanks , for such valuable information , i was confused about how i will mix parrot bytecode and javascript , but if it can be mixed , i will be able to do it
whiteknight rohit_nsit08: supporting JavaScript to the test harness is very easy
14:33 theory left
whiteknight rohit_nsit08: each test file in your test suite can be written in a different language. 14:33
you can pick whatever you think is best for each test
rohit_nsit08 whiteknight: and i can include the bytecode of that language in my existing code and after all gets converted in the PIR , it won't pose any problem , am i right? 14:34
whiteknight right. Once it's converted to PIR or PBC, everything will work nicely together
if you have a runtime library, you need to include that
but that's a small issue
rohit_nsit08 whiteknight: runtime library as in ? 14:35
whiteknight rohit_nsit08: you will be able to use Winxed and NQP libraries from your JavaScript code, if you add a function to load those in
rohit_nsit08: JavaScript has some built-in functions
rohit_nsit08: your operators will be functions, those are part of your runtime
eval() is a built-in, that needs to be in your runtime library
etc
14:37 Eduardow joined
rohit_nsit08 whiteknight: lots of homework for me ,will have to know all this before coding begins 14:37
whiteknight rohit_nsit08: It's all easier than it sounds. You just need a little experience with the code
rohit_nsit08 i think i can load modules in javascript using require() , will it work here? 14:38
whiteknight rohit_nsit08: you will have to make it work, but yes that would be a good thing
14:40 M_o_C joined
rohit_nsit08 whiteknight: so for now , what i can decide is that , i should design my testing in 2 stages , first one before stage 0 compiler is running , using rosella test and after getting stage 0 compiler , extend the earlier one or use advanced framework like jspec to work with it , sounds good , will need to plan it out 14:40
whiteknight okay, awesome. That does sound like a good plan. I can add JavaScript support to Rosella if you want to use that. You decide whatever you think is easiest 14:41
rohit_nsit08 whiteknight: javascript support in rosella will be the best , i think i should work with u on that , before may 22 , when actual coding begins , to become familiar with testing ,, that will save our time in later stages 14:43
whiteknight okay, great
rohit_nsit08 whiteknight: for documentation , dukeleto suggested markdown , looked simple and great to use ,do we have any other option , my earlier plan was to generate documentation from the commented out code using a available tool in javascript , which one will be a better option ? 14:46
14:46 bubaflub left
rohit_nsit08 whiteknight: with markdown we have option of exporting to other formats besides html , that is an extra advantage 14:46
whiteknight I use markdown in my blog. It's very easy. Have you looked at ScriptDoc? 14:48
rohit_nsit08 let me have a look 14:49
whiteknight Doxygen might also work with JavaScript
POD is used by a lot of Parrot projects, but it might not work well with JavaScript 14:50
(arguably POD does not work well with Parrot's own source code, but I won't fight that battle)
rohit_nsit08 scriptdoc should work very fine i guess
having look at doxygon 14:51
whiteknight doxygen is the only real one that I'm familiar with
I found scriptdoc on google. I don't know anything about it 14:52
rohit_nsit08 are u able to access doxygen.org ?
looking at the google's cached copy 14:53
cotto_work ~~
whiteknight yeah, I can access it
Rhino appears to use something called JSDoc
allison TimToady: DWIM for 'patch' blog.dustinkirkland.com/2011/03/bik...strip.html 14:56
rohit_nsit08 hmm..lots of option to choose from, i think scriptdoc and jsdoc will be fyn for now, will decide during actual coding by experimenting which one is better 14:57
moritz \\o/ I've long waited for that (apply-patch)
cotto_work allison: coming soon to a distro near me?
14:57 benabik joined
benabik 'lo, #parrot! 14:57
allison cotto_work: very possibly :)
cotto_work hio benabik 14:58
moritz please push it to Debian :-)
dukeleto ~~
allison moritz: the idea is to push it all the way upstream to patch
moritz allison: as a separate binary?
allison moritz: as an option
whiteknight it should be trivial to add command-line switches to patch to do those behaviors 14:59
well, maybe not trivial, but not super hard either
moritz allison: that works for me too, easy to make it an alias
so that I don't have to type those options :-)
whiteknight patch --auto-strip --input=myfile.diff
rohit_nsit08 whiteknight: scriptdoc will require using aptana so , i think for now , jsdoc will be fyn 15:01
15:02 bubaflub joined
whiteknight rohit_nsit08: okay. Like I said I found it on google 15:02
jsdoc is what rhino uses, so it can't be completely bad
unless rhino is completely bad
15:05 Hackbinary joined
rohit_nsit08 checking out orgs using jsdoc 15:06
whiteknight rohit_nsit08++ 15:07
rohit_nsit08 this one looks nice , it's using jsdoc developer.myspace.com/community/mys...eContainer 15:08
whiteknight that is nice 15:09
rohit_nsit08 hm.. for now lets keep jsdoc , will see if better options are avaiable later :-)
15:10 rurban_ joined 15:12 rurban left, rurban_ is now known as rurban
dukeleto rohit_nsit08: sounds fine to me 15:12
rohit_nsit08: we also need some kind of test framework that doesn't requires a DOM/browser, i.e. js tests that we can run from the command-line 15:13
moritz shouldn't be too hard to implement a TAP library in JS 15:14
then you can reuse the Perl harness
and everybody is happy, because that's what parrot uses too
whiteknight dukeleto: We've already talked about test frameworks. He's thinking Rosella, at least for the bootstrappy parts 15:15
after that, maybe rosella or jspec
moritz testanything.org/wiki/index.php/TAP...Javascript
15:17 hercynium joined
dukeleto whiteknight: i see you are recruiting for Rosella ;) Works for me. 15:17
whiteknight dukeleto: Don't need to recruit. It's a good option, especially for the bootstrappy parts
dukeleto whiteknight: yes, the mocking stuff will be very useful
whiteknight plus, it happens to be well documented, and there are plenty of code examples
dukeleto whiteknight: i remember reading it, but how are Parrot-Test and Rosella related? 15:18
whiteknight jspec looks like it has mocks too. Now that I think about it, mocks must be extremely easy to put together in JS
dukeleto: Parrot-Test was the old name
got renamed to Rosella
dukeleto whiteknight: now I understand, thanks
awesome. This GSoC project will build on lots of great previous work, which is a good sign
tadzik oh, applications start today, don't they? 15:19
whiteknight yes, it is great when we can start reusing lots of code, building on the shoulders of giants, etc
tadzik: I think so, but several students have already started posting drafts on gist for review
rohit_nsit08 whiteknight: that's what we call , open source :-)
whiteknight rohit_nsit08: yes :)
The best part about a project like JavaScript compiler is that we can start using tools from the javascript community too 15:20
that's the real power
rohit_nsit08 whiteknight: ya javascript is a wonderful language , to code in , as they say "everything is object oriented " 15:21
moritz got "Javascript - The Good Parts" yesterday
rohit_nsit08: by the way it's usual not to put spaces before , and closing " (nothing huge, just weird style :-) 15:22
rohit_nsit08 moritz: sorry , :-) didn't noticed while typing 15:23
15:26 contingencyplan joined, bacek left 15:34 shell joined
bubaflub dukeleto, whiteknight et. al: here's my GSoC proposal for GMP bindings: gist.github.com/890669 15:35
whiteknight bubaflub++
bubaflub i'll hit up the email list as well
whiteknight I'll start looking it over now and making comments 15:36
I hope you have thick skin :)
bubaflub whiteknight: yeah, please tear it apart 15:38
whiteknight: the timeline is definitely the weakest... no idea how long it'll take to do these things 15:39
moritz bubaflub: that's normal
whiteknight bubaflub: it's okay, all students seem to be having trouble making a detailed timeline
rohit_nsit08 me too , working on it
moritz bubaflub: some lines are wider than the window, wrapping them would help readability</tiny nit>
bubaflub moritz: ah, yeah, it wrapped when i was writing it... i'll fix that real quick 15:40
15:40 woosley left
moritz bubaflub: I like that proposal. I'd love to see some few examples of using GMP from an HLL early-ish in the timeline 15:41
(unless I missed it, and it's there already :-) 15:42
bubaflub moritz: ok. i know i can call raw PIR from NQP but there is probably a classier way of doing it
moritz since HLLs are our ultimate users, focusing on them first is probably insightful
bubaflub moritz: any HLLs to recommend? i'm only familiar with cardinal and a little bit of Perl6 15:43
moritz bubaflub: I don't think you need to settle on one for the proposal yet, just that you'll do it 15:44
rakudo, cardinal, winxed, partcl-nqp and lua might be worth looking at 15:45
bubaflub moritz: okey dokey 15:46
shell i like ruby very much 15:47
it's fancy
i think it would be a good choice 15:48
moritz fancyness really doesn't matter for such a demo 15:49
bubaflub whiteknight: good feedback, i'll do some edits to address these 15:53
rohit_nsit08 whiteknight: pls check if i'm correct - in second stage , when stage 1 compiler is stable and running on parrot , it'll be having JSON AST at that time , and i'll have to transform that into PAST objects , which will allow us to use optimizations available in parrot already. 15:55
whiteknight: the deciding factor to move to stage 2 should be based on some benchmarks , we'll set in our test suite , basically i'll have to ensure that it's stable and running and can compile it's own source 15:56
16:03 shell left
bubaflub whiteknight: i'm more familiar with PIR and Test::More - do you think i should go the rosella route instead? 16:04
if you say yes, you'll be getting pestered by me a lot...
whiteknight bubaflub: go with whatever you are comfortable with 16:08
bubaflub whiteknight: i was thinking of doing all this at the PIR level, or at least all of the guts and unit tests at that level
whiteknight: i'll investigate parsing the header file to get the NCI def file faster but there is #define silliness all over the source so mpz_init() is actually __init_mpz() 16:10
whiteknight bubaflub: if they consistently use #define, you might be able to set up a quick perl script to extract and mangle those
bubaflub whiteknight: that's what i'm hoping. probably one pass to get all function names, another pass to pull in the function signatures 16:11
Coke hurm. mentor profiles from previous years not accessible? 16:12
whiteknight Coke: some stuff is missing from the new UI design by accident 16:13
16:14 rohit_nsit08 left
whiteknight Coke: I can think of a million better times for them to have launched such a massive overhaul of the site. At the critical beginning points of GSoC does not seem like a good time to me 16:14
bubaflub: writing everything in PIR is fine too, if that's what you really really want
bubaflub whiteknight: when you put it that way i'm not sure what i really want... most of my work has been in PIR but i'm open to other suggestions 16:15
whiteknight: i suppose anything that compiles down to pbc would work, right?
whiteknight bubaflub: don't worry about it, I'm not trying to scare you. Whatever you want will work 16:16
if you know PIR and are a whiz at it, do that
bubaflub /me runs away scared
16:16 rohit_nsit08 joined
rohit_nsit08 sorry , connection got lost 16:16
whiteknight rohit_nsit08: PAST are parrot objects. So to create PAST, you need to have a JavaScript compiler that is already running on Parrot 16:17
rohit_nsit08: so determining whether to work with PAST means we have to determine if we have a JavaScript compiler running on Parrot already, or not 16:18
rohit_nsit08: so if your stage-1 takes too much time, or if there are roadblocks, or if you are having trouble, you might want to abandon thinking about stage-2 16:19
Coke takes this opportunity to change his mention email address from gmail to <hosted account>
rohit_nsit08 whiteknight: yes, and after stage1 (if finished) ,we'll be having a javascript compiler running on parrot ,
Coke s/mention/mentor/
whiteknight rohit_nsit08: yes. So, if you finish stage-1 *early*, you will have good time for other things like stage-2. If you finish stage-1 *late*, you might not have time for it 16:20
bubaflub whiteknight: as for the wrapper class, dukeleto mentioned that it might actually be slow
whiteknight bubaflub: what might be slow?
bubaflub whiteknight: but i'm not sure what my alternative would be
whiteknight: i was thinking it would be better to have an opaque pointer to the GMP C object rather than have a struct where we can access GMP guts 16:21
whiteknight bubaflub: yes, I think opaque pointers are the way to go in this case
rohit_nsit08 whiteknight: my current deadline for stage1 which i have set for myself is 22 july , one month before final deadline ,will try best to stick on it
whiteknight the BigInt and BigNum types in Parrot do exactly that
rohit: Okay, so if your stage-1 compiler works, has tests, and passes all tests by that deadline, you move on to stage-2
rohit_nsit08: if you do not meet that deadline, you won't have enough time, maybe you move to something else 16:22
rohit_nsit08 whiteknight: so shall i include PAST in the project details or mention it in some other heading
whiteknight rohit_nsit08: Yes, mention it in the timeline, but include information about the deadline. You only do PAST if stage-1 is working on schedule
rohit_nsit08: if not, include a backup plan. Pick other, smaller, features to work on instead
rohit_nsit08: We want you to complete as much as you can, and write as much good code as you can in the summer 16:23
rohit_nsit08: We do not want you to have things which are not complete at the end
NotFound I think that a lot of possible optimizations should be better done in your own AST, before emiting PAST ot whatever. 16:24
rohit_nsit08 whiteknight: okay , i'm including in the later stage of the timeline with a backup strategy if things start getting wrong , we'll go back to stage 1 to improve it further
whiteknight okay, awesome
lucian rohit_nsit08: mostly guessing, but PAST isn't customised for JS and may not map well 16:25
if i were you, i'd stick to JS ASTs forever
whiteknight lucian: don't confuse him! We can improve PAST if there are problems with mapping
lucian PAST might be useful for codegen, but i'm not sure
whiteknight I suspect the mapping issues won't be too bad
that's why I want PAST, for the optimizer framework and the codegen POST backends
lucian is the optimiser framework pertinent for JS? i don't know 16:26
NotFound Stage 1 is the first? We usually use zero.
whiteknight rohit_nsit08: also, when you get a chance, look at github.com/parrot/parrot/blob/mast...31_hll.pod
rohit_nsit08 lucian: thanks :-), i'll go through PAST side by side , so that when second stage starts , i'll know whether i'm ready to implement it or not
whiteknight rohit_nsit08: if you have a compiler object for JavaScript, you can load in JavaScript from other languages 16:27
lucian rohit_nsit08: i don't know, maybe past will be useful. but since you're starting with a js env, a JS AST has to exist anyway
whiteknight rohit_nsit08: that's another thing to keep in mind for your project, working with other languages might be a nice way to fill time
lucian: it depends on the parser he's using. It's probably not too hard to either map from his AST to PAST, or to modify the parser to produce PAST directly 16:28
NotFound whiteknight: and with host applications, which is how javascript is used most times.
whiteknight it's exploratory
NotFound: exactly
rohit_nsit08 whiteknight: i'm free for this summer , so will get some good time for side study and experimentation , i want this project to be a successfull one
whiteknight rohit_nsit08: Awesome! We want it to be successful too! 16:29
rohit_nsit08: you also need to think about a fancy name. "ECMAScript" is an ugly name
rohit_nsit08: fancy names are important :)
NotFound For example, a text editor that can handle the document using the dom just like inside the browser mat be great.
lucian whiteknight: QuackScript 16:30
whiteknight NotFound: Yes. But that would require a document parser and a DOM library. Those might not be available at first
rohit_nsit08 whiteknight: thanks :-) , (will go through some name related to parrots :-) ) i think my second version of proposal is almost ready , i'll upload it in few minutes to have more feedback from community
lucian NotFound: there's a few around :)
NotFound whiteknight: even without parsing, just for creating, will be useful.
whiteknight rohit_nsit08++
NotFound: yes. I think that may be hard in the GSoC summer though 16:31
NotFound lucian: but they aren't parrot based.
lucian NotFound: i think elisp might be a better target for that, though
the js editors are very immature
NotFound Maybe elisp ones are toooo mature ;)
rohit_nsit08 i noticed , all the other projects are related to parrots ,p.s. whenever i search on google about a project name , i see lots of parrots loll 16:32
NotFound Trying to beat emacs might be suicidal :D
lucian NotFound: not beat it, reimplement a small part of it :)
16:32 bubaflub left
whiteknight rohit_nsit08: yes, we're not always very creative. We search for parrots on wikipedia and use whatever pops up as the next project name 16:33
NotFound whiteknight: for some value of "we"
whiteknight oh yes, NotFound makes up words, or pulls them from anime
16:35 kid51 joined
lucian btw, rosella is a very pretty parrot 16:35
NotFound Myabe we should do like the secret services, sets up a department in charge to choose and assign mission names. 16:36
whiteknight yeah, I wanted something colorful
lucian i'm boring, i'd just call it ParrotJavaScript
atrodo whiteknight> you should have picked "yellow" or "blue" then
NotFound Well, at least the ones in Tom Clancy books do, don't know about the real things.
lucian AcmeScript 16:37
en.wikipedia.org/wiki/Wile_E._Coyot...oad_Runner
NotFound lucian: too easy to confuse with ecmascript.
lucian not quite a parrot
NotFound: that's the point 16:38
or Road Runner
although that's not very evocative of JS
NotFound lucian: the joke is good, but the words are too close.
atrodo lucian> Also, Acme means "not a serious module" in the perl world
NotFound RoadScript sounds good. 16:39
whiteknight rohit_nsit08 gets to pick!
lucian atrodo: i pretend perl doesn't exist most of the time
rohit_nsit08 working on it :-)
lucian whiteknight: sure, but we can help
NotFound If you want a really bad joke: CollectorScript (opposed to ActionScript) 16:40
16:40 particle1 joined, dodathome joined 16:42 benabik left 16:44 particle left
rohit_nsit08 found two beautiful ones , conure and eclectus , i didn't saw if we are already using them, which one is better ? 16:45
whiteknight Eclectus was the name of the very old scheme compiler
rohit_nsit08 oops , already taken :-( , it was my favourite 16:46
whiteknight rohit_nsit08: Do you speak hindi?
rohit_nsit08 whiteknight: yes it's my mother tongue
whiteknight rohit_nsit08: how do you say "Parrot" in hindi? 16:47
if there even is a word for it
rohit_nsit08 whiteknight: "mittho" and "totaa", in hindi , and an even older name is "shuka" in sanskrit 16:49
particle1 eclectuscript!
16:49 particle1 is now known as particle
particle whiteknight: msg me your addr, so i can send you the pafo treasurer chest 16:50
rohit_nsit08 whiteknight: will look for it tomorrow , a creative one , something in between javascript and parrots , it needs to be a special one :-) 16:52
whiteknight rohit_nsit08: TotaaScript sounds fun to me
rohit_nsit08 whiteknight: loll, yes it's funny , my friends in india will surely get surprised :-D 16:53
whiteknight: in india we have more than 100 languages , so i'm sure i'll find something awesome !! 16:54
till than , lets keep totaascript 16:55
:-)
whiteknight I like it!
rohit_nsit08 :-) okay , now i'm doing some final editing in the proposal , coming to your way 16:56
whiteknight awesome, can't wait 16:57
17:00 lucian left 17:05 lucian joined
lucian should probably write a proposal as well 17:06
17:07 rohit__nsit08 joined
whiteknight lucian: you're good, but not so good that you'd get accepted without one :) 17:08
lucian heh
17:09 rohit_nsit08 left 17:15 bubaflub joined
dalek sella: ec6dfcd | Whiteknight++ | src/tap_harness/testfile/Custom.winxed:
Add in a Custom TestFile type, which we can use for specifying a custom run command for tests which don't fit an existing mold but aren't hard to invoke
17:26
sella: 00bcd1e | Whiteknight++ | src/tap_harness/testfile/Custom.winxed:
the TestFile.Custom can now take a custom compiler object too.
sella: 1681daf | Whiteknight++ | s (2 files):
add to setup. fix so we build
17:28 M_o_C left 17:33 GodFather joined 17:35 M_o_C joined 17:44 dmalcolm joined 17:52 ShaneC left
dalek nxed: r876 | NotFound++ | trunk/winxed_installed.winxed:
add compile time debug option to installable compiler
17:59
18:01 [hercynium] joined 18:06 hercynium left, [hercynium] is now known as hercynium
dalek rrot: 3a6dd16 | dukeleto++ | api.yaml:
Revert "remove pkg-config deprecation notice (completed)"

This reverts commit f987b92b442cba2cd24f171b276798aa698de55b.
18:07
rrot: b7cf686 | dukeleto++ | api.yaml:
Mark the pkg-config deprecation as completed
18:08 rohit__nsit08 left, ShaneC joined 18:09 zby_home joined 18:13 ambs left 18:15 lucian left 18:22 rohit_nsit08 joined 18:24 ambs joined
rohit_nsit08 whiteknight:just wanted to confirm the terminology, we are getting stage 0 compiler when we'll run generated PIR code on parrot and get standalone executable compiler , and nodejs will be our bootstrap compiler in the process, got confused when i saw somewhere on google that stage 0 is the bootstrap compiler , 18:25
dukeleto: am i correct here? 18:26
whiteknight nodejs is the stage-0 compiler. stage-1 is what we get when we add in the PIR code generator and can compile itself 18:27
stage 2 is anything we do once we are already running on Parrot
atrodo stage 2 = magic! 18:28
whiteknight magic and unicorns
rohit_nsit08 whiteknight:got it , i was using "bootstrap compiler " for nodejs . thanks , so stage 2 is the ultimate goal
atrodo and velociraptors
whiteknight rohit_nsit08: stage 2 is a good goal, yes. Once we are running the compiler on Parrot, we can do fun things with it 18:29
rohit_nsit08: if things go badly, stage-1 is an acceptable result
rohit_nsit08 other developers can make stage-2, if you set up a good stage-1
rohit_nsit08 whiteknight: stage 2 is when our stage 1 is able to compile itself easily ? 18:30
whiteknight rohit_nsit08: stage-2 is when we add new features which are only for Parrot. We add new features that do not run on stage-0
stage-1 should be able to compile itself 18:31
particle must.
whiteknight stage-1 must be able to compile itself
:)
rohit_nsit08 whiteknight: i'm afraid we didn't discussed features , integrating PAST can be a feature , i'm putting stage 2 on proposal , suggest some simple which we can implement in the later stage of timeline , when stage 1 get finish in desired time 18:32
whiteknight did you read that PDD31 link I sent you? 18:34
18:34 chimmi joined, chimmi left 18:35 hercynium left, hercynium joined
rohit_nsit08 whiteknight: pls send me link again , i was facing some problem with the internet connection that time :-( 18:36
18:36 hercynium left
bubaflub rohit_nsit08: github.com/parrot/parrot/blob/mast...31_hll.pod 18:36
NotFound whiteknight: I'd call 0 what you call 1. The compiler used to compile stage 0 is just an external tool. 18:37
dukeleto rohit_nsit08: i am currently thinking about the best way to transform the JSON AST to PIR 18:39
bubaflub: did you have any questions? 18:40
18:40 himanshu joined
dukeleto himanshu: welcome 18:40
himanshu hello
bubaflub dukeleto: i've got a basic proposal up at gist.github.com/890669, feel free to comment there. i'm addressing some of whiteknight++ 's comments
rohit_nsit08 dukeleto: :-)
himanshu was just wondering if someone could give me a brief idea about the "python3 on parrot" and "java on parrot" projects 18:41
rohit_nsit08 whiteknight: got it , stage 2 will provide load_module() facility to the code compiled in javascript - parrot so that they can use modules made in other languages and integrate in itself and also other languages can do the same 18:46
whiteknight yes, that's a good idea
himanshu: welcome
rohit_nsit08 himanshu: hi
himanshu hi!:) 18:47
whiteknight NotFound: the exact terminology we use isn't important, so long as we are consistent 18:48
18:49 cogno joined
himanshu Are there any links provided where more details about the projects can be found?Because the project description does not explain much. 18:49
rohit_nsit08 whiteknight: i agree
whiteknight himanshu: There isn't any place with more details. But we can answer questions if you like 18:51
himanshu: We want a Python compiler on Parrot.
himanshu: Best course of option is to take an existing Python compiler and add in a Parrot backend for it 18:52
rohit_nsit08 whiteknight: i have one doubt about the timeline , i just checked with my academic calendar that summer holidays are from 1st of june while university exams are scheduled from 16 of may till 31 , and so i won't be able to start coding work which is scheduled on 22 of may, i've included it in the timeline , shall i start my timeline from 22 onwards or 18:55
whiteknight: or from 1st of june , from which holiday begins 18:56
whiteknight rohit_nsit08: mention the timing in your timeline. Just add an explanation of the absence
tadzik whiteknight: in your blag toast you are using a Rosella library in an NQP code. So language interop does work to some extend, yes? 18:57
18:57 mj41 joined
whiteknight tadzik: Yes. in a general sense, language interop "works" if you don't do anything crazy. Rosella is specifically intended to be language agnostic 18:57
tadzik: Rosella is written in Winxed, but most of the Rosella test suite is written in NQP 18:58
rohit_nsit08 whiteknight: ya i've added the reason , 'end semester exams' , so i'm starting my timeline from 1st of june , is it fyn ?
whiteknight rohit_nsit08: yes, fine by me
rohit_nsit08 whiteknight: okay , thanks
19:01 himanshu left
dukeleto bubaflub: will take a look in a few mins 19:03
bubaflub dukeleto: great. i'll be in and out from work and class
rohit_nsit08 whiteknight: just to confirm, i guess there is no dependency of inclusion of PAST and moving from stage 1 to stage 2 compiler, both can be done independently 19:18
whiteknight: even if i fail to implement PAST , i can still proceed furthur on stage 2 compiler? 19:19
whiteknight right, PAST is just one nice feature to add to stage 2 19:20
dukeleto rohit_nsit08: what do you mean "implement PAST" ?
whiteknight but you can do other things in stage 2
rohit_nsit08 dukeleto: transforming stage 1 compilers original AST into PAST, am i making any mistake ? pls point it out 19:22
whiteknight dukeleto: after he gets a stage-1 compiler self-hosted, we are kicking around the idea of the compiler generating PAST internally, and allowing PAST to handle optimization and eventual compile down to PIR 19:24
rohit_nsit08 whiteknight: yes , exactly 19:25
19:26 ambs left 19:27 bubaflub left, ambs joined 19:28 DevNull joined
dukeleto rohit_nsit08: interesting 19:33
rohit_nsit08: sounds fine to me, but i am wondering whether this gsoc project should concentrate on the stage 0 compiler stage. 19:34
19:34 Hunger left 19:38 cogno left 19:39 cogno joined
rohit_nsit08 dukeleto: stage 0 is the nodejs , isn't it? 19:43
dukeleto: pls confirm 19:44
whiteknight rohit_nsit08: that's the terminology I have been using, yes 19:45
rohit_nsit08 whiteknight: ya , i'm following that , but dukeleto mentioned this project should focus on stage 0 , so i wanted to clarify that his stage 0 is our stage 1 , 19:46
whiteknight rohit_nsit08: it's just a change in terminology. He's off by 1 19:47
rohit_nsit08: he wants you to focus on the thing I call "stage 1"
rohit_nsit08 whiteknight: loll, got it , that's why i got confused that time . now i can think beyond stages what i need to focus on , thanks 19:48
dukeleto just, there is some confusion with terminology
*currently* the stage 0 compiler
is nodejs
whiteknight rohit_nsit08: it may be good to add definitions to your proposal for what "stage 0", "stage 1" and "stage 2" are, so everybody is not confused 19:49
dukeleto whiteknight++
dukeleto was mixing terminology
rohit_nsit08: what you and whiteknight++ have been talking about is better terminology, stick to that
rohit_nsit08: so i *meant* to say is that this gsoc project should concentrate on stage 0 and stage 1
whiteknight yes, my thoughts exactly 19:50
dukeleto rohit_nsit08: you can of course have plans for stage 2 if things go really well, but the bulk of gsoc will be making stage 1 really awesome
rohit_nsit08 thanks both of u , i'm now clear on my terminology and following 0,1,2 in the proposal :-)
dukeleto and my high-level view of stage 1 is: dump the AST from PEG.js as JSON, then use the parrot JSON parser to read it in, then transform it to PIR with a Simple Matter of Programming
rohit_nsit08 dukeleto: i have made a backup policy to ensure stage 1 gets primary focus 19:51
dukeleto rohit_nsit08: awesome
rohit_nsit08 dukeleto: thanks :-) 19:53
whiteknight dukeleto: PEG.js -> Json -> Json2pir -> Parrot? Sounds like a rube goldberg to me 19:54
all we need is a monkey robot, a bowling ball, and a pack of matches to complete the process
19:55 lucian joined
dukeleto whiteknight: don't forget duct tape 19:56
whiteknight: PEG.js actually gives me a JS object, but i can easily dump that to JSON 19:57
whiteknight: what is the best route to get from there to PIR?
whiteknight I don't know what the "best" route is. I guess the json route is not terrible 19:58
moritz note that JSON only does trees, not graphs
whiteknight I was hoping he could start by adding a PIR backend to the cafe compiler
moritz some #perl6 had troubles with that while writing AST serializers
dukeleto moritz: interesting
whiteknight right now, cafe is a JavaScript->JavaScript compiler, so replacing the backend should give us JavaScript->PIR
dukeleto moritz: perhaps I will have to actually walk the JS objects, then
whiteknight: if you think cafe is a better route, than I am all for it 19:59
whiteknight dukeleto: Again, I don't know "better". cafe is a complete JS compiler written in JS. So it seems like a path of least resistance
dukeleto appreciates the wisdom moritz++ imparts
whiteknight moritz is a fountainhead of wisdom
moritz no, I'm just parroting what other people said on #perl6 20:00
dukeleto moritz: please, let us teach you to take a compliment occasionally ;) 20:01
whiteknight and he's so modest!
dukeleto moritz: or we will be forced to compliment you ALL THE TIME :P
whiteknight aloha moritz is the bomb diggity
aloha whiteknight: ... but moritz is a fountainhead of wisdom ...
whiteknight damnit, compliment overload! 20:02
moritz :-)
20:03 bubaflub joined 20:07 M_o_C left 20:16 kid51 left
rohit_nsit08 whiteknight: hi , version 2 project proposal uploaded on gist gist.github.com/891156 20:20
20:20 darbelo joined, darbelo left
cotto_work rohit_nsit08: s/ ,/,/g 20:20
20:20 darbelo joined
rohit_nsit08 putting in on the mailing list 20:20
cotto_work : sorry, didn't get that 20:21
cotto_work It's not necessary to put a space before a comma.
rohit_nsit08 cotto_work : sorry again, but now i'm taking note of it:-) 20:22
cotto_work rohit_nsit08: thank you. 20:23
rohit_nsit08 cotto_work: thanks :-)
dalek nxed: r877 | NotFound++ | trunk/t/basic/0 (6 files):
fix coding style in basic tests
20:24
whiteknight rohit_nsit08++ The proposal looks very nice now 20:25
rohit_nsit08 whiteknight: thanks, added milestones with all the weeks, pls read the project details section and timeline, it will be better to get more and more clear about these sections :-) 20:26
cotto_work rohit_nsit08: I wouldn't mention it if I didn't think you'd be around during gsoc. ;] 20:28
rohit_nsit08 whiteknight: i'm facing with the indentation problem on gist, i try to make it more and more readable but still some lines go beyond the limits 20:29
whiteknight rohit_nsit08: it's not a big deal
dukeleto rohit_nsit08: did you mention something about having finals during GSoC?
bubaflub: your proposal is a good start, but of course, I want more details :) 20:31
bubaflub: are you still stuck on that same bug?
bubaflub: you should mention that you are working in a branch of the main parrot github repo
rohit_nsit08 dukeleto: u mean exams ?
dukeleto bubaflub: "* All HLLs get access to GMP for free" should be listed as your 1st benefit, it is the most important 20:32
rohit_nsit08: yes, do you have exams during GSoC ?
20:32 whiteknight left
rohit_nsit08 dukeleto: ya i have mentioned them in the timeline 20:32
dukeleto : as given in the academic calendar, they are from 16 may till 31 may, so i have started my timeline from 1st of august 20:33
20:34 zby_home_ joined
rohit_nsit08 sorry 1st of june 20:34
cotto_work : :-) 20:35
20:36 zby_home left
dukeleto rohit_nsit08: that won't work 20:36
rohit_nsit08: you should start early 20:37
rohit_nsit08: from all my experience with students in GSoC, you don't want to have a built-in "try to catch up" phase
rohit_nsit08: from all the work you are doing to make your proposal awesome, I don't see that being a problem for you
rohit_nsit08: much better to start hacking even before the coding period, and have lots of time to perfect things and do extra during the coding period 20:38
rohit_nsit08 dukeleto: i'm starting early, infact i have starting my timeline from 28 march itself , pls read the project schedule's starting part 20:39
20:40 cogno left 20:41 fperrad left
rohit_nsit08 dukeleto: i understand that the compiler project is not an easy one, i have scheduled my timeline keeping in mind the priorities and how i'll be proceeding to accomplish my milestones. 20:43
dukeleto rohit_nsit08: ok, will read more. I am lightly reading many gsoc proposals right now :) 20:44
dalek nxed: r878 | NotFound++ | trunk/t/basic/04for.t:
improve for tests (stage 0 fails one, this is expected)
20:45
rohit_nsit08 dukeleto: ok :-) exams will take just 14 days and if needed i'll try to get 1 or 2 hours free daily to work on project, i didn't mentioned it because i was not sure about the situation that time :-) 20:47
dukeleto: pls make comments on the timeline and project details, they will help me a lot 20:48
bubaflub dukeleto: updated at gist.github.com/890669
msg whiteknight updated the GSoC proposal, hopefully answers some of your questions gist.github.com/890669 20:49
aloha OK. I'll deliver the message.
20:51 dodathome left 20:52 mj41 left
dalek nxed: r879 | NotFound++ | trunk/winxedst0.cpp:
fix for in stage 0
20:56
20:57 prank joined
rohit_nsit08 good night #parrot , see u tomorrow :-) 21:05
bubaflub good night rohit_nsit08 21:08
21:08 rohit_nsit08 left 21:10 DevNull left 21:18 ambs left 21:25 bluescreen left
dukeleto bubaflub: incoming (on parrot-dev) 21:25
bubaflub dukeleto: great. i get those as digest so i'll read it in a bit 21:26
or... just go to the mailing list archives
21:27 zby_home_ left
cotto_work I need to make sure my previous gsoc welcome email is updated and put somewhere public. 21:28
msg cotto Make sure your previous gsoc welcome email is updated and put somewhere public.
aloha OK. I'll deliver the message.
21:33 plobsing joined 21:34 GodFather left 21:50 darbelo left
dukeleto msg cotto do twice as much stuff, twice as fast 22:04
aloha OK. I'll deliver the message.
dukeleto hopes that works
cotto_work msg dukeleto not likely 22:05
aloha OK. I'll deliver the message.
22:06 whiteknight joined, bubaflub left
whiteknight good afternoon, #parrot 22:09
22:11 soh_cah_toa joined
dalek tracwiki: v9 | dukeleto++ | HowToDeprecate 22:14
tracwiki: trac.parrot.org/parrot/wiki/HowToDe...ction=diff
cotto_work good $something, whiteknight 22:16
soh_cah_toa i got a question: do i need to go through the process of creating a patch and trac ticket when all i need to fix are a few mistakes in the docs/dev documentation? 22:17
cotto_work soh_cah_toa: if it's small you can nopaste a patch here 22:19
or fork on github and submit a pull request
whiteknight soh_cah_toa: pull requests are the easiest 22:20
soh_cah_toa ok so i forked and submitted a pull request but github complains that parrot:master is already up to date with soh-cah-toa:master 22:21
cotto_work you probably didn't commit
sorear did you push your patch to github?
cotto_work or push, as sorear++ mentioned 22:22
soh_cah_toa no...do i just do a normal git commit before a pull request?
sorry, never used github before 22:23
cotto_work soh_cah_toa: yes
soh_cah_toa: their help documentation is great 22:24
s/help //
soh_cah_toa yeah, i've been going through some of it
so for anything i want to submit i just fork a branch on github, makes changes, git commit, pull request? 22:25
whiteknight git commit, git push 22:26
pull request
cotto_work soh_cah_toa: yes. If you expect to do that frequently, make one branch per change on your clone
that makes it easier for you to keep changes separate
soh_cah_toa so if i need to change several docs...do a fork for each doc?
dukeleto soh_cah_toa: nope 22:27
soh_cah_toa: read this: github.com/parrot/parrot/blob/mast...rkflow.pod
soh_cah_toa: you want to follow the directions for "maintaining and syncing a fork"
soh_cah_toa yeah, this is what i need. thanks
dukeleto soh_cah_toa: you fork parrot.git once, that is your sandbox
soh_cah_toa: and you send us collections of commits (which are really just patches), which github calls "pull requests" 22:28
soh_cah_toa alright, i misunderstood cotto_work
dukeleto soh_cah_toa: makes sense?
soh_cah_toa: also read github.com/parrot/parrot/blob/mast...nology.pod 22:29
soh_cah_toa: before the other :)
soh_cah_toa great, i think i got it. we'll see...
dukeleto soh_cah_toa: if you have more questions, ask me, anybody else in here or on the parrot-dev list
22:32 cosimo joined
soh_cah_toa wow, i have this weird sensation of code-culture shock. in all my classes, i've always been at the top of my class, like a big fish in a small pond but here i feel like a little fish w/ all my n00b questions 22:33
they should make us submit homework through git :) 22:34
dukeleto soh_cah_toa: yes, they should 22:39
soh_cah_toa: computer science class learning and the actual things that are needed to get working, running code are often very different things 22:40
22:40 whiteknight left
soh_cah_toa absolutely 22:41
cotto_work not to mention deployable
dukeleto soh_cah_toa: gsoc is like a bootcamp before you get a software development job, to get you in shape for coding :) 22:42
soh_cah_toa are you guys gonna wake me up at 3 in the morning to run the parrot obstacle course? :)
cotto_work more than anything 22:43
22:43 dafrito joined
soh_cah_toa haha, i can handle it 22:43
that's what i like about gsoc. to be honest, i'm not really that concerned about money. i want the experience more than anything 22:44
bacek_at_work ~~ 22:45
22:45 whiteknight joined
soh_cah_toa another question: what's w/ the double tildes? 22:46
cotto_work aloha: ~~?
aloha cotto_work: Search me, bub.
cotto_work aloha: ~~ is waving hello 22:47
aloha cotto_work: Okay.
soh_cah_toa yeah, that. another bot?
cotto_work msg soh_cah_toa yes 22:48
aloha OK. I'll deliver the message.
soh_cah_toa so aloha handles msg commands? 22:49
whiteknight soh_cah_toa: yes aloha is magic 22:50
aloha handles messages, karma, and factoids
lucian LAME PROPOSAL STOP HELP WANTED STOP: gist.github.com/891481 22:51
soh_cah_toa cool
whiteknight lucian: we need a timeline showing a week-by-week breakdown of your intended milestones 22:57
lucian: Also, make sure the timeline includes some "extra" things to do if you're ahead of schedule, and some fat that can be cut if you are running behind 22:58
lucian: otherwise it's looking pretty good 22:59
dukeleto lucian: wordwrap to something sane, please :) 23:02
lucian: looks very good, sans what whiteknight++ has already said (timeline is the most important) 23:03
we should try to recruit this dude, if only because he is surely capable of crazy useful stuff: github.com/shinh/maloader 23:09
lucian dukeleto: oh, i didn't realise gist doesn't wordrwap 23:10
23:10 rurban_ joined
lucian yeah, the timeline is Coming Soonā„¢ 23:11
23:12 rurban left, rurban_ is now known as rurban 23:15 cgaertner joined
plobsing ~∼ 23:15
cgaertner hello #parrot
whiteknight hello cgaertner 23:16
cgaertner no news from my side yet 23:17
however, I finally got a decent dev environment working on windows 23:18
23:19 bubaflub joined
cotto_work cgaertner: great. We need more windows hackers. 23:20
23:21 sjn left
dukeleto lucian: no worries, gist is gisty like that 23:21
cgaertner: howdy
cgaertner cotto_work: I had a hybrid mingw+cygwin setup going which worked quite well for the C coding I did
now, I'm pure mingw/msys
dukeleto: hi 23:22
I'm currently testing perl-5.12.3, which doesn't fail horribly yet 23:23
then, on to parrot...
whiteknight cgaertner: are you on 32bit or 64 bit? 23:26
cgaertner whiteknight: 32bit
whiteknight okay, good. 32bit is easier 23:27
windows on 64bit is...tricky
23:35 lucian_ joined 23:38 lucian left
cgaertner 356844 tests, 13 failures - let's see if parrot can do better 23:39
whiteknight that's perl? 23:40
cgaertner yes, using the instructions from www.adp-gmbh.ch/blog/2004/october/9.html for a win32 build 23:41
whiteknight I've never built my own perl before
cgaertner I couldn't get configure+make work correctly...
whiteknight for Parrot? 23:42
cgaertner for perl - the win32-build uses dmake instead of configure/make
I already had a working parrot using strawberry, so I don't expect any problems... 23:43
23:46 mikehh left
cgaertner configuring... 23:47
interesting - only works with mingw-make, not msys-make... 23:48
dukeleto cgaertner: our configure system is a the battlefield of OS noncompatibility, with much blood and rotting corpses 23:50
cgaertner should parrot auto-detect gmp - I think the last time I built it I saw that lib... 23:51
23:52 dmalcolm left 23:57 mikehh joined
dukeleto cgaertner: it should 23:58
cgaertner: but certain library detection on window-ish systems is fragile, depending on the phase of the moon and whether spaces are in a directory name
cgaertner: other variables are most likely involved as well