|
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 | Goals: Get more GSoC ideas on wiki; close tickets; stable 3.2 release; assess status of roadmap goals for 3/15 meeting. Set by moderator on 18 March 2011. |
|||
| whiteknight | that or NQP are the preferred languages for this project, I think | 00:00 | |
| so if you like Perlish stuff more, do NQP | |||
| soh_cah_toa | yeah, i've been skimming through it in the parrot-instrument source | 00:01 | |
| whiteknight | Rosella is a library project I wrote that's all written in Winxed | 00:02 | |
| you can check that out for information about syntax | |||
| soh_cah_toa | library for what? | ||
| whiteknight | all sorts of stuff | 00:03 | |
| actually, it's lots of little libraries | |||
| ttbot | Parrot 6ee33b49 MSWin32-x86-multi-thread make error tt.taptinder.org/cmdinfo/58885 | ||
| whiteknight | Now that I think about it, Rosella has one or two features which might be useful in a debugger | 00:04 | |
| but that's all for you to decide, once you know what your design is | |||
| soh_cah_toa | what would you suggest w/ rosella? | 00:05 | |
| whiteknight | it has libraries for writing unit tests, but is also has a proxy library which allows you to create a fake object to replace a real object | 00:06 | |
| sort of abstract, we can worry about that kind of stuff later | 00:07 | ||
| soh_cah_toa | okay | ||
| forgive me is this is a little confusing: is there some sort of lexical analysis/parsing api in parrot that i could use for the debugger? i think it would be kinda dumb to have a rakudo and winxed and ruby etc. interpreter in the debugger. then it just turns into a parrot clone | 00:08 | ||
| whiteknight | parsing API? No. You wouldn't have a language interpreter in the debugger. All languages would be compiled down to PBC. All you would need to do is load PBC files and just call functions in them | 00:09 | |
| soh_cah_toa | i thought you wanted hll support though? | ||
| whiteknight | hold on, let me show you an example | ||
| soh_cah_toa | sure | 00:10 | |
| whiteknight | ah damnit, I uninstalled parrot | 00:11 | |
| in any case, PBC files have annotations which tell information about the HLL code used to write it | 00:12 | ||
| think about #line and #file directives in the C preprocessor | 00:13 | ||
| soh_cah_toa | right | ||
| whiteknight | so I can read in the PBC, then look at the annotations to figure out information about the HLL code | ||
| soh_cah_toa | oh great | 00:14 | |
| whiteknight | so if I set a break point on line 5 of file foo.whatever, All I need to do is run code until I find that set of annotations | ||
| soh_cah_toa | i actually wanted to ask about annotations but forgot. i thought they were just like a little note or comment | ||
| whiteknight | annotations are arbitrary metadata that can be inserted into the bytecode. They are mostly used for filename/line number info | 00:15 | |
| At any point in the code, we can ask "what annotations are in effect here" | |||
| and we get back an array | |||
| or maybe it's a hash | |||
| soh_cah_toa | okay. inserted by default by the compiler or w/ a switch? | 00:16 | |
| whiteknight | annotations are inserted by our existing compiler tools, although there are usually options to omit them | ||
| it's like stripping debugging info from a normal executable | |||
| but if they aren't removed, most compilers will add them by default, or at least provide an option to use them | 00:17 | ||
| soh_cah_toa | okay. that's what confused me. there was debug info and annotations and i couldn't tell the difference | ||
| if that's the case i don't think it'd be very hard to implement hll's | 00:18 | ||
| whiteknight | right, that's the point. It's all supposed to be easy on Parrot | ||
| soh_cah_toa | wow, this project just got a whole lot easier | ||
| whiteknight | you don't need to care if I wrote my code in JavaScript, Perl6, Ruby, or whatever. Hell, I could write the bits on a piece of paper with a crayon and Parrot should just work | 00:19 | |
| soh_cah_toa | a crayon debugger...nice | ||
| damnit, i hate to have to split but my dinner has been getting cold for the past 10 minutes | 00:20 | ||
| whiteknight | okay, we'll be here later to chat | ||
| soh_cah_toa | i'll be back though | ||
| whiteknight | awesome | ||
|
00:37
woosley joined
|
|||
| ttbot | Parrot 4c3f92ed i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/58906 | 00:41 | |
| Parrot 4c3f92ed i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/58899 | |||
| Parrot 4c3f92ed i386-linux-thread-multi make error tt.taptinder.org/cmdinfo/58925 | 00:46 | ||
| whiteknight | plobsing: ping | ||
| plobsing: unping | 01:11 | ||
|
01:14
M_o_C left
|
|||
| whiteknight | bacek: ping | 01:20 | |
| soh_cah_toa | alright, back | 01:24 | |
| whiteknight: so anyway, i feel a lot better about this project. i was becoming worried that i'd need to worry about the lexical analysis of each language i'd need to debug | 01:27 | ||
| whiteknight | oh hell no. We wouldn't do anything mean like that | ||
| by the time any of your code gets called, everything has been compiled down to PIR | |||
| or PBC | |||
| soh_cah_toa | okay, that i can definetely handle | 01:28 | |
| as part of my student application i need to give a rough timeline of the project. however, i've never really collaborated w/ a team of developers before. how long do you think it would take to implement support for, say, one language? | 01:31 | ||
| whiteknight | soh_cah_toa: don't think about it in terms of languages. Like I said, all your tools are going to work with PBC and you don't need to care about what language that code was originally written in | 01:34 | |
| ideally, you should never need to care | |||
| soh_cah_toa | right b/c they're all compiled into pir then pbc. makes sense | 01:36 | |
| whiteknight | let me sketch out a basic tasklist as I see it in my mind. Give me a min | 01:37 | |
| soh_cah_toa | sure, that'd be great | ||
| nopaste | "Whiteknight" at 192.168.1.3 pasted "basic checklist for soh_cah_toa++" (18 lines) at nopaste.snit.ch/38756 | 01:45 | |
| whiteknight | so basically what you need to do is create a PMC type for the debugger base functionality. This PMC takes a "target" interpreter to debug | 01:46 | |
| Using Parrot-Instrument, it should be trivial to set that interp up with a custom runloop, and be able to execute one op at a time | 01:47 | ||
| or, you could set up your own custom runloop too. That would not be hard | |||
| check out src/runcore/cores.c:runops_slow_core for our current default runcore. It's just a while loop | 01:48 | ||
| soh_cah_toa | okay | ||
| this is definitely do-able | |||
| whiteknight | so your runcore would be that same runloop, but in the middle you would insert a check. If necessary, you stop and ask the user for an instruction | ||
| once you have a tool to own an interp and run ops one at a time, you find a way to read annotations. This should be easy | 01:49 | ||
| At that point, you're done writing C. Everything else can be written in a language on top of Parrot | |||
| actually, that's not true. You need to write some hooks for executing commands. That should be easy. A hash of command names mapping to Sub PMCs | 01:50 | ||
| so all you need to do is add a new Sub to that hash, and you magically have a new command | |||
| soh_cah_toa | right, a dispatch table | ||
| whiteknight | right | 01:51 | |
| at that point, everything can be done in something better than C | |||
| All the commands can be written in Winxed or NQP or whatever you like | |||
| And if you set things up with a nice OO interface, we can subclass things in HLLs | |||
| soh_cah_toa | oh yeah, it would definitely be easier to use winxed or nqp for that | 01:52 | |
| ahhhh...now i see the purpose of nqp! | |||
| whiteknight | The benefit is that winxed and nqp are low level and very portable. They are the lowest-common denominator. Any higher-level language can use code written in those two | 01:53 | |
| winxed doesn't have a runtime library, so the compiler itself doesn't pollute any namespaces or make any incompatible assumptions | |||
| NQP has a very small runtime library, for the same reason | |||
| soh_cah_toa | in other words, no ___variables___ | 01:54 | |
| those excesive underscores drive me nuts | 01:55 | ||
| whiteknight | right | ||
| think about C. C is a very small language. To do anything that isn't stupid, you need to #include libraries | 01:56 | ||
| winxed and NQP are to Parrot what C is to the machine | |||
| PIR is like the assembly language | |||
| Everything else is higher-level | 01:57 | ||
| soh_cah_toa | right | ||
| you know, i initially didn't take much interest in winxed but now i think it could really help me in this project | |||
| or npq for that matter | |||
| *nqp | |||
| whiteknight | some people are perl people and like nqp. Some people don't like perl and prefer winxed | ||
| plobsing | I consider myself a perl person, but I prefer nqp | 01:58 | |
| s/nqp/winxed/ | |||
| soh_cah_toa | i may end up w/ nqp being a perl-guy but whatever turns out to be the most resourceful is what i'll use | ||
| whiteknight | the two have different design considerations too. Winxed is focused on Parrot, nqp is focused on Perl6 | ||
| soh_cah_toa | makes sense | 01:59 | |
| i feel better now that i have some sense of direction. i've been wanting to get involved w/ foss for so long. i think i'm gonna really enjoy this | 02:01 | ||
|
02:01
theory joined
|
|||
| whiteknight | ENODALEK | 02:01 | |
| soh_cah_toa: I am already enjoying talking to you. This summer could be a lot of fun | |||
| soh_cah_toa: if you haven't already, sign up for an account on github, and start drafting a proposal in gist | 02:02 | ||
| that way we can make comments and stuff | |||
| soh_cah_toa | good idea, i'll take care of that tomorrow afternoon | ||
| whiteknight | awesome, send me your username when you sign up, so we can follow along | 02:03 | |
| soh_cah_toa | okay, i'll probably keep it soh_cah_toa to avoid confusion | ||
| so what's this nopaste? i've never seen that before | 02:04 | ||
| whiteknight | it's just a server set up that you can use to write big blocks of text to show people | ||
| nopaste.snit.ch. Go there, fill out the form. Click paste | 02:05 | ||
| Gist is the same kind of thing, but on github instead | |||
| gist is interactive, I think nopaste is a little faster and easier | |||
| soh_cah_toa | oh i thought that was a git typo, haha | ||
| whiteknight | haha, yeah | ||
| okay, it is officially past my bed time. | 02:06 | ||
| I'll talk to you gentlemen tomorrow | |||
| soh_cah_toa | sure thing, see you tomorrow | ||
| whiteknight | later | ||
|
02:06
whiteknight left
02:26
simcop2387 left
|
|||
| kid51 | msg dukeleto Do you know who can reboot dalek? | 02:29 | |
| aloha | OK. I'll deliver the message. | ||
|
02:40
cotto joined
|
|||
| cotto | ~~ | 02:40 | |
|
02:41
soh_cah_toa left
|
|||
| mikehh | ok how dowe get dalek back? | 02:46 | |
| sorear | step 1. remove the ban that dukeleto set | 02:48 | |
| step 2. tell me to restart dalek | |||
| actually I have ops so I could do both | 02:49 | ||
| (if you want) | |||
| kid51 | What was dukeleto's ban? | 02:56 | |
| sorear | 13:35 -!- mode/#parrot [+b dalek!*@*] by dukeleto | 02:57 | |
| 13:35 -!- dalek was kicked from #parrot by dukeleto [dalek] | |||
| dukeleto | kid51: no, i don't | 03:03 | |
| is the trac spam issue fixed? | |||
| that is why I banned dalek | |||
| mikehh | sorear: is there another way to re-start a bot, I seem to reemember an opbot type instruction | 03:07 | |
|
03:12
petdance joined
03:17
contingencyplan left
|
|||
| kid51 | dukeleto: No, the spam issue is not fixed ... | 03:19 | |
| ... and we probably can't do anything until OSU OSL admins come back on Monday ... | |||
| ... but I would argue that having those spam tickets announced by dalek is the *least* of our problems ... | |||
| ... at least it alerts us to when it's happening. | 03:20 | ||
|
03:20
bubaflub left
|
|||
| kid51 | The worst aspect, IMO, is that the parrot-tickets list and its archive get permanently clogged. | 03:20 | |
| By banning dalek, we also ban all announcements of work being done on github. | 03:21 | ||
| sorear: Since dukeleto has unbanned dalek, can you restart? Thanks. | 03:26 | ||
|
03:36
theory left
04:08
simcop2387 joined,
dalek joined
|
|||
| sorear | mikehh: dalek cannot be restarted in any other way except ssh/sudo control. diakopter@freenode can get you an account if you want. | 04:10 | |
|
04:18
kid51 left
|
|||
| dalek | rrot: d8e4d67 | mikehh++ | t/steps/auto/llvm-01.t: changed number of tests |
04:53 | |
| rrot: b795b68 | mikehh++ | config/auto/llvm.pm: fix codetest/perlcritic failures - trailing whitespace |
|||
| rrot: 5e3c885 | mikehh++ | t/configure/018-revision_to_cache.t: fix codetest/perlcritic failures - trailing whitespace |
|||
| rrot: 7e9553d | mikehh++ | t/steps/auto/infnan-01.t: fix codetest failure - trailing whitespace |
|||
|
05:05
petdance left
|
|||
| cotto | ~~ | 05:42 | |
| in the future, we should just take voice from a noisy (but otherwise welcome) bot | |||
| moderator | 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 | 05:45 | |
| cotto | dukeleto, are you around? | 06:03 | |
| dukeleto++ for the gsoc responses in parrot-dev | 06:09 | ||
| cotto goes to bed | 06:14 | ||
| sorear | cotto: unfortunately, MAGnet doesn't let you selectively devoice a single user without moderating the channel | 06:23 | |
| that's a freenode thing :/ | |||
|
06:42
Drossel joined,
fperrad joined
06:43
Kulag left
07:11
rurban left
07:12
rurban joined
|
|||
| dalek | p/ctmo: 2f75d22 | jonathan++ | build/PARROT_REVISION: Actually bump the PARROT_REVISION. |
07:38 | |
|
08:16
contingencyplan joined
09:10
jsut joined
09:14
Eduardow left,
jsut_ left
|
|||
| Tene | qinsb.blogspot.com/2011/03/unladen-...ctive.html -- interesting comments on llvm; I don't know if it's already been discussed here. | 09:55 | |
| Tene goes to bed. | |||
|
10:17
rohit_nsit08 joined
|
|||
| rohit_nsit08 | hello #parrot | 10:17 | |
| dukeleto: how can i test jaspers on my system? | 10:24 | ||
|
10:41
bacek left
10:54
bacek joined
|
|||
| dalek | rrot/jit_prototype: 6a582f8 | bacek++ | compilers/opsc/src/Ops/JIT.pm: Create lookup hash of declared functions. |
10:54 | |
| rrot/jit_prototype: 70c4d2d | bacek++ | compilers/opsc/src/Ops/JIT.pm: Store declared variables in %jit_context. |
|||
| rrot/jit_prototype: c9fc22d | bacek++ | compilers/opsc/src/Ops/JIT.pm: Start jitting actual PAST::*: 1. Handle simple Vars/Vals. 2. Generate function calls. |
|||
|
11:10
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 11:15 | |
|
11:21
rohit_nsit08 left
11:30
rohit_nsit08 joined
11:44
rohit_nsit08 left
11:45
rohit_nsit08 joined
11:55
Patterner left,
Psyche^ joined,
Psyche^ is now known as Patterner
12:05
bacek left
12:22
ambs joined
|
|||
| mikehh | All tests PASS (pre/post-config, make corevm/make coretest, smoke (#13233) fulltest) at 3_2_0-68-g7e9553d - Ubuntu 10.10 i386 (gcc-4.5 --optimize --gc-gms) | 12:22 | |
|
12:24
bacek joined
|
|||
| mikehh | whiteknight: my dear chap, how is life treating this fine day? | 12:24 | |
| dalek | rrot/jit_prototype: 7014b15 | bacek++ | compilers/opsc/src/Ops/JIT.pm: Workaround for MMD "failure". MMD fail to choose Ops::Op vs PAST::Block. |
||
| rrot/jit_prototype: 0eb0f3c | bacek++ | compilers/opsc/src/Ops/JIT.pm: "Register constants" JITting. |
|||
| rrot/jit_prototype: 5d96131 | bacek++ | compilers/opsc/src/Ops/JIT.pm: Fallthrough for PAST::Op<undef> |
|||
| rrot/jit_prototype: 81dd66b | bacek++ | compilers/opsc/src/Ops/JIT.pm: Fix JIT.jit and add .optimize method. |
|||
| rrot/jit_prototype: a35c94e | bacek++ | src/pmc/sub.pmc: Create ccont in Sub.invoke when it's null. This is (temporary) workaround for jit prototype purpose. |
|||
| rrot/jit_prototype: 4a04e0f | bacek++ | t/jit/test.t: Rework test to be kind of real jit proto. |
|||
| nopaste | "bacek" at 192.168.1.3 pasted "IT WORKS!!! (Well, almost :)" (79 lines) at nopaste.snit.ch/38859 | 12:27 | |
| bacek | aloha, humans | ||
| mikehh | howdo bacek | 12:28 | |
| bacek | I've got my first jitted sub run :) | ||
| nopaste.snit.ch/38859 | |||
| mikehh | bacek: excellent | 12:29 | |
| bacek | mikehh, indeed :) | ||
| mikehh | I know this is a prototype. but have you any idea if this improves performance significantly? | 12:30 | |
| bacek | mikehh, it will decrease it dramatically in first cut... | 12:31 | |
|
12:32
cgaertner joined
|
|||
| mikehh | bacek: ah well, as long as there is scope for improvement there :-} | 12:32 | |
| cgaertner | hello #parrot | 12:33 | |
| bacek | mikehh, a _lot_ of :) | ||
| mikehh | hi cgaertner | ||
| whiteknight | mikehh: Life is treating me quite well, thankyou | 12:34 | |
| mikehh: How are things on the other side of the pond? | |||
| cgaertner | there are some problems with parrot on cygwin... | 12:35 | |
| sent a smoke report for the test failures, but there's also something wrong with make install | 12:36 | ||
| mikehh | whiteknight: well put us on BST early this morning, a week or so after you all, takes a bit of adjusting :-} | ||
| whiteknight: but I suppose we are now "officially" in summer (not that I noticed that much) | 12:37 | ||
| whiteknight | mikehh: yeah, the new season has been less than spectacular over here. Still cold, rainy, miserable | 12:38 | |
| cgaertner | specifically, cygparrotXXX.dll and libparrot.dll.a won't be installed | ||
| mikehh | cgaertner: I am afriad that I don't know anything about cygwin, I am sure we have other devs around who do | 12:41 | |
| cgaertner: I work and test on various Ubuntu/Kubuntu versions | 12:42 | ||
| whiteknight | cgaertner: cygwin has not been a popular platform among developers. I'm sure there are some rough edges | ||
|
12:42
Hunger left
|
|||
| dalek | Heuristic branch merge: pushed 157 commits to parrot/whiteknight/vtable_overrides by Whiteknight | 12:45 | |
| cgaertner | the failures are in pmc/socket.t and dynpmc/os.t, which one might expect, really, if no one tested the platform | 12:46 | |
| however, pmc/eval.t also fails... | 12:47 | ||
| whiteknight | cgaertner, can you nopaste the failures? | ||
| nopaste | "cgaertner" at 192.168.1.3 pasted "eval.t failures on cygwin" (26 lines) at nopaste.snit.ch/38860 | 12:48 | |
| cgaertner | ^ is that what you need? | ||
| whiteknight | yes | 12:52 | |
| okay, it looks like there's a problem with the tempfile | 12:53 | ||
| I seem to remember cygwin had a problem with tempfiles | |||
| dalek | rrot: e6b8658 | Whiteknight++ | / (147 files): Merge branch 'master' into whiteknight/vtable_overrides |
||
| rrot: 7282d98 | Whiteknight++ | / (2 files): remove override ability for vtable can. |
|||
| rohit_nsit08 | whiteknight: hi , | ||
| moritz : hi | 12:54 | ||
| whiteknight | good morning, rohit_nsit08 | ||
| dalek | rrot: a37d7f0 | Whiteknight++ | NEWS: update NEWS |
||
| rohit_nsit08 | whiteknight: i have decided to go with nodejs , error that was coming previously with jison has been solved and , now cafe is failing on 1 or 2 tests , working on it , | 12:56 | |
| whiteknight | rohit_nsit08: Okay, it's awesome that you're making so much progress with it | 12:57 | |
| rohit_nsit08 | whiteknight: read nodejs api , today , and hey i played with pir today , it looks like a combination of assembly in C :-) | ||
| whiteknight: was first experience with PIR , awesome | 12:58 | ||
| whiteknight | nice | ||
| rohit_nsit08 | whiteknight: i also saw jasper and had some talk with dukeleto , right now it's able to parse the javascript but how can i see the output it's generating , there is a setup.pir file in it , but couldn't figure out how to use that | 13:00 | |
| whiteknight | I'm not very familiar with Jaspers right now. I have to play with it some | 13:03 | |
| setup.pir is pretty easy to use "parrot setup.pir build" | |||
| "parrot setup.pir test" | |||
| "parrot setup.pir install" | |||
| etc | |||
|
13:03
bacek left
|
|||
| rohit_nsit08 | whiteknight: i did it , it executed normally , ohh i didn't used the last one "install " , there were no test files though | 13:05 | |
| whiteknight | it may not be installable | ||
| I don't know what state Jaspers is in. It might not do anything right now | |||
| it's a very young project | |||
| rohit_nsit08 | whiteknight: it can be the case , there is parser and a javascript test file | 13:06 | |
| whiteknight | with Jaspers, you're probably going to have to read a lot of code to figure out what's going on | 13:07 | |
| rohit_nsit08 | whiteknight: i'll make minor changes in my proposal gist , tonight , u saw it ? | 13:09 | |
| sorry connection got lost | |||
| whiteknight | this one: gist.github.com/888952 | 13:10 | |
| rohit_nsit08 | ya , this one | ||
|
13:12
shell joined
|
|||
| whiteknight | rohit_nsit08: it looks good | 13:13 | |
| rohit_nsit08 | i read jasper.js, it's using nodejs I/O api 'fs' to get the input file and parse the test javascript file ,i'm having confusion about the output , according to me, parser generates AST | ||
| whiteknight | ok | 13:14 | |
| rohit_nsit08 | var ast = jsParser.parse(source); , generated ast is stored in ast variable | ||
| what's getting stored in it ? | |||
| whiteknight | I don't know. Try printing it out | 13:15 | |
| Create a fork of Jaspers on github, and start making changes to it to explore | |||
| rohit_nsit08 | hmm.. but how can i test it ? still have to figure it out , is there anything i need to know about testing it on parrot? | 13:16 | |
| whiteknight | like I said, I don't know anything about Jaspers | 13:19 | |
| rohit_nsit08 | hmm.. will try to figure it out . | 13:20 | |
| whiteknight | I'll check out a copy of it later | 13:21 | |
| rohit_nsit08 | whiteknight: thanks | ||
| whiteknight | no problem | ||
|
13:21
ambs left
|
|||
| rohit_nsit08 | whiteknight: i had one doubt, from tomorrow onwards students will be able to send their applications , which is the preffered time to send the application , in starting or in the end , ? as i think student won't be able to make any changes once they have applied , or am i wrong? | 13:23 | |
| whiteknight | I don't know. You might not be able to make a change after you submit | 13:24 | |
| that's why it's a good idea to put the proposal on github | |||
| so we can make comments, and you can make changes | |||
| Send a link with your proposal gist to the parrot-dev mailing list to ask for input | |||
| cgaertner | the cygwin installation problem doesn't seem to habe an easy fix: while the Makefile knows about cygparrotXXX.dll, install_files.pl doesn't | 13:25 | |
| (Parrot's build system scares me) | |||
| ^have | |||
| whiteknight | yeah, the build system can be a little tricky | ||
| rohit_nsit08 | hmmm, ok, than i'll apply only after we are able to make it suitable enough | 13:26 | |
| whiteknight: is there any book , or site with concepts of compiler design similar to my work ? | 13:29 | ||
|
13:32
kid51 joined
|
|||
| kid51 backscrolls | 13:34 | ||
| cgaertner: Yes, the Cygwin build had only one supporter and is not really currently maintained. | 13:40 | ||
| tinyurl.com/4cp26ud for Trac tickets with cygwin listed as platform | |||
|
13:41
theory joined
|
|||
| cgaertner | kid51: the test failures are all related to the filesystem (in addition to the socket test failures also present on windows builds) | 13:44 | |
| no big deal, really | |||
| getting make install to work would have been nice, though | |||
|
13:48
rohit_nsit08 left
|
|||
| cgaertner | getting glib to build is far more challenging, sadly... | 13:49 | |
| whiteknight | rohit_nsit08: There are a few books on compiler design concepts, yes | 13:54 | |
|
13:59
rohit_nsit08 joined
|
|||
| kid51 | cgaertner: Other things being equal, fixing test failures, TODOs, SKIPs on Win32 is more important than getting Cygwin to work. | 14:03 | |
|
14:07
bacek joined
14:15
theory left
|
|||
| kid51 | tinyurl.com/4d299qt for Trac tickets where keywords contains 'debugger' | 14:21 | |
| Any people testing on Win64? Can you take a look at trac.parrot.org/parrot/ticket/1046 ? | 14:25 | ||
| dalek | tracwiki: v6 | jkeenan++ | DebuggerTaskList | 14:32 | |
| tracwiki: Add link to search for TT with 'debugger' in keywords | |||
| tracwiki: trac.parrot.org/parrot/wiki/Debugge...ction=diff | |||
| TT #2081 created by yoqujjecgmlflt1++: Obtain Home Office furniture For the Well Planned Home Office | |||
| TT #2081: trac.parrot.org/parrot/ticket/2081 | |||
|
14:45
rohit_nsit08 left
|
|||
| dalek | rrot: 69f3ae1 | jkeenan++ | t/steps/auto/llvm-01.t: Correct number of tests in plan. |
14:48 | |
| whiteknight | Coke: ping | 14:53 | |
| benabik | G'morning, #parrot | 14:55 | |
| whiteknight | good morning benabik | ||
| benabik | Anything interesting happen while I've been buried in schoolwork? Saw a lot of GSoC talk on -dev. | 14:56 | |
| whiteknight | that's the most of it. Lots of GSoC excitement | 14:57 | |
| benabik | Wow. The GSoC page got redesigned and fancy while I wasn't looking. Guess I should really get a proposal into shape. :-/ I would have sent something more than "hey, I want to work on a parser" to -dev, but projects and homework are really just getting started for the quarter. | 15:01 | |
|
15:02
bacek left
|
|||
| shell | hey,whiteknight.would you please tell me which time zone you are in. | 15:02 | |
| whiteknight | shell: Eastern, US. I'm near Philadelphia | 15:03 | |
| shell | thanks | ||
| whiteknight | shell: you? | ||
| shell | +8 | ||
| whiteknight | benabik: Tell your professors to back off, you have more important things to do | ||
| benabik | whiteknight: Hah. I'd love to, but I think they disagree. :-D | 15:04 | |
| whiteknight | shell: Oh wow. Which country? | ||
| benabik | whiteknight: Although if I still had my prof from compilers, I might get away with it. | 15:05 | |
| shell | i am in china | ||
| recently,i am developing a Matlab compiler | |||
| whiteknight | shell: Awesome. Parrot Dev JimmyZ is from China. I don't know where | 15:06 | |
| shell: I wrote a matlab compiler for Parrot a long time ago, but it got broken and I stopped working on it | |||
| shell | really? | ||
| whiteknight | shell: Yeah. the project is called Matrixy. I created a library called Parrot-Linear-Algebra that adds matrices for Parrot. I wanted to use that for Matrixy | 15:07 | |
| shell | i have difficulies to do with the "'" operator | ||
| and i have to add a preprocessor | |||
| to solve this | |||
| whiteknight | oh, that stinks. What kind of paser are you using? | ||
| parser | |||
|
15:08
rurban_ joined
|
|||
| shell | i use antlr to generate the parser | 15:08 | |
| i've a lot experience on antlr | |||
|
15:08
jsut left
15:09
jsut joined
|
|||
| whiteknight | shell: okay. the parser I used for matrixy didn't have any troubles with the ' operator to do transposes. However, I was having a lot of problems with vector assignment | 15:09 | |
| [a, b, c] = foo() | |||
| that is the syntax I was stuck on | 15:10 | ||
| and the related stuff (nargin, nargout, etc) | |||
| shell | i treat the assignment as an expr | ||
|
15:10
cgaertner left
|
|||
| shell | in the grammar level | 15:10 | |
|
15:11
rurban left
|
|||
| shell | and the ast walker has to deal with it | 15:11 | |
|
15:11
rurban_ is now known as rurban
|
|||
| whiteknight | oh, okay | 15:11 | |
| shell | since my previous idea about the V8 benchmark migration was rejected,i think maybe i should try the "antlr on parrot" project | 15:13 | |
| whiteknight | antlr backend for Parrot would be a nice project | 15:14 | |
| maybe you could use that to port Matlab to Parrot :) | |||
| shell | i think so | ||
| benabik | In my compiler projects, I've generally found using a very general grammar and letting semantic analysis take care of the tricky parts to work much better. | ||
|
15:14
rohit_nsit08 joined
|
|||
| shell | i did,too | 15:15 | |
| whiteknight | shell and benabik: Do you guys have github accounts? | 15:16 | |
| you can use a Gist on github to start drafting proposals so we can make comments | |||
| shell | i campus network has problem accessing the github | 15:17 | |
| benabik | Yuppers. github.com/benabik ... I wonder what I was working on that the forked parrot. Eh. | ||
| rohit_nsit08 | whiteknight: hi, shall i post the link of my gist or the whole proposal on the mailing list? | ||
| shell | i can download it from http | ||
| but not on git | |||
| whiteknight | rohit_nsit08: yes, mailing list is a good place to get feedback | ||
| shell | all right | 15:18 | |
| rohit_nsit08 | whiteknight: i'm posting my project details with a link to complete proposal on gist , as that ok? | ||
| whiteknight | shell: if you can't do github, you can just send an email to parrot-dev. | ||
| rohit_nsit08: yes | 15:19 | ||
| rohit_nsit08 | whiteknight: k, :-) | ||
| shell | i can download it,with a little extra work | ||
| whiteknight | shell: You don't need git to use a gist on github | ||
| it's just a web interface | |||
| shell | right | ||
| i am sorry,sometime i am too hurry to spell correctly | 15:21 | ||
| which language is best supported on parrot? | 15:22 | ||
| if i develop a antlr backend,i need to choose one | 15:23 | ||
| whiteknight | shell, you want a low-level language to target, so the parsers are portable | 15:26 | |
| and so they don't require huge runtime libraries | |||
| rohit_nsit08 | dukeleto: there? | 15:27 | |
| whiteknight | shell NQP (a subset of Perl6) and Winxed (similar to JavaScript and C++) are good choices | ||
| shell: Winxed is my favorite, but NQP has a lot of cool features too | |||
| shell | actually,i found winexed looks a bit like javafx | 15:28 | |
| in grammar | |||
| whiteknight | yeah, it's all related. | ||
| shell | i got wine | 15:29 | |
| sorry | |||
| i got winxed frm googlecode | |||
| whiteknight | yeah, that's where it lives | 15:30 | |
| shell | but it doesn't seem complete | ||
| whiteknight | it doesnt? | ||
| shell | i found little examples | ||
| sorry | |||
| i found few examples | |||
| whiteknight | yeah, there are not a lot of examples, or tests | 15:31 | |
| that's a problem | |||
| shell | but i am able to handle that | ||
| it's ok | |||
| whiteknight | If you want example code to look at, See Rosella (github.com/Whiteknight/Rosella). It's a library project written in winxed | 15:32 | |
| thousands of lines of winxed code to explore | |||
| shell | thanks | ||
| i'll try it | |||
|
15:33
Eduardow joined
|
|||
| shell | it looks nice | 15:34 | |
| but would it be better to be based on a more popular language,such as lua? | 15:36 | ||
| so that the lua developers would be able to use that | |||
| whiteknight | what do you mean? Generate Lua code from ANTLR? | 15:37 | |
| shell | yes | ||
| whiteknight | that is interesting, but lua does have a runtime library | 15:38 | |
| so to use your parser from Perl6, we would need to load all the lua libraries too | |||
|
15:39
woosley left
|
|||
| shell | but it's not too large | 15:40 | |
| i dont't think it would cause problems if i can inline the functions used | 15:42 | ||
| the lua core lib is very small | |||
| whiteknight | include your choice of language in your proposal | ||
| shell | ok | ||
| it's possible too handle this drawback] | 15:43 | ||
| would you like to be my mentor? | 15:44 | ||
| you are very kind to me | |||
| whiteknight | maybe. it depends on all the proposals | 15:45 | |
| dalek | rrot: 3264def | jkeenan++ | lib/Parrot/Pmc2c/PMC/RO.pm: Make documentation less inaccurate. |
||
| whiteknight | I'm not very good at Lua | ||
| shell | i think i should provide a solution for language interoperation | 15:46 | |
| let me see | |||
| ok,i would not use lua,since it's not as powerful as winxed | 15:47 | ||
| but i still have to solve the interoperation problem | |||
| whiteknight | all languages are powerful. depends how you use them | ||
| interoperation is easy | |||
| shell | i know | ||
| but it would be better to have OO | 15:48 | ||
| whiteknight | what do you mean? Winxedhas OO | ||
| shell | yes,i mean lua doesn't have that | 15:49 | |
| see you tomorrow | |||
| here is 11:49 pm | |||
| whiteknight | ok | 15:50 | |
| goodnight | |||
| shell | my school cut off the internet at 12:00 pm........... | ||
| rohit_nsit08 | shell: hi, from which country? | ||
| shell | china | ||
| benabik | shell: G'night! | 15:51 | |
| rohit_nsit08 | shell: i'm from india , it's 9:20 here , good night | ||
| shell | good night | ||
| BTW,do you use google wave | |||
| benabik | And for me, on the other side of the world, it's nearly lunchtime so I'm going to go do that. :-) | ||
| whiteknight | rohit_nsit08: I don't think we have any other parrot devs from india | ||
| rohit_nsit08: have you ever heard of Wikimedia India? | 15:52 | ||
| rohit_nsit08 | whiteknight: i haven't seen any , so i guess yes | ||
| whiteknight: i've heard of wikemedia , | |||
| shell | if you like,call me from google wave | 15:53 | |
| whiteknight | I helped set up a chapter for wikimedia in india. I dont think they are very big | ||
| shell | code.in.the.shell@gmail.com | ||
|
15:53
particle left
|
|||
| rohit_nsit08 | whiteknight: really? wow | 15:54 | |
| whiteknight: can i have the link ? | |||
| whiteknight | meta.wikimedia.org/wiki/Wikimedia_India | 15:55 | |
| wikimedia.in/wiki/Main_Page | |||
| rohit_nsit08 | whiteknight: u attended any of the events , they look great :-) | 15:57 | |
| whiteknight | no, I've never been to india | ||
| some day :) | 15:58 | ||
| rohit_nsit08 | :-) sure, will have coffe together loll | ||
| whiteknight: lots of events and activities have happened in february this year , what is the major goal of this chapter? | 15:59 | ||
| whiteknight | to spread open knowledge, promote wikipedia | 16:00 | |
| did you know more indians contribute to en.wikipedia.org than hi.wikipedia.org? | 16:01 | ||
| I dont remember the exact numbers | 16:03 | ||
| rohit_nsit08 | whiteknight: that can be possible , the people who have access to internet and who use it , english is their major language , and one more reason is that , all the developments of wikimedia india are in southern india , where english is the primary language | ||
|
16:05
shell left
16:10
rohit_nsit08 left
16:19
autark left
|
|||
| mikehh | kid51: ping | 16:20 | |
| kid51 | pong | 16:21 | |
| mikehh | you are obviously running one more test than I am with t/steps/auto/llvm-01.t | 16:22 | |
| kid51 | Don't understand? | 16:24 | |
| nopaste | "mikehh" at 192.168.1.3 pasted "results of prove -v t/steps/auto/llvm-01.t" (62 lines) at nopaste.snit.ch/38861 | 16:27 | |
| mikehh | kid51: ^^^ | 16:28 | |
| kid51: what other info do you need? | 16:30 | ||
| kid51 | Try this: | 16:31 | |
| dalek | rrot: acc1ddb | jkeenan++ | lib/Parrot/Pmc2c/PMC/RO.pm: Merge branch 'master' of git@github.com:parrot/parrot |
||
| rrot: 5a4b466 | jkeenan++ | t/steps/auto/llvm-01.t: Correct number of tests to be SKIPped. |
|||
| kid51 | Appears that I deleted one test from inside a SKIP block without changing the number to be skipped | 16:33 | |
| mikehh | kid51: ok that works | 16:35 | |
|
16:42
rohit_nsit08 joined
|
|||
| rohit_nsit08 | whiteknight: hi , had to run away, missed my station :-) | 16:43 | |
| whiteknight: was on bus | |||
| whiteknight: there? | 16:45 | ||
|
16:47
davidfetter joined
|
|||
| whiteknight | rohit_nsit08: yes, I'm here | 16:55 | |
| rohit_nsit08 | whiteknight: just managed to deboard on time :-) , | 16:56 | |
| whiteknight | good :) | ||
| rohit_nsit08 | whiteknight: how are the mentors decided for any project | 16:57 | |
| whiteknight | rohit_nsit08: it depends on the proposals we get. When we get all the proposals, we have a meeting and pick the mentors | ||
| there are lots of projects I like already, so I don't know which ones I will get | 16:58 | ||
| rohit_nsit08 | whiteknight: i checked on google's site that google allots fixed slots to each organisation ,how much slots are there for the parrot btw? | ||
| whiteknight | I don't know. I don't think Google has picked yet | 16:59 | |
| I think the final number is determined by the number of good proposals we get. | |||
| more good proposals = more slots | |||
|
16:59
davidfetter left
|
|||
| rohit_nsit08 | rohit_nsit08: so slots are flexible | 17:00 | |
| whiteknight: and who decides the student , as in is there google involved in the procedure or only the organisation and members? | |||
| whiteknight | slots are sort of flexible. There are a fixed number of slots, spread out for all organizations | 17:01 | |
|
17:01
eternaleye left
|
|||
| whiteknight | so if Parrot uses more, some other org has to use less | 17:01 | |
| Parrot decides the students. We get the proposals and the number of slots, and we pick who is in | |||
| so the proposals have to be good, and we have to know the student | 17:02 | ||
| It's very good for students to chat with us on IRC, to submit patches, to ask questions, etc | |||
| We like proof that the student is capable | |||
| rohit_nsit08 | whiteknight: hmm got it , what kind of details shall i add in the proposal | ||
| whiteknight | rohit_nsit08: most important things: | 17:03 | |
| 1) Statement of what you want to do | |||
| 2) Timeline | |||
| 3) Backup plan (What to do if there are problems) | |||
| 4) Extra items (What to do if you have extra time) | |||
| trac.parrot.org/parrot/wiki/GSoCStu...onTemplate | |||
|
17:03
jsut_ joined
|
|||
| rohit_nsit08 | whiteknight: it will help a lot , if u can see my proposal on gist , i have made my proposal as given in the template , pls see, and tell me how can i furthur improve it , i'm correcting some minor language mistakes right now | 17:05 | |
| whiteknight | okay. Send an email to parrot-dev with your gist. We want lots of people to read it | ||
| rohit_nsit08 | whiteknight: sending :-) just a few editing | 17:06 | |
| dukeleto | ~~ | 17:07 | |
| dalek | TT #2082 created by evpumpcmgcny6++: Get Home Office furniture For the Nicely Planned Home Workplace | ||
| TT #2082: trac.parrot.org/parrot/ticket/2082 | |||
| dukeleto | rohit_nsit08: the parrot community picks which students get to fill the slots | ||
| dukeleto is not happy about this trac spam | 17:08 | ||
| can we make dalek not announce TT's? | |||
| otherwise, I will kickban dalek again | |||
| sorear: ^^^ | |||
|
17:08
jsut left
|
|||
| dukeleto | rohit_nsit08: may I add that the list of deliverables is also very important | 17:11 | |
| dukeleto made progress with Javascript on Parrot yesterday (Jaspers) | 17:12 | ||
| kid51 | rohit_nsit08 (and other potential GSOCers): IMO, proposal quality is largely determined by "usefulness to the Parrot project" ... | 17:13 | |
| ... where a major component of that "usefulness" is the ability of a project to be completed and merged into master before end of GSOC. | |||
| dukeleto | kid51++ # agreed | 17:14 | |
| kid51: thanks for your ticket trolling, as well :) | |||
| kid51 | dukeleto: I agree that the announcements of spam tickets are annoying, but I think that what we really have to do is require a Trac "authenticated" user's first TT to be moderated before posting. | 17:15 | |
| dukeleto | kid51: whatever the solution, i don't want to see spam in this IRC channel | 17:17 | |
| kid51: so either dalek doesn't announce TT's until that is fixed, or dalek shouldn't be in here until it is fixed | |||
| kid51: i agree with your statement | |||
| kid51: do we know how to change that? | |||
| kid51: i haven't seen anything from OSL | 17:18 | ||
| kid51 | dukeleto: As I said yesterday (email) I wouldn't expect to hear anything from OSL until Monday. | ||
| dukeleto | kid51: yeah | 17:19 | |
| rohit_nsit08: you asked about jaspers, do you still have that question? | |||
| kid51 | But if you kick dalek, you stop all other commit announcements here as well. | 17:20 | |
| dukeleto | kid51: yes | ||
| kid51 | If you want to discuss refining dalek's capabilities with diakopter, please do so. | ||
| But dalek is merely the symptom of the problem. | |||
| dukeleto | kid51: it looks extremely bad to have spam announced in our IRC channel. Very Bad. Especially since we have an influx of GSoC people | 17:21 | |
| kid51: i would rather have nothing announced than stuff + spam | |||
| kid51 | Other possibility for Trac: Allow anyone to set up an account (as now); send email notifications of new accounts to admins (as has been the case for a few days now); but don't permit new accounts to create new tickets for 24 hours. | 17:22 | |
| dukeleto: Well, I disagree with you on "no announcements being better". What people are committing to our repository is, for me, more important than what TTs are being created. | 17:23 | ||
| rohit_nsit08 | dukeleto: coming in few minutes ,editing the proposal :-) | 17:24 | |
| dukeleto | kid51: all parrot commits are easily viewable at github.com/organizations/parrot | 17:25 | |
| kid51 | dukeleto: That would require me to continually go to that web page and constantly refresh it. github pages are relatively slow to refresh. And I like the sequential display that dalek provides. | 17:26 | |
|
17:27
eternaleye joined
|
|||
| dukeleto | how does dalek find out there is a new TT? | 17:32 | |
| i don't see anything in the trac admin | |||
| looks like github.com/Infinoid/dalek-plugins/...wikilog.pm needs to change | 17:39 | ||
| whiteknight | I think dalek reads the RSS feed from trac at regular intervals | ||
| dukeleto | whiteknight: yes, that is what the tracwikilog.pm does | 17:41 | |
| whiteknight: how do you feel about spam being announced in here? | |||
| whiteknight | dukeleto: dalek is too valuable to kickban outright. | 17:43 | |
| if spam is really stuck in your craw, we could remove TT announcements from dalek | |||
| locking down permissions on trac is not something I particularly want to do, but if it stops spam from happening we can do that | 17:44 | ||
| I wonder if we can get IP address information, and block those? | |||
| dalek | spers: 35595e0 | dukeleto++ | README.md: Update readme with recent design decisions |
17:45 | |
| whiteknight | maybe we take all rights away from authenticated users, and require accounts to be "approved" before creating content | ||
| it sucks, but it will work in the shortterm | |||
| dukeleto | whiteknight: blocking IP's is a losing game | 17:46 | |
| rohit_nsit08 | whiteknight: i have posted the link on the mail , | ||
| dukeleto | whiteknight: i am currently trying to remove TT announcements from dalek, but I don't have control over dalek | ||
| looks like diakopter++ and sorear++ are helping with this | 17:47 | ||
| rohit_nsit08 | dukeleto: hi , i was studying jaspers today ,what is getting in ast in this line , "var ast = jsParser.parse(source);" what is the format of ast here? | ||
| dukeleto | rohit_nsit08: good question | ||
| rohit_nsit08: it is an AST that PEG.js creates. You can think of it as JSON, basically | 17:48 | ||
| rohit_nsit08: gist.github.com/889410 | |||
| rohit_nsit08 | dukeleto: can i test jasper on my system , i couldn't build it with parrot nothing happened on "parrot setup.pir" | 17:49 | |
| dukeleto | rohit_nsit08: run "node jaspers.js" | ||
| rohit_nsit08: you need a recent nodeJS | |||
| rohit_nsit08: 0.1.x won't work | |||
| rohit_nsit08: 0.2.5 and higher should work | |||
| whiteknight | dukeleto: I'm going to take TICKET_CREATE and TICKET_APPEND permissions from Authenticated users, for now | ||
| once we get some kind of real anti-spam solution in place, we can add those back in. | 17:50 | ||
| rohit_nsit08 | dukeleto: i have installed a fresh one today | ||
| dukeleto: that should work | |||
| dalek | spers: 4393bad | dukeleto++ | README.md: Add a note about how to try Jaspers in the readme |
||
| rohit_nsit08 | dukeleto: read nodejs api today , what is console.dir() doing , making some kind of log of object members? | 17:51 | |
| dukeleto | whiteknight: hokey dokey. Thanks. | ||
| rohit_nsit08: yes, it is the cousin of console.log() . console.log() takes a string, console.dir() takes an object | |||
| rohit_nsit08: but console.dir doesn't recurse and dump objects. we need something that does | 17:52 | ||
| whiteknight: i am now thinking about what the stage-0 compiler for Jaspers should target | |||
| rohit_nsit08 | dukeleto: console.dir is missing from the current documentation , i'll check it's alternative | 17:53 | |
| dukeleto | whiteknight: should Jaspers emit PAST ? I don't fully understand the benefits/problems of emitting PIR/PAST/POST/PBC | ||
| rohit_nsit08: console.dir() is part of javascript, node may not have it in their docs | 17:54 | ||
| rohit_nsit08: just search for console.dir on the interwebs :) | |||
| dalek | tracwiki: v3 | whiteknight++ | GSoCStudentApplicationTemplate | ||
| tracwiki: trac.parrot.org/parrot/wiki/GSoCStu...ction=diff | |||
| rohit_nsit08 | dukeleto: hmm.. that's possible | ||
| dukeleto | whiteknight: i basically have an AST as JSON (or the actual js object, take your pick) and I need to transform that into something parrot understands | 17:55 | |
| whiteknight: i think tree-optimization will come in handy | |||
| whiteknight | dukeleto: A stage-1 jaspers really can't emit PAST, but a stage-2 Jaspers could | ||
| dukeleto | whiteknight: please explain | ||
| whiteknight | PAST has the benefit of things like tree-optimization, alternate POST backends, etc | ||
| dukeleto | whiteknight: why couldn't I write something that read in JSON and emitted PAST ? | 17:56 | |
| whiteknight | dukeleto: the compiler needs to be running on top of Parrot in order to create Parrot objects | ||
| dukeleto | whiteknight: ok | ||
| whiteknight | the first compiler stage will be running on node and will need to emit PIR | ||
| dukeleto | whiteknight: ok, that is reasonable | ||
| rohit_nsit08 | i'll suggest converting to PIR as a good option | ||
| whiteknight | once you have your stage-1 running on Parrot, you can emit PAST and let the PCT infrastructure handle optimization and code generation | ||
| rohit_nsit08: As the first project, yes. That's what you should do. If that goes well, consider making PAST | 17:57 | ||
| if you have enough tme | |||
| dukeleto | whiteknight: ok, i am concentrating on stage-0 for now. So I will write something that reads the JSON AST and emits PIR | ||
| rohit_nsit08 | will i have to study language grammer to replace AST with PAST as parser generates syntax tree based on the language grammer given to it | 17:58 | |
| dukeleto | whiteknight: just to give you an idea, here is a dump of part of the AST: gist.github.com/889410 | ||
| rohit_nsit08: please ask that question again, didn't quite understand you | |||
| whiteknight: we basically have a bunch of nodes with types and some attributes | 17:59 | ||
| rohit_nsit08 | how can i approach to replace current AST with PAST? i have read that parser generates syntax tree based on grammer specified to it | ||
| parser parser the language and generates a syntax tree | 18:00 | ||
| parses the language | |||
| dukeleto | rohit_nsit08: we won't replace it, we will tranform it | ||
| transform, rather | |||
| rohit_nsit08: i think that is what you mean | |||
| rohit_nsit08: for your gsoc proposal, you need to list each week of GSoC and have a description of what you plan to do | 18:01 | ||
| rohit_nsit08 | dukeleto : ya sort of , i was not clear on how can we replace it | ||
| dukeleto: so i have to give , my schedule of whole 3 months from 22 may to august 22? | 18:02 | ||
| dukeleto: in my application | |||
| dukeleto | rohit_nsit08: we will transform the JSON AST to some internal datastructure, then emit PIR from that datastructure | ||
| rohit_nsit08: yes, list every week and what you will do | 18:03 | ||
| rohit_nsit08: you mention cafe in your proposal, but jaspers currently uses PEG.js | |||
| rohit_nsit08: if you think cafe should be used, then you should describe what cafe can give us that PEG.js does not | 18:04 | ||
| rohit_nsit08: s/NPQ/NQP/ in your proposal | |||
| rohit_nsit08 | dukeleto: ya jasper is using peg.js , actually i spent much of time on cafe and jison , and in contact with their author also , so i thought it will be a good option , i'll try to explain it further for sure | ||
| dukeleto | rohit_nsit08: sounds fine | 18:05 | |
| rohit_nsit08: this gsoc proposal is a good start, but it needs a bit more detail and research to make it "awesome" | 18:06 | ||
| rohit_nsit08: but you are definitely on the right track :) | |||
| rohit_nsit08 | dukeleto: read about NPQ/NQP in whiteknight's blog post , that the current javascript compiler "ECMASCRIPT" is based on them , and it's having some performance issues , so i thought to mention it to explain why we need another one | ||
| dukeleto | rohit_nsit08: i think your gsoc proposal should concentrate on how the stage-0 and stage-1 compiler will work. that is probably enough work | ||
| rohit_nsit08 | dukeleto: thanks , will add more detail tomorrow | ||
| dukeleto | rohit_nsit08: you mispelled NQP | ||
| rohit_nsit08: NQP = Not Quite Perl | 18:07 | ||
| rohit_nsit08: NPQ doesn't exist :) | |||
| rohit_nsit08 | dukeleto: oops sorry , | ||
| dukeleto | rohit_nsit08: no worries, just giving you feedback | ||
| dukeleto is not offended :) | |||
| rohit_nsit08 | dukeleto: thanks , will change that too :-) | ||
| dukeleto: how should i mention my schedule for weeks ,right now it will be based on assumptions on various stages ,pls explain what i should do to make it look better | 18:10 | ||
| dukeleto | rohit_nsit08: also, in your proposal, you need to give details about how tests and docs will be written | ||
| rohit_nsit08: right now, your estimate of what you will do each week will be a guess, but it is still valuable. Come up with something for each week, then I will give feedback :) | 18:11 | ||
|
18:11
bubaflub joined
|
|||
| dukeleto | rohit_nsit08: we need to decide on a test framework, i.e. how will we write our tests? | 18:11 | |
| rohit_nsit08: also, which format will we write docs? | |||
| bubaflub: werd up | |||
| rohit_nsit08 | dukeleto: i thought about docs , there is a tool available that can generate documentation from javascript files from commented code | ||
| bubaflub | dukeleto: yo | ||
| dukeleto | rohit_nsit08: hmmm | ||
| rohit_nsit08 | dukeleto: it generates docs in html | ||
| bubaflub | dukeleto: i was thinking about doing the PL/Parrot upgrade for GSoC | 18:12 | |
| dukeleto | rohit_nsit08: sounds readonable, but if we write our docs in Markdown or something, we can export to any format we want | ||
| bubaflub | dukeleto: which would be better, in your opinon? The GMP bindings or the PL/Parrot update? | ||
| dukeleto | bubaflub: i saw your tweet :) | ||
| bubaflub: well, "better" in what respect? Better for you or better for me or better for the parrot community? | |||
| bubaflub | dukeleto: i suppose the community | ||
| dukeleto | bubaflub: what are your goals? | ||
| bubaflub | dukeleto: kick ass, take names | 18:13 | |
| dukeleto: not sure - the GMP stuff is much more familiar | |||
| dukeleto: and it's nice that any HLL would get that stuff for free | |||
| dukeleto: the PL/Parrot would be nice as it flushes out the embedding API | |||
| dukeleto | bubaflub: my take is that PL/Parrot is sexy because it is a very unique project, but in the end, the set of potential users is much smaller than GMP | 18:14 | |
| bubaflub: yes, PL/Parrot will be good for the embed API | |||
| bubaflub | dukeleto: ok. my thought is that since i'm already around | ||
| dukeleto: i could do either at any time. | |||
| dukeleto: maybe i'll go GMP - there's always lots to do after i'm done with the basic GSoC | |||
| dukeleto | bubaflub: GMP bindings will allow for efficient crypto and number theory libs, which I think has a much larger potential impact than PL/Parrot | ||
| bubaflub: also, you will be more efficient at GMP than any other gsoc students, since you know it very well from hacking on Math::Primality | 18:15 | ||
| bubaflub: so I guess my suggestion is to concentrate on GMP for GSoC, and hack on PL/Parrot on the side. But of course, you can write more than 1 gsoc app | 18:17 | ||
| bubaflub: i think you will be very productive at hacking on GMP and you will knock it out of the park | |||
| bubaflub: PL/Parrot is a minefield, and you might fall down a yak cave that someone else has been digging for a long time :) | |||
|
18:18
ambs joined
|
|||
| bubaflub | dukeleto: hahahaha | 18:18 | |
| dukeleto | bubaflub: i would be happy regardless of the gsoc project that you choose. This is just my perspective from my experience. | ||
| dukeleto has certainly fell down some very deep yak caverns | 18:19 | ||
| bubaflub: was my meta-plan for what to work on GMP clear enough for you to write your proposal? | 18:21 | ||
| bubaflub | dukeleto: yeah | ||
|
18:23
kid51 left
|
|||
| dukeleto | bubaflub: do you think you can get some example code written? Just bind one single function and see if it works? | 18:25 | |
| bubaflub: i think it will take you longer to write tests and docs than the actual implementation, since you can actually write code to write your implementation :) | 18:26 | ||
| bubaflub | dukeleto: yeah, agreed | ||
| dukeleto: i'm thinking full docs and test suite isn't out of the question | |||
| esp. for just integer functions | 18:27 | ||
| rohit_nsit08 | dukeleto: checked Markdown , what other formats we are targetting to export besides html ? | 18:31 | |
|
18:32
GodFather left
18:34
cotto left
|
|||
| dukeleto | bubaflub: yes, I expect full test coverage :) | 18:35 | |
| bubaflub | dukeleto: nothing but the best | ||
| dukeleto | rohit_nsit08: markdown can export to every format. Not sure which specific formats we care about exporting to | ||
| bubaflub: i want to see example code! | |||
| bubaflub | dukeleto: sounds good... should help sell the proposal | 18:36 | |
|
18:36
cotto joined
|
|||
| cotto | ohai | 18:36 | |
| mikehh | cotto: hi there | 18:37 | |
| bubaflub, dukeleto: I am definately interested in helping out with GMP intergration | 18:38 | ||
| bubaflub | mikehh: great | 18:41 | |
| rohit_nsit08 | duekeleto: we can surely use markdown , will do some more research on its benefits and add it in the proposal | 18:42 | |
| dukeleto | cotto: howdy | 18:43 | |
| rohit_nsit08: awesome | |||
| rohit_nsit08: just add some details about docs and a test suite. we can flesh it out later | |||
| mikehh: that will surely be helpful | |||
| mikehh: we will need some testing across a few different GMP versions and OS versions to make sure stuff works for the most people | 18:44 | ||
| rohit_nsit08 | dukeleto: pls suggest something for tests , don't have any practical experience of this scale | ||
| cotto | dukeleto, do you have some time to talk about m0? | 18:45 | |
| bubaflub | dukeleto or mikehh: any ideas about a minimum version of gmp? | 18:46 | |
| cotto | bubaflub, check out what the major distros install by default. The last stable release was a little more than a year ago, so that may be reasonable. | 18:47 | |
| whiteknight | rohit_nsit08: I suggest you use Rosella for tests. Perl has some tools too. I don't know if there are any standard JavaScript tools for testing | 18:49 | |
| at least, I don't think there are any standard tools for out-of-browser JavaScript testing | |||
| cotto | whiteknight, wouldn't v8 have something like that? | 18:53 | |
| whiteknight | for out-of-browser JavaScript testing? I don't know | ||
| the "JavaScript at the commandline" world is hardly the most mature software development environment | 18:54 | ||
| mikehh | The current stable release is 4.3.2, released 2010-01-08 and The current performance release is 5.0.1, released 2010-02-06. | ||
| bubaflub | mikehh: ok, i have 5 on my system | 18:56 | |
| cotto | whiteknight, thanks for shutting out the spam. I hate that it was necessary, but it's better than letting it continue. | ||
| bubaflub | but my understanding is that they are backwards compatible back to 3 or something | ||
| whiteknight | yeah, I hate adding permissions stuff | ||
| rohit_nsit08 | whiteknight: checking rosella will be back soon :-) | 18:57 | |
|
18:57
rohit_nsit08 left
|
|||
| mikehh | Ubuntu 10.10 has 4.3.2 and it is installed on my system | 18:58 | |
| cotto | seen dukeleto | 18:59 | |
| aloha | dukeleto was last seen in #parrot 15 mins 37 seconds ago saying "mikehh: we will need some testing across a few different GMP versions and OS versions to make sure stuff works for the most people". | ||
| bubaflub | dukeleto: i'm going to try and make a quick sample code | 19:04 | |
| dukeleto: and throw it up on github | 19:05 | ||
|
19:05
lucian joined
|
|||
| whiteknight | bubaflub++ | 19:06 | |
| bubaflub | whiteknight: thanks. i've never written anything that interfaces with C libs. are there some examples somewhere i can steal from? | ||
| whiteknight: i've read the NCI docs and the function signature stuff seems straightforward | 19:07 | ||
| whiteknight | bubaflub: plobsing had a "deep-clone" project on github which used NCI to call functions from inside libparrot | ||
| that might be a good thing to look at | |||
| NotFound had something for calling functions from libc too | |||
| plobsing | bubaflub: there are a couple bindings in existance. we have some ncurses and opengl bindings in core for example. | 19:08 | |
| there's some stuff in the winxed examples directory as well | |||
| I'm currently working on zeromq bindings for parrot that make extensive use of NCI | 19:09 | ||
| bubaflub | plobsing and whiteknight: thanks. i'm thinking i'll need a PMC that represents a GMP Integer and then each function calls the corresponding library function | ||
| whiteknight | yeah, that's a good method, I think | 19:10 | |
| you can use the get_pointer vtable to get the pointer to the raw data structure for NCI | |||
| plobsing | bubaflub: you might be able to get away without having to write a custom PMC for the GMP data. You could try inheriting or delegating PtrObj. | 19:13 | |
| bubaflub | plobsing: cool. i'll take a look at that | 19:14 | |
| whiteknight | PtrObj will just hold a pointer, it won't have things like methods or arithmetic operations | 19:18 | |
| plobsing | those can be overriden from HLL | 19:20 | |
| whiteknight | that's true | 19:21 | |
| dukeleto | cotto: wazzup? | 19:27 | |
| bubaflub++ # example code | 19:28 | ||
| bubaflub: examples/nci/ls.pir | |||
| bubaflub: copy and tweak ls.pir to your needs | |||
| bubaflub | dukeleto: yeah, i was looking at that. it does seg fault on my machine but i think it's enough to steal from | ||
| dukeleto | bubaflub: it segfaults! | 19:29 | |
| bubaflub: we should have a test for it | |||
| bubaflub: can you gist the output of ls.pir and create a TT for it? | |||
| dukeleto has to head out soon | |||
| bubaflub | dukeleto: i think it is expecting to be called from a certain directory | ||
| dukeleto: when i run it from examples/nci it segfault | 19:30 | ||
| when i run it from parrot/ | |||
| dukeleto | bubaflub: yeah, it probably expects to be run from the root of the parrot checkout | ||
| bubaflub | it does some output then complains about a non UTF-8 character | ||
| dukeleto | cotto: did you want to ask me something? I will be heading out soon | ||
| bubaflub: GMP function calls shouldn't be routed through a PMC, that will be slow | 19:31 | ||
| cotto | dukeleto, will you be around tonight? | 19:32 | |
| It probably won't be a quick question. | |||
| dukeleto | cotto: possibly. Email is the best way, then. | ||
| cotto | wfm | 19:33 | |
| also, mentor request sent. | |||
| not sure why I don't get to keep my account from the previous soc/gci events. | 19:34 | ||
| dukeleto | bubaflub: the fastest way to do stuff is to call GMP functions directly through NCI, and pass them the actual GMP objects. then we can build a syntax-sugar layer on top of that, which is friendlier to use, but slower | ||
| bubaflub: very similar to how Math::GSL works | |||
| bubaflub | dukeleto: ok. my example should be pretty similar to that then | ||
| dukeleto | cotto: they don't assume that everyone will want to participate every year | 19:35 | |
| cotto goes out for errands | |||
| ok | |||
| dukeleto | interesting post about Unladen Swallow: qinsb.blogspot.com/2011/03/unladen-...ctive.html | 19:36 | |
| bubaflub | any reason i'm getting "invoke() not implemented in class 'Undef'" ? | 19:38 | |
| i'm doing a very basic NCI call | |||
| dukeleto | bubaflub: you are passing something an Undef PMC, which expects a non-Undef PMC | ||
| bubaflub: something you are calling to create an object is giving an Undef | |||
| bubaflub | dukeleto: ok, that makes more sense | ||
| dukeleto | bubaflub: gist your code | ||
| bubaflub | dukeleto: | 19:39 | |
| gist.github.com/889513 | |||
| yeah, i'm not exactly sure about the signature | |||
| init should just make a GMP integer and set it to 0 | |||
|
19:43
M_o_C joined
|
|||
| dukeleto | bubaflub: you didn't initialize i | 19:44 | |
| bubaflub | dukeleto: ah, of course | ||
| dukeleto | bubaflub: you need to create a new PMC in it before you pass it along | ||
| bubaflub: you can use an UnManagedStruct | |||
| bubaflub: and possibly other things, like PtrBuf, but UnManageStruct should work | 19:45 | ||
| bubaflub: i suggest you create a branch of parrot.git for your GMP work | |||
| bubaflub | dukeleto: okey dokey | 19:46 | |
| dukeleto | bubaflub: it will look very good on your proposal if you can say "i already have a branch in parrot.git with preliminary stuff working" | ||
|
19:46
plobsing left
|
|||
| dukeleto | bubaflub: i am very excited about this! | 19:46 | |
| bubaflub: we can build very cool crypto+number theory stuff on top of this work | |||
| bubaflub | dukeleto: yeah, and every HLL gets free BigNum stuff already | ||
| i wonder if rakudo will need this... | |||
| moritz | it needs bigints built in | 19:47 | |
| benabik | Good afternoon, #parrot | 19:49 | |
| whiteknight | hello benabik | 19:51 | |
| dukeleto | moritz: bubaflub++'s work will allow stuff like Math::Primality to get ported to Rakudo (or Parrot) | 19:55 | |
| moritz: and other stuff that requires more than just the basic BigInt operations | |||
| benabik: howdy | 19:56 | ||
| bubaflub | dukeleto: ok, so i need an UnManagedStruct | ||
| dukeleto: what goes in there? | |||
| dukeleto: i'm seeing a lot of examples with hashes or arrays, but the GMP integer data type is a bit opaque - is it just a pointer? | |||
| dukeleto | bubaflub: just do : i = new 'UnManageStruct' | ||
| bubaflub: yes, it will be pointerish | |||
| bubaflub: you may want to look into PtrBuf and ask plobsing++ how you should use it | 19:57 | ||
| bubaflub: it is the new hotness, but I haven't used it | |||
| bubaflub | dukeleto: okey dokey | ||
| moritz | dukeleto: we have quite different problems in rakudo | 19:58 | |
| dukeleto: like, get_integer always returning a machine-size number | 19:59 | ||
| dukeleto | moritz: please explain that more | 20:00 | |
| moritz | dukeleto: in Perl 6, the Int type is a bigint | 20:01 | |
| dukeleto | moritz: in Rakudo, or is that in the spec? | ||
| moritz | spec | ||
| not yet in rakudo | |||
| so coercion to Int can't go through the vtable | 20:02 | ||
| dukeleto | moritz: what behavior does rakudo want for get_integer? | ||
| moritz | because that will fail for $n > 2**63 (or whatever) | ||
| dukeleto: something that will work for bigints too | |||
| not sure how a good design would look like | 20:03 | ||
| dukeleto | moritz: hmmm. what are the design constraints? | 20:04 | |
| moritz: using BigInts when not necessary is a huge performance hit | |||
| bubaflub | dukeleto: ok, just a sanity check - on the NCI function signature the first letter should be the return type | ||
| moritz | dukeleto: Perl 6 has native types (unsigned and signed integers), and the high-level Int type, which must support big integers transparently | 20:05 | |
| bubaflub | dukeleto: for example mpz_set_string returns an int and takes a mpz_t, string, and integer so the signature should be ipti, right? | ||
| dukeleto | bubaflub: i believe that is true | ||
| moritz: do you want to be able to say, in a lexical scope, "turn on/off bigints" ? | 20:06 | ||
| moritz: and by that I mean, change the default datastructure for ints to be machine-sized or BigInts | |||
| moritz | dukeleto: no, there are separate types for non-big ints | 20:07 | |
| a uint32 is *always* what it sounds like, and an Int must *always* have the ability to store arbitrary sizes | |||
| maybe the solution is to only use the vtables for forein objects | 20:08 | ||
| where foreign = non-perl-6 | |||
| bubaflub | dukeleto: i've done the whole i = new 'UnManagedStruct' business but i'm still getting the same error... | 20:09 | |
| dukeleto | bubaflub: hmmmm | ||
| bubaflub | dukeleto: yeah, i'm either not setting the function signature right or i'm not initializing that UnManagedStruct correctly | ||
| dukeleto | bubaflub: gist the code you are using and the full output. | ||
| bubaflub: or both, or something else :) | 20:10 | ||
| bubaflub | dukeleto: hahaha. yeah. could be anything at this point. | ||
| dukeleto | False Dualities Are Dangerous To The Mind | ||
| dukeleto gets off soapbox | |||
| bubaflub: you will learn how to use gdb+parrot soon, I can tell :) | 20:14 | ||
| bubaflub | dukeleto: gist.github.com/889513 | 20:15 | |
| dukeleto: do i need to turn on debugging for that or can i use just a vanilla build? | |||
| dukeleto | bubaflub: use github.com/leto/Util/blob/master/bin/new_parrot | 20:16 | |
| bubaflub: the important part is the -g, which are debug symbols | |||
| bubaflub | ok | ||
| dukeleto | bubaflub: look at t/pmc/umnanagedstruct.t | 20:17 | |
| bubaflub: a new UMStruct has an undef in it | 20:18 | ||
| bubaflub: you need to put something there | |||
| bubaflub: you can try any PMC for now. You will probably get a more interesting error :) | |||
| bubaflub | dukeleto: hahaha. that'll be nice for a change | ||
| dukeleto | bubaflub: also, PIR has a "say" opcode, in case you forgot | ||
| bubaflub: shorter to type and often what you want | |||
| smolder is still barfing | 20:19 | ||
| mikehh | dukeleto: probably needs re-starting, seemed to work for a while after a re-start | 20:20 | |
| dukeleto | mikehh: yes. memory leaks | 20:21 | |
|
20:23
M_o_C left
|
|||
| mikehh | dukeleto: are you using Smolder-1.51 or has it been modified a lot | 20:24 | |
| dukeleto | mikehh: it is a stock smolder, but probably a few versions before 1.51 | ||
| mikehh | dukeleto: Smolder-1.51 - 16 Dec 2009 | 20:26 | |
|
20:26
M_o_C joined
|
|||
| mikehh | Let me do some tests on it | 20:26 | |
|
20:28
davidfetter joined,
M_o_C left
20:29
M_o_C joined
20:39
M_o_C left
|
|||
| bubaflub | dukeleto: so i think i get it - this UnManagedStruct will eventually have the exact same layout as the C struct in GMP | 20:40 | |
| dukeleto: i'm still getting that same error, by the way | |||
| dukeleto: gist.github.com/889513 updated | 20:41 | ||
| cotto | ~~ | 20:51 | |
| tadzik | ~ | 20:52 | |
|
21:01
bacek joined
|
|||
| bubaflub | what's the best way to check if a file exists in PIR? | 21:01 | |
|
21:01
bbatha joined
|
|||
| bubaflub | nevermind, figured it out | 21:04 | |
| benabik | Looking at PDD22, I'd guess: stat "file", 0. Although there does also appear to be os.'stat'('file')[0] | 21:05 | |
| bbatha | Because there are already a lot of students who want to do python for their GSoC projects, I began looking at Java for mine and had a couple of questions. | 21:07 | |
| First, what is the scope of the project that was looking to be supported? Are java 7 features wanted/needed? What about generics? | 21:09 | ||
| benabik | bbatha: I rather doubt they expect a complete Java implementation over a summer. | ||
| bbatha | That's what I thought both of those things seemed rather large | 21:10 | |
|
21:10
bacek left
|
|||
| bbatha | The other question was why isn't the focus of the project to translate java byte code? it seems to me that would be just as efficient and would have the benefit of adding JVM languages like Groovy and Scala. | 21:11 | |
| benabik | bbatha: I'm a student, not a mentor, but I'd expect they're looking for a reasonable subset of the language with a code structure that lets the expansion happen later. For Java, I'd implement all the basic structures and leave the pretty syntax for later. | ||
| bbatha: Because that's really inefficient, mostly. | |||
| bbatha | benabik: that makes sense. | 21:12 | |
| cotto | We used to have a .net bytecode translator, though it bitrotted. | 21:14 | |
| benabik | Something that pre-translated and tried to do some optimizations wrt stack vs register usage might not be too horrible. Wouldn't want to use it alot though. Would almost be more worthwhile to embed Java in Parrot or vice versa. | 21:15 | |
| (IMNSHO) | |||
| cotto | benabik, I like the way you think. | 21:16 | |
| benabik | cotto: translating or embedding? | 21:17 | |
| cotto | embedding | ||
| benabik | Parrot's supposed to be good a language interop, so... :-D | 21:18 | |
| cotto | that'd be a very interesting project | ||
| benabik | Been quite a while since I was mucking around with Java internals. | 21:19 | |
| cotto | It's been NaN since I mucked around in Java guts. | ||
|
21:20
bacek joined
|
|||
| benabik | I think it wouldn't be too hard to expose the Parrot embedding API via JNI, but full interop might be... non-trivial | 21:27 | |
| cotto | that gets into the realm of interesting problems | 21:30 | |
| benabik | I almost wonder if it would be easier to do RPC-style communication over pipes or sockets. | 21:32 | |
|
21:35
PacoLinux left
21:41
ambs left
21:54
zby_home left
|
|||
| lucian points at rpyc | 22:05 | ||
|
22:08
bacek left
22:18
plobsing joined
|
|||
| bubaflub | plobsing: do you have a minute to help me with NCI and PtrBuf? | 22:29 | |
| plobsing | bubaflub: shoot | 22:39 | |
| bubaflub | plobsing: i guess just some basic information. i'd like to do some work with the GMP library for GSoC and am trying to get some NCI stuff going but am having trouble with UnManagedStruct | 22:40 | |
| plobsing: i don't know a whole lot about PtrObj and PtrBuf but dukeleto said i shoulda ask you about them | |||
| plobsing: for example, i'd like to wrap GMP functions but i don't think i really need to setup an UnManagedStruct to examine the guts of GMP integer objects | 22:45 | ||
|
22:46
fperrad left
|
|||
| bubaflub | plobsing: could i use PtrObj just as an opaque reference and then pass that around? | 22:46 | |
|
22:48
soh_cah_toa joined
22:49
bbatha left
|
|||
| plobsing | bubaflub: you can use *Struct and Ptr* as opaque pointers | 22:56 | |
| I'd advise to use the new Ptr* types as the *Struct types are deprecated | |||
| bubaflub | plobsing: ok, great. is there some example code i could look at or steal? | ||
| plobsing: i don't really ever need to access the guts of the object, just be able to pass around the pointer to different functions | 22:57 | ||
|
22:57
cosimo_ joined
|
|||
| plobsing | bubaflub: there isn't much atm. my relatively new parrot-zeromq project makes use of the Ptr* objects. | 22:58 | |
| bubaflub | plobsing: neat. do you have the source on github for me to peek at? | ||
| plobsing | github.com/plobsing/parrot-zeromq | 22:59 | |
| bubaflub | haha. a most intuitive URL | ||
| plobsing | bubaflub: you say you don't care about the structure of the objects, but how are you allocating them? | 23:02 | |
| does libgmp allocate them? | |||
| or are you expected to allocate them (in which case, you need their structure to determine the allocate size) | |||
| bubaflub | plobsing: i believe libgmp takes care of that - there are several init functions | 23:03 | |
| also takes care of resizing in the event that calculations cause the number to exceed what's available | |||
| s/available/previously allocated/ | |||
|
23:04
cosimo_ left
23:05
bbatha joined
23:07
cosimo left,
rurban_ joined
23:11
rurban left,
rurban_ is now known as rurban
23:13
cosimo joined
23:15
theory joined
23:25
jsut joined
23:29
particle joined
23:30
jsut_ left
|
|||
| bubaflub | plobsing: ok, i think i'm beginning to understand some of this stuff. i definitely need to figure out how this stuff is internally represented. | 23:33 | |
| whiteknight | the Ptr PMC types are very well designed and implemented | 23:41 | |
| I suspect the API will be very stable too | |||
| bbatha: a JVM bytecode translator to Parrot would be a good project too | 23:52 | ||
| Groovy and Scala support would be nice things to get for free | |||
| bubaflub | whiteknight: can you help me out here? i tried using a StructView class but am running into the same thing | ||
| whiteknight | bubaflub: what same thing? | 23:53 | |
| bubaflub | whiteknight: i'm a bit confused by all the Un/ManagedStruct, StructView, and Ptr* objects | ||
| sorry, same thing = same problem i had before, something is still Undef | |||
| bbatha | whiteknight: that's what I was thinking, but my feeling is the independent java compiler is probably useful to have | ||
| whiteknight | UnmanagedStruct and ManagedStruct are old and maybe evil. Don't use them | ||
| Ptr, PtrBuf, and PtrObj are the new hotness | |||
| plobsing | bubaflub: the error message you described is what happens when the NCI object is null | 23:54 | |
| whiteknight | bbatha: We've had a handful of users come to IRC in the past who have wanted Parrot to support existing Java software | ||
| some people are unhappy about the situation with Oracle | |||
| plobsing | make sure your loadlib and dlfunc ops are returning values properly | ||
| bubaflub | plobsing: oh, ok, lemme double check em | 23:55 | |
| whiteknight | does NCI.get_bool return whether the ptr is non-null? | 23:56 | |
| bubaflub | plobsing or whiteknight: gist.github.com/889513 is my code and output | 23:58 | |
| bbatha | whiteknight: I talked to benabik earlier about this as you probably saw do you know bad the performance hit would be versus say a more traditional compiler. and would it be more valuable to pursue that as a project over the java compiler | 23:59 | |