Camelia, the Perl 6 bug

IRC log for #parrot, 2011-03-27

Parrot | source cross referenced

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 whiteknight that or NQP are the preferred languages for this project, I think
00:00 whiteknight so if you like Perlish stuff more, do NQP
00:01 soh_cah_toa yeah, i've been skimming through it in the parrot-instrument source
00:02 whiteknight Rosella is a library project I wrote that's all written in Winxed
00:02 whiteknight you can check that out for information about syntax
00:02 soh_cah_toa library for what?
00:03 whiteknight all sorts of stuff
00:03 whiteknight actually, it's lots of little libraries
00:03 ttbot Parrot 6ee33b49 MSWin32-x86-multi-thread make error http://tt.taptinder.org/cmdinfo/58885
00:04 whiteknight Now that I think about it, Rosella has one or two features which might be useful in a debugger
00:04 whiteknight but that's all for you to decide, once you know what your design is
00:05 soh_cah_toa what would you suggest w/ rosella?
00:06 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:07 whiteknight sort of abstract, we can worry about that kind of stuff later
00:07 soh_cah_toa okay
00:08 soh_cah_toa 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:09 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?
00:09 whiteknight hold on, let me show you an example
00:10 soh_cah_toa sure
00:11 whiteknight ah damnit, I uninstalled parrot
00:12 whiteknight in any case, PBC files have annotations which tell information about the HLL code used to write it
00:13 whiteknight think about #line and #file directives in the C preprocessor
00:13 soh_cah_toa right
00:13 whiteknight so I can read in the PBC, then look at the annotations to figure out information about the HLL code
00:14 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
00:14 soh_cah_toa i actually wanted to ask about annotations but forgot. i thought they were just like a little note or comment
00:15 whiteknight annotations are arbitrary metadata that can be inserted into the bytecode. They are mostly used for filename/line number info
00:15 whiteknight At any point in the code, we can ask "what annotations are in effect here"
00:15 whiteknight and we get back an array
00:15 whiteknight or maybe it's a hash
00:16 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
00:16 whiteknight it's like stripping debugging info from a normal executable
00:17 whiteknight 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
00:18 soh_cah_toa 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
00:18 soh_cah_toa wow, this project just got a whole lot easier
00:19 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
00:20 soh_cah_toa 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
00:20 soh_cah_toa i'll be back though
00:20 whiteknight awesome
00:37 woosley joined #parrot
00:41 ttbot Parrot 4c3f92ed i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/58906
00:41 ttbot Parrot 4c3f92ed i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/58899
00:46 ttbot Parrot 4c3f92ed i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/58925
00:46 whiteknight plobsing: ping
01:11 whiteknight plobsing: unping
01:14 M_o_C left #parrot
01:20 whiteknight bacek: ping
01:24 soh_cah_toa alright, back
01:27 soh_cah_toa 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
01:27 whiteknight by the time any of your code gets called, everything has been compiled down to PIR
01:27 whiteknight or PBC
01:28 soh_cah_toa okay, that i can definetely handle
01:31 soh_cah_toa 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:34 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 whiteknight ideally, you should never need to care
01:36 soh_cah_toa right b/c they're all compiled into pir then pbc. makes sense
01:37 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
01:45 nopaste "Whiteknight" at 192.168.1.3 pasted "basic checklist for soh_cah_toa++" (18 lines) at http://nopaste.snit.ch/38756
01:46 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:47 whiteknight 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 whiteknight or, you could set up your own custom runloop too. That would not be hard
01:48 whiteknight 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
01:48 soh_cah_toa this is definitely do-able
01:48 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
01:49 whiteknight 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 whiteknight At that point, you're done writing C. Everything else can be written in a language on top of Parrot
01:50 whiteknight 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 whiteknight so all you need to do is add a new Sub to that hash, and you magically have a new command
01:50 soh_cah_toa right, a dispatch table
01:51 whiteknight right
01:51 whiteknight at that point, everything can be done in something better than C
01:51 whiteknight All the commands can be written in Winxed or NQP or whatever you like
01:51 whiteknight And if you set things up with a nice OO interface, we can subclass things in HLLs
01:52 soh_cah_toa oh yeah, it would definitely be easier to use winxed or nqp for that
01:52 soh_cah_toa ahhhh...now i see the purpose of nqp!
01:53 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 whiteknight winxed doesn't have a runtime library, so the compiler itself doesn't pollute any namespaces or make any incompatible assumptions
01:53 whiteknight NQP has a very small runtime library, for the same reason
01:54 soh_cah_toa in other words, no ___variables___
01:55 soh_cah_toa those excesive underscores drive me nuts
01:55 whiteknight right
01:56 whiteknight think about C. C is a very small language. To do anything that isn't stupid, you need to #include libraries
01:56 whiteknight winxed and NQP are to Parrot what C is to the machine
01:56 whiteknight PIR is like the assembly language
01:57 whiteknight Everything else is higher-level
01:57 soh_cah_toa right
01:57 soh_cah_toa you know, i initially didn't take much interest in winxed but now i think it could really help me in this project
01:57 soh_cah_toa or npq for that matter
01:57 soh_cah_toa *nqp
01:57 whiteknight some people are perl people and like nqp. Some people don't like perl and prefer winxed
01:58 plobsing I consider myself a perl person, but I prefer nqp
01:58 plobsing s/nqp/winxed/
01:58 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
01:58 whiteknight the two have different design considerations too. Winxed is focused on Parrot, nqp is focused on Perl6
01:59 soh_cah_toa makes sense
02:01 soh_cah_toa 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 theory joined #parrot
02:01 whiteknight ENODALEK
02:01 whiteknight soh_cah_toa: I am already enjoying talking to you. This summer could be a lot of fun
02:02 whiteknight soh_cah_toa: if you haven't already, sign up for an account on github, and start drafting a proposal in gist
02:02 whiteknight that way we can make comments and stuff
02:02 soh_cah_toa good idea, i'll take care of that tomorrow afternoon
02:03 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
02:04 soh_cah_toa 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
02:05 whiteknight nopaste.snit.ch. Go there, fill out the form. Click paste
02:05 whiteknight Gist is the same kind of thing, but on github instead
02:05 whiteknight gist is interactive, I think nopaste is a little faster and easier
02:05 soh_cah_toa oh i thought that was a git typo, haha
02:05 whiteknight haha, yeah
02:06 whiteknight okay, it is officially past my bed time.
02:06 whiteknight I'll talk to you gentlemen tomorrow
02:06 soh_cah_toa sure thing, see you tomorrow
02:06 whiteknight later
02:06 whiteknight left #parrot
02:26 simcop2387 left #parrot
02:29 kid51 msg dukeleto Do you know who can reboot dalek?
02:29 aloha OK. I'll deliver the message.
02:40 cotto joined #parrot
02:40 cotto ~~
02:41 soh_cah_toa left #parrot
02:46 mikehh ok how dowe get dalek back?
02:48 sorear step 1. remove the ban that dukeleto set
02:48 sorear step 2. tell me to restart dalek
02:49 sorear actually I have ops so I could do both
02:49 sorear (if you want)
02:56 kid51 What was dukeleto's ban?
02:57 sorear 13:35 -!- mode/#parrot [+b dalek!*@*] by dukeleto
02:57 sorear 13:35 -!- dalek was kicked from #parrot by dukeleto [dalek]
03:03 dukeleto kid51: no, i don't
03:03 dukeleto is the trac spam issue fixed?
03:03 dukeleto that is why I banned dalek
03:07 mikehh sorear: is there another way to re-start a bot, I seem to reemember an opbot type instruction
03:12 petdance joined #parrot
03:17 contingencyplan left #parrot
03:19 kid51 dukeleto: No, the spam issue is not fixed ...
03:19 kid51 ... and we probably can't do anything until OSU OSL admins come back on Monday ...
03:19 kid51 ... but I would argue that having those spam tickets announced by dalek is the *least* of our problems ...
03:20 kid51 ... at least it alerts us to when it's happening.
03:20 bubaflub left #parrot
03:20 kid51 The worst aspect, IMO, is that the parrot-tickets list and its archive get permanently clogged.
03:21 kid51 By banning dalek, we also ban all announcements of work being done on github.
03:26 kid51 sorear: Since dukeleto has unbanned dalek, can you restart?  Thanks.
03:36 theory left #parrot
04:08 simcop2387 joined #parrot
04:08 dalek joined #parrot
04:10 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:18 kid51 left #parrot
04:53 dalek parrot: d8e4d67 | mikehh++ | t/steps/auto/llvm-01.t:
04:53 dalek parrot: changed number of tests
04:53 dalek parrot: review: https://github.com/parrot/parrot/commit/d8e4d67437
04:53 dalek parrot: b795b68 | mikehh++ | config/auto/llvm.pm:
04:53 dalek parrot: fix codetest/perlcritic failures - trailing whitespace
04:53 dalek parrot: review: https://github.com/parrot/parrot/commit/b795b68ac9
04:53 dalek parrot: 5e3c885 | mikehh++ | t/configure/018-revision_to_cache.t:
04:53 dalek parrot: fix codetest/perlcritic failures - trailing whitespace
04:53 dalek parrot: review: https://github.com/parrot/parrot/commit/5e3c885965
04:53 dalek parrot: 7e9553d | mikehh++ | t/steps/auto/infnan-01.t:
04:53 dalek parrot: fix codetest failure - trailing whitespace
04:53 dalek parrot: review: https://github.com/parrot/parrot/commit/7e9553d20f
05:05 petdance left #parrot
05:42 cotto ~~
05:42 cotto in the future, we should just take voice from a noisy (but otherwise welcome) bot
05:45 Topic for #parrot is now Parrot 3.2.0 released | http://parrot.org | Log: irclog.perlgeek.de/parrot/today | Parrot is accepted for GSoC 2011! Student application deadline is Apr 8
06:03 cotto dukeleto, are you around?
06:09 cotto dukeleto++ for the gsoc responses in parrot-dev
06:14 * cotto goes to bed
06:23 sorear cotto: unfortunately, MAGnet doesn't let you selectively devoice a single user without moderating the channel
06:23 sorear that's a freenode thing :/
06:42 Drossel joined #parrot
06:42 fperrad joined #parrot
06:43 Kulag left #parrot
07:11 rurban left #parrot
07:12 rurban joined #parrot
07:38 dalek nqp/ctmo: 2f75d22 | jonathan++ | build/PARROT_REVISION:
07:38 dalek nqp/ctmo: Actually bump the PARROT_REVISION.
07:38 dalek nqp/ctmo: review: https://github.com/perl6/nqp/commit/2f75d22eda
08:16 contingencyplan joined #parrot
09:10 jsut joined #parrot
09:14 Eduardow left #parrot
09:14 jsut_ left #parrot
09:55 Tene http://qinsb.blogspot.com/2011/03/​unladen-swallow-retrospective.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 #parrot
10:17 rohit_nsit08 hello #parrot
10:24 rohit_nsit08 dukeleto: how can i test jaspers on my system?
10:41 bacek left #parrot
10:54 bacek joined #parrot
10:54 dalek parrot/jit_prototype: 6a582f8 | bacek++ | compilers/opsc/src/Ops/JIT.pm:
10:54 dalek parrot/jit_prototype: Create lookup hash of declared functions.
10:54 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/6a582f80f8
10:54 dalek parrot/jit_prototype: 70c4d2d | bacek++ | compilers/opsc/src/Ops/JIT.pm:
10:54 dalek parrot/jit_prototype: Store declared variables in %jit_context.
10:54 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/70c4d2dd53
10:54 dalek parrot/jit_prototype: c9fc22d | bacek++ | compilers/opsc/src/Ops/JIT.pm:
10:54 dalek parrot/jit_prototype: Start jitting actual PAST::*:
10:54 dalek parrot/jit_prototype:
10:54 dalek parrot/jit_prototype: 1. Handle simple Vars/Vals.
10:54 dalek parrot/jit_prototype: 2. Generate function calls.
10:54 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/c9fc22dfdb
11:10 whiteknight joined #parrot
11:15 whiteknight good morning, #parrot
11:21 rohit_nsit08 left #parrot
11:30 rohit_nsit08 joined #parrot
11:44 rohit_nsit08 left #parrot
11:45 rohit_nsit08 joined #parrot
11:55 Patterner left #parrot
11:55 Psyche^ joined #parrot
11:55 Psyche^ is now known as Patterner
12:05 bacek left #parrot
12:22 ambs joined #parrot
12:22 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:24 bacek joined #parrot
12:24 mikehh whiteknight: my dear chap, how is life treating this fine day?
12:24 dalek parrot/jit_prototype: 7014b15 | bacek++ | compilers/opsc/src/Ops/JIT.pm:
12:24 dalek parrot/jit_prototype: Workaround for MMD "failure".
12:24 dalek parrot/jit_prototype:
12:24 dalek parrot/jit_prototype: MMD fail to choose Ops::Op vs PAST::Block.
12:25 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/7014b15245
12:25 dalek parrot/jit_prototype: 0eb0f3c | bacek++ | compilers/opsc/src/Ops/JIT.pm:
12:25 dalek parrot/jit_prototype: "Register constants" JITting.
12:25 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/0eb0f3ce56
12:25 dalek parrot/jit_prototype: 5d96131 | bacek++ | compilers/opsc/src/Ops/JIT.pm:
12:25 dalek parrot/jit_prototype: Fallthrough for PAST::Op<undef>
12:25 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/5d96131c1f
12:25 dalek parrot/jit_prototype: 81dd66b | bacek++ | compilers/opsc/src/Ops/JIT.pm:
12:25 dalek parrot/jit_prototype: Fix JIT.jit and add .optimize method.
12:25 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/81dd66b5f5
12:25 dalek parrot/jit_prototype: a35c94e | bacek++ | src/pmc/sub.pmc:
12:25 dalek parrot/jit_prototype: Create ccont in Sub.invoke when it's null.
12:25 dalek parrot/jit_prototype:
12:25 dalek parrot/jit_prototype: This is (temporary) workaround for jit prototype purpose.
12:25 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/a35c94ef9c
12:25 dalek parrot/jit_prototype: 4a04e0f | bacek++ | t/jit/test.t:
12:25 dalek parrot/jit_prototype: Rework test to be kind of real jit proto.
12:25 dalek parrot/jit_prototype: review: https://github.com/parrot/parrot/commit/4a04e0f8d6
12:27 nopaste "bacek" at 192.168.1.3 pasted "IT WORKS!!! (Well, almost :)" (79 lines) at http://nopaste.snit.ch/38859
12:27 bacek aloha, humans
12:28 mikehh howdo bacek
12:28 bacek I've got my first jitted sub run :)
12:28 bacek http://nopaste.snit.ch/38859
12:29 mikehh bacek: excellent
12:29 bacek mikehh, indeed :)
12:30 mikehh I know this is a prototype. but have you any idea if this improves performance significantly?
12:31 bacek mikehh, it will decrease it dramatically in first cut...
12:32 cgaertner joined #parrot
12:32 mikehh bacek: ah well, as long as there is scope for improvement there :-}
12:33 cgaertner hello #parrot
12:33 bacek mikehh, a _lot_ of :)
12:33 mikehh hi cgaertner
12:34 whiteknight mikehh: Life is treating me quite well, thankyou
12:34 whiteknight mikehh: How are things on the other side of the pond?
12:35 cgaertner there are some problems with parrot on cygwin...
12:36 cgaertner 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 :-}
12:37 mikehh whiteknight: but I suppose we are now "officially" in summer (not that I noticed that much)
12:38 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
12:41 mikehh cgaertner: I am afriad that I don't know anything about cygwin, I am sure we have other devs around who do
12:42 mikehh 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 #parrot
12:45 dalek Heuristic branch merge: pushed 157 commits to parrot/whiteknight/vtable_overrides by Whiteknight
12:46 cgaertner the failures are in pmc/socket.t and dynpmc/os.t, which one might expect, really, if no one tested the platform
12:47 cgaertner however, pmc/eval.t also fails...
12:47 whiteknight cgaertner, can you nopaste the failures?
12:48 nopaste "cgaertner" at 192.168.1.3 pasted "eval.t failures on cygwin" (26 lines) at http://nopaste.snit.ch/38860
12:48 cgaertner ^ is that what you need?
12:52 whiteknight yes
12:53 whiteknight okay, it looks like there's a problem with the tempfile
12:53 whiteknight I seem to remember cygwin had a problem with tempfiles
12:53 dalek parrot: e6b8658 | Whiteknight++ | / (147 files):
12:53 dalek parrot: Merge branch 'master' into whiteknight/vtable_overrides
12:53 dalek parrot: review: https://github.com/parrot/parrot/commit/e6b8658411
12:53 dalek parrot: 7282d98 | Whiteknight++ | / (2 files):
12:53 dalek parrot: remove override ability for vtable can.
12:53 dalek parrot: review: https://github.com/parrot/parrot/commit/7282d9874d
12:53 rohit_nsit08 whiteknight: hi ,
12:54 rohit_nsit08 moritz : hi
12:54 whiteknight good morning, rohit_nsit08
12:54 dalek parrot: a37d7f0 | Whiteknight++ | NEWS:
12:54 dalek parrot: update NEWS
12:54 dalek parrot: review: https://github.com/parrot/parrot/commit/a37d7f034f
12:56 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:57 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 :-)
12:58 rohit_nsit08 whiteknight: was first experience with PIR , awesome
12:58 whiteknight nice
13:00 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:03 whiteknight I'm not very familiar with Jaspers right now. I have to play with it some
13:03 whiteknight setup.pir is pretty easy to use "parrot setup.pir build"
13:03 whiteknight "parrot setup.pir test"
13:03 whiteknight "parrot setup.pir install"
13:03 whiteknight etc
13:03 bacek left #parrot
13:05 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
13:05 whiteknight I don't know what state Jaspers is in. It might not do anything right now
13:05 whiteknight it's a very young project
13:06 rohit_nsit08 whiteknight: it can be the case , there is parser and a javascript test file
13:07 whiteknight with Jaspers, you're probably going to have to read a lot of code to figure out what's going on
13:09 rohit_nsit08 whiteknight: i'll make minor changes in my proposal gist , tonight , u saw it ?
13:09 rohit_nsit08 sorry connection got lost
13:10 whiteknight this one: https://gist.github.com/888952
13:10 rohit_nsit08 ya , this one
13:12 shell joined #parrot
13:13 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
13:14 whiteknight ok
13:14 rohit_nsit08 var ast = jsParser.parse(source); , generated ast is stored in ast variable
13:14 rohit_nsit08 what's getting stored in it ?
13:15 whiteknight I don't know. Try printing it out
13:15 whiteknight Create a fork of Jaspers on github, and start making changes to it to explore
13:16 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:19 whiteknight like I said, I don't know anything about Jaspers
13:20 rohit_nsit08 hmm.. will try to figure it out .
13:21 whiteknight I'll check out a copy of it later
13:21 rohit_nsit08 whiteknight: thanks
13:21 whiteknight no problem
13:21 ambs left #parrot
13:23 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:24 whiteknight I don't know. You might not be able to make a change after you submit
13:24 whiteknight that's why it's a good idea to put the proposal on github
13:24 whiteknight so we can make comments, and you can make changes
13:24 whiteknight Send a link with your proposal gist to the parrot-dev mailing list to ask for input
13:25 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 cgaertner (Parrot's build system scares me)
13:25 cgaertner ^have
13:25 whiteknight yeah, the build system can be a little tricky
13:26 rohit_nsit08 hmmm, ok, than i'll apply only after we are able to make it suitable enough
13:29 rohit_nsit08 whiteknight: is there any book , or site with concepts of compiler design similar to my work ?
13:32 kid51 joined #parrot
13:34 * kid51 backscrolls
13:40 kid51 cgaertner: Yes, the Cygwin build had only one supporter and is not really currently maintained.
13:40 kid51 http://tinyurl.com/4cp26ud for Trac tickets with cygwin listed as platform
13:41 theory joined #parrot
13:44 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 cgaertner no big deal, really
13:44 cgaertner getting make install to work would have been nice, though
13:48 rohit_nsit08 left #parrot
13:49 cgaertner getting glib to build is far more challenging, sadly...
13:54 whiteknight rohit_nsit08: There are a few books on compiler design concepts, yes
13:59 rohit_nsit08 joined #parrot
14:03 kid51 cgaertner: Other things being equal, fixing test failures, TODOs, SKIPs on Win32 is more important than getting Cygwin to work.
14:07 bacek joined #parrot
14:15 theory left #parrot
14:21 kid51 http://tinyurl.com/4d299qt for Trac tickets where keywords contains 'debugger'
14:25 kid51 Any people testing on Win64?  Can you take a look at http://trac.parrot.org/parrot/ticket/1046 ?
14:32 dalek tracwiki: v6 | jkeenan++ | DebuggerTaskList
14:32 dalek tracwiki: Add link to search for TT with 'debugger' in keywords
14:32 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Debu​ggerTaskList?version=6&amp;action=diff
14:32 dalek TT #2081 created by yoqujjecgmlflt1++: Obtain Home Office furniture For the Well Planned Home Office
14:32 dalek TT #2081: http://trac.parrot.org/parrot/ticket/2081
14:45 rohit_nsit08 left #parrot
14:48 dalek parrot: 69f3ae1 | jkeenan++ | t/steps/auto/llvm-01.t:
14:48 dalek parrot: Correct number of tests in plan.
14:48 dalek parrot: review: https://github.com/parrot/parrot/commit/69f3ae11b9
14:53 whiteknight Coke: ping
14:55 benabik G'morning, #parrot
14:55 whiteknight good morning benabik
14:56 benabik Anything interesting happen while I've been buried in schoolwork?  Saw a lot of GSoC talk on -dev.
14:57 whiteknight that's the most of it. Lots of GSoC excitement
15:01 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:02 bacek left #parrot
15:02 shell hey,whiteknight.would you please tell me which time zone you are in.
15:03 whiteknight shell: Eastern, US. I'm near Philadelphia
15:03 shell thanks
15:03 whiteknight shell: you?
15:03 shell +8
15:03 whiteknight benabik: Tell your professors to back off, you have more important things to do
15:04 benabik whiteknight: Hah.  I'd love to, but I think they disagree. :-D
15:04 whiteknight shell: Oh wow. Which country?
15:05 benabik whiteknight: Although if I still had my prof from compilers, I might get away with it.
15:05 shell i am in china
15:05 shell recently,i am developing a Matlab compiler
15:06 whiteknight shell: Awesome. Parrot Dev JimmyZ is from China. I don't know where
15:06 whiteknight shell: I wrote a matlab compiler for Parrot a long time ago, but it got broken and I stopped working on it
15:06 shell really?
15:07 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
15:07 shell and i have to add a preprocessor
15:07 shell to solve this
15:07 whiteknight oh, that stinks. What kind of paser are you using?
15:07 whiteknight parser
15:08 rurban_ joined #parrot
15:08 shell i use antlr to generate the parser
15:08 shell i've a lot experience on antlr
15:08 jsut left #parrot
15:09 jsut joined #parrot
15:09 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 whiteknight [a, b, c] = foo()
15:10 whiteknight that is the syntax I was stuck on
15:10 whiteknight and the related stuff (nargin, nargout, etc)
15:10 shell i treat the assignment as an expr
15:10 cgaertner left #parrot
15:10 shell in the grammar level
15:11 rurban left #parrot
15:11 shell and the ast walker has to deal with it
15:11 rurban_ is now known as rurban
15:11 whiteknight oh, okay
15:13 shell since my previous idea about the V8 benchmark migration was rejected,i think maybe i should try the "antlr on parrot" project
15:14 whiteknight antlr backend for Parrot would be a nice project
15:14 whiteknight maybe you could use that to port Matlab to Parrot :)
15:14 shell i think so
15:14 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 #parrot
15:15 shell i did,too
15:16 whiteknight shell and benabik: Do you guys have github accounts?
15:16 whiteknight you can use a Gist on github to start drafting proposals so we can make comments
15:17 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.
15:17 rohit_nsit08 whiteknight: hi, shall i post the link of my gist or the whole proposal on the mailing list?
15:17 shell i can download it from http
15:17 shell but not on git
15:17 whiteknight rohit_nsit08: yes, mailing list is a good place to get feedback
15:18 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?
15:18 whiteknight shell: if you can't do github, you can just send an email to parrot-dev.
15:19 whiteknight rohit_nsit08: yes
15:19 rohit_nsit08 whiteknight: k, :-)
15:19 shell i can download it,with a little extra work
15:19 whiteknight shell: You don't need git to use a gist on github
15:19 whiteknight it's just a web interface
15:19 shell right
15:21 shell i am sorry,sometime i am too hurry to spell correctly
15:22 shell which language is best supported on parrot?
15:23 shell if i develop a antlr backend,i need to choose  one
15:26 whiteknight shell, you want a low-level language to target, so the parsers are portable
15:26 whiteknight and so they don't require huge runtime libraries
15:27 rohit_nsit08 dukeleto: there?
15:27 whiteknight shell NQP (a subset of Perl6) and Winxed (similar to JavaScript and C++) are good choices
15:27 whiteknight shell: Winxed is my favorite, but NQP has a lot of cool features too
15:28 shell actually,i found winexed looks a bit like javafx
15:28 shell in grammar
15:28 whiteknight yeah, it's all related.
15:29 shell i got wine
15:29 shell sorry
15:29 shell i got winxed frm googlecode
15:30 whiteknight yeah, that's where it lives
15:30 shell but it doesn't seem complete
15:30 whiteknight it doesnt?
15:30 shell i found little examples
15:30 shell sorry
15:30 shell i found few examples
15:31 whiteknight yeah, there are not a lot of examples, or tests
15:31 whiteknight that's a problem
15:31 shell but i am able to handle that
15:31 shell it's ok
15:32 whiteknight If you want example code to look at, See Rosella (https://github.com/Whiteknight/Rosella). It's a library project written in winxed
15:32 whiteknight thousands of lines of winxed code to explore
15:32 shell thanks
15:32 shell i'll try it
15:33 Eduardow joined #parrot
15:34 shell it looks nice
15:36 shell but would it be better to be based on a more popular language,such as lua?
15:36 shell so that the lua developers would be able to use that
15:37 whiteknight what do you mean? Generate Lua code from ANTLR?
15:37 shell yes
15:38 whiteknight that is interesting, but lua does have a runtime library
15:38 whiteknight so to use your parser from Perl6, we would need to load all the lua libraries too
15:39 woosley left #parrot
15:40 shell but it's not too large
15:42 shell i dont't think it would cause problems if i can inline the functions used
15:42 shell the lua core lib is very small
15:42 whiteknight include your choice of language in your proposal
15:42 shell ok
15:43 shell it's possible too handle this drawback]
15:44 shell would you like to be my mentor?
15:44 shell you are very kind to me
15:45 whiteknight maybe. it depends on all the proposals
15:45 dalek parrot: 3264def | jkeenan++ | lib/Parrot/Pmc2c/PMC/RO.pm:
15:45 dalek parrot: Make documentation less inaccurate.
15:45 dalek parrot: review: https://github.com/parrot/parrot/commit/3264def8ed
15:45 whiteknight I'm not very good at Lua
15:46 shell i think i should provide a solution for language interoperation
15:46 shell let me see
15:47 shell ok,i would not use lua,since it's not as powerful as winxed
15:47 shell but i still have to solve the interoperation problem
15:47 whiteknight all languages are powerful. depends how you use them
15:47 whiteknight interoperation is easy
15:47 shell i know
15:48 shell but it would be better to have OO
15:48 whiteknight what do you mean? Winxedhas OO
15:49 shell yes,i mean lua doesn't have that
15:49 shell see you tomorrow
15:49 shell here is 11:49 pm
15:50 whiteknight ok
15:50 whiteknight goodnight
15:50 shell my school cut off the internet at 12:00 pm...........
15:50 rohit_nsit08 shell: hi, from which country?
15:50 shell china
15:51 benabik shell: G'night!
15:51 rohit_nsit08 shell: i'm from india  , it's 9:20 here , good night
15:51 shell good night
15:51 shell BTW,do you use google wave
15:51 benabik And for me, on the other side of the world, it's nearly lunchtime so I'm going to go do that.  :-)
15:51 whiteknight rohit_nsit08: I don't think we have any other parrot devs from india
15:52 whiteknight rohit_nsit08: have you ever heard of Wikimedia India?
15:52 rohit_nsit08 whiteknight: i haven't seen any , so i guess yes
15:52 rohit_nsit08 whiteknight: i've heard of wikemedia ,
15:53 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
15:53 shell code.in.the.shell@gmail.com
15:53 particle left #parrot
15:54 rohit_nsit08 whiteknight: really? wow
15:54 rohit_nsit08 whiteknight: can i have the link ?
15:55 whiteknight http://meta.wikimedia.org/wiki/Wikimedia_India
15:55 whiteknight http://wikimedia.in/wiki/Main_Page
15:57 rohit_nsit08 whiteknight: u attended any of the events , they look great :-)
15:57 whiteknight no, I've never been to india
15:58 whiteknight some day :)
15:58 rohit_nsit08 :-) sure, will have coffe together loll
15:59 rohit_nsit08 whiteknight: lots of events and activities have happened in february this year , what is the major goal of this chapter?
16:00 whiteknight to spread open knowledge, promote wikipedia
16:01 whiteknight did you know more indians contribute to en.wikipedia.org than hi.wikipedia.org?
16:03 whiteknight 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 #parrot
16:10 rohit_nsit08 left #parrot
16:19 autark left #parrot
16:20 mikehh kid51: ping
16:21 kid51 pong
16:22 mikehh you are obviously running one more test than I am with t/steps/auto/llvm-01.t
16:24 kid51 Don't understand?
16:27 nopaste "mikehh" at 192.168.1.3 pasted "results of prove -v t/steps/auto/llvm-01.t" (62 lines) at http://nopaste.snit.ch/38861
16:28 mikehh kid51: ^^^
16:30 mikehh kid51: what other info do you need?
16:31 kid51 Try this:
16:31 dalek parrot: acc1ddb | jkeenan++ | lib/Parrot/Pmc2c/PMC/RO.pm:
16:31 dalek parrot: Merge branch 'master' of git@github.com:parrot/parrot
16:31 dalek parrot: review: https://github.com/parrot/parrot/commit/acc1ddbc9f
16:31 dalek parrot: 5a4b466 | jkeenan++ | t/steps/auto/llvm-01.t:
16:31 dalek parrot: Correct number of tests to be SKIPped.
16:31 dalek parrot: review: https://github.com/parrot/parrot/commit/5a4b466454
16:33 kid51 Appears that I deleted one test from inside a SKIP block without changing the number to be skipped
16:35 mikehh kid51: ok that works
16:42 rohit_nsit08 joined #parrot
16:43 rohit_nsit08 whiteknight: hi , had to run away, missed my station :-)
16:43 rohit_nsit08 whiteknight:  was on bus
16:45 rohit_nsit08 whiteknight: there?
16:47 davidfetter joined #parrot
16:55 whiteknight rohit_nsit08: yes, I'm here
16:56 rohit_nsit08 whiteknight: just managed to deboard on time :-) ,
16:56 whiteknight good :)
16:57 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
16:58 whiteknight 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?
16:59 whiteknight I don't know. I don't think Google has picked yet
16:59 whiteknight I think the final number is determined by the number of good proposals we get.
16:59 whiteknight more good proposals = more slots
16:59 davidfetter left #parrot
17:00 rohit_nsit08 rohit_nsit08: so slots are flexible
17:00 rohit_nsit08 whiteknight: and who decides the student , as in is there google involved in the procedure or only the organisation  and members?
17:01 whiteknight slots are sort of flexible. There are a fixed number of slots, spread out for all organizations
17:01 eternaleye left #parrot
17:01 whiteknight so if Parrot uses more, some other org has to use less
17:01 whiteknight Parrot decides the students. We get the proposals and the number of slots, and we pick who is in
17:02 whiteknight so the proposals have to be good, and we have to know the student
17:02 whiteknight It's very good for students to chat with us on IRC, to submit patches, to ask questions, etc
17:02 whiteknight We like proof that the student is capable
17:02 rohit_nsit08 whiteknight: hmm got it , what kind of details shall i add in the proposal
17:03 whiteknight rohit_nsit08: most important things:
17:03 whiteknight 1) Statement of what you want to do
17:03 whiteknight 2) Timeline
17:03 whiteknight 3) Backup plan (What to do if there are problems)
17:03 whiteknight 4) Extra items (What to do if you have extra time)
17:03 whiteknight http://trac.parrot.org/parrot/wik​i/GSoCStudentApplicationTemplate
17:03 jsut_ joined #parrot
17:05 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
17:06 rohit_nsit08 whiteknight: sending :-) just a few editing
17:07 dukeleto ~~
17:07 dalek TT #2082 created by evpumpcmgcny6++: Get Home Office furniture For the Nicely Planned Home Workplace
17:07 dalek TT #2082: http://trac.parrot.org/parrot/ticket/2082
17:07 dukeleto rohit_nsit08: the parrot community picks which students get to fill the slots
17:08 * dukeleto is not happy about this trac spam
17:08 dukeleto can we make dalek not announce TT's?
17:08 dukeleto otherwise, I will kickban dalek again
17:08 dukeleto sorear: ^^^
17:08 jsut left #parrot
17:11 dukeleto rohit_nsit08: may I add that the list of deliverables is also very important
17:12 * dukeleto made progress with Javascript on Parrot yesterday (Jaspers)
17:13 kid51 rohit_nsit08 (and other potential GSOCers): IMO, proposal quality is largely determined by "usefulness to the Parrot project" ...
17:13 kid51 ... where a major component of that "usefulness" is the ability of a project to be completed and merged into master before end of GSOC.
17:14 dukeleto kid51++ # agreed
17:14 dukeleto kid51: thanks for your ticket trolling, as well :)
17:15 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:17 dukeleto kid51: whatever the solution, i don't want to see spam in this IRC channel
17:17 dukeleto kid51: so either dalek doesn't announce TT's until that is fixed, or dalek shouldn't be in here until it is fixed
17:17 dukeleto kid51: i agree with your statement
17:17 dukeleto kid51: do we know how to change that?
17:18 dukeleto 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.
17:19 dukeleto kid51: yeah
17:19 dukeleto rohit_nsit08: you asked about jaspers, do you still have that question?
17:20 kid51 But if you kick dalek, you stop all other commit announcements here as well.
17:20 dukeleto kid51: yes
17:20 kid51 If you want to discuss refining dalek's capabilities with diakopter, please do so.
17:20 kid51 But dalek is merely the symptom of the problem.
17:21 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 dukeleto kid51: i would rather have nothing announced than stuff + spam
17:22 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:23 kid51 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:24 rohit_nsit08 dukeleto: coming in few minutes ,editing the proposal :-)
17:25 dukeleto kid51: all parrot commits are easily viewable at https://github.com/organizations/parrot
17:26 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:27 eternaleye joined #parrot
17:32 dukeleto how does dalek find out there is a new TT?
17:32 dukeleto i don't see anything in the trac admin
17:39 dukeleto looks like https://github.com/Infinoid/dalek-plugins​/blob/master/modules/local/tracwikilog.pm needs to change
17:39 whiteknight I think dalek reads the RSS feed from trac at regular intervals
17:41 dukeleto whiteknight: yes, that is what the tracwikilog.pm does
17:41 dukeleto whiteknight: how do you feel about spam being announced in here?
17:43 whiteknight dukeleto: dalek is too valuable to kickban outright.
17:43 whiteknight if spam is really stuck in your craw, we could remove TT announcements from dalek
17:44 whiteknight 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 whiteknight I wonder if we can get IP address information, and block those?
17:45 dalek jaspers: 35595e0 | dukeleto++ | README.md:
17:45 dalek jaspers: Update readme with recent design decisions
17:45 dalek jaspers: review: https://github.com/leto/jaspers/commit/35595e00f8
17:45 whiteknight maybe we take all rights away from authenticated users, and require accounts to be "approved" before creating content
17:45 whiteknight it sucks, but it will work in the shortterm
17:46 dukeleto whiteknight: blocking IP's is a losing game
17:46 rohit_nsit08 whiteknight: i have posted the link on the mail ,
17:46 dukeleto whiteknight: i am currently trying to remove TT announcements from dalek, but I don't have control over dalek
17:47 dukeleto 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?
17:47 dukeleto rohit_nsit08: good question
17:48 dukeleto rohit_nsit08: it is an AST that PEG.js creates. You can think of it as JSON, basically
17:48 dukeleto rohit_nsit08: https://gist.github.com/889410
17:49 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"
17:49 dukeleto rohit_nsit08: you need a recent nodeJS
17:49 dukeleto rohit_nsit08: 0.1.x won't work
17:49 dukeleto rohit_nsit08: 0.2.5 and higher should work
17:49 whiteknight dukeleto: I'm going to take TICKET_CREATE and TICKET_APPEND permissions from Authenticated users, for now
17:50 whiteknight 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
17:50 rohit_nsit08 dukeleto: that should work
17:50 dalek jaspers: 4393bad | dukeleto++ | README.md:
17:50 dalek jaspers: Add a note about how to try Jaspers in the readme
17:50 dalek jaspers: review: https://github.com/leto/jaspers/commit/4393bad5ca
17:51 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.
17:51 dukeleto rohit_nsit08: yes, it is the cousin of console.log() . console.log() takes a string, console.dir() takes an object
17:52 dukeleto rohit_nsit08: but console.dir doesn't recurse and dump objects. we need something that does
17:52 dukeleto whiteknight: i am now thinking about what the stage-0 compiler for Jaspers should target
17:53 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
17:54 dukeleto rohit_nsit08: console.dir() is part of javascript, node may not have it in their docs
17:54 dukeleto rohit_nsit08: just search for console.dir on the interwebs :)
17:54 dalek tracwiki: v3 | whiteknight++ | GSoCStudentApplicationTemplate
17:54 dalek tracwiki: http://trac.parrot.org/parrot/wiki/GSoCStudent​ApplicationTemplate?version=3&amp;action=diff
17:54 rohit_nsit08 dukeleto: hmm.. that's possible
17:55 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 dukeleto whiteknight: i think tree-optimization will come in handy
17:55 whiteknight dukeleto: A stage-1 jaspers really can't emit PAST, but a stage-2 Jaspers could
17:55 dukeleto whiteknight: please explain
17:55 whiteknight PAST has the benefit of things like tree-optimization, alternate POST backends, etc
17:56 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
17:56 dukeleto whiteknight: ok
17:56 whiteknight the first compiler stage will be running on node and will need to emit PIR
17:56 dukeleto whiteknight: ok, that is reasonable
17:56 rohit_nsit08 i'll suggest converting to PIR as a good option
17:56 whiteknight once you have your stage-1 running on Parrot, you can emit PAST and let the PCT infrastructure handle optimization and code generation
17:57 whiteknight rohit_nsit08: As the first project, yes. That's what you should do. If that goes well, consider making PAST
17:57 whiteknight if you have enough tme
17:57 dukeleto whiteknight: ok, i am concentrating on stage-0 for now. So I will write something that reads the JSON AST and emits PIR
17:58 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: https://gist.github.com/889410
17:58 dukeleto rohit_nsit08: please ask that question again, didn't quite understand you
17:59 dukeleto 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
18:00 rohit_nsit08 parser parser the language and generates a syntax tree
18:00 rohit_nsit08 parses the language
18:00 dukeleto rohit_nsit08: we won't replace it, we will tranform it
18:00 dukeleto transform, rather
18:00 dukeleto rohit_nsit08: i think that is what you mean
18:01 dukeleto 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
18:02 rohit_nsit08 dukeleto: so i have to give , my schedule of whole 3 months from 22 may to august 22?
18:02 rohit_nsit08 dukeleto: in my application
18:02 dukeleto rohit_nsit08: we will transform the JSON AST to some internal datastructure, then emit PIR from that datastructure
18:03 dukeleto rohit_nsit08: yes, list every week and what you will do
18:03 dukeleto rohit_nsit08: you mention cafe in your proposal, but jaspers currently uses PEG.js
18:04 dukeleto 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 dukeleto rohit_nsit08: s/NPQ/NQP/ in your proposal
18:04 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
18:05 dukeleto rohit_nsit08: sounds fine
18:06 dukeleto rohit_nsit08: this gsoc proposal is a good start, but it needs a bit more detail and research to make it "awesome"
18:06 dukeleto rohit_nsit08: but you are definitely on the right track :)
18:06 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
18:06 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
18:06 rohit_nsit08 dukeleto: thanks , will add more detail tomorrow
18:06 dukeleto rohit_nsit08: you mispelled NQP
18:07 dukeleto rohit_nsit08: NQP = Not Quite Perl
18:07 dukeleto rohit_nsit08: NPQ doesn't exist :)
18:07 rohit_nsit08 dukeleto: oops  sorry ,
18:07 dukeleto rohit_nsit08: no worries, just giving you feedback
18:07 * dukeleto is not offended :)
18:07 rohit_nsit08 dukeleto: thanks , will change that too :-)
18:10 rohit_nsit08 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
18:11 dukeleto 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 bubaflub joined #parrot
18:11 dukeleto rohit_nsit08: we need to decide on a test framework, i.e. how will we write our tests?
18:11 dukeleto rohit_nsit08: also, which format will we write docs?
18:11 dukeleto bubaflub: werd up
18:11 rohit_nsit08 dukeleto: i thought about docs , there is a tool available that can generate documentation from javascript files from commented code
18:11 bubaflub dukeleto: yo
18:11 dukeleto rohit_nsit08: hmmm
18:11 rohit_nsit08 dukeleto: it generates docs in html
18:12 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
18:12 bubaflub dukeleto: which would be better, in your opinon?  The GMP bindings or the PL/Parrot update?
18:12 dukeleto bubaflub: i saw your tweet :)
18:12 dukeleto bubaflub: well, "better" in what respect? Better for you or better for me or better for the parrot community?
18:12 bubaflub dukeleto: i suppose the community
18:12 dukeleto bubaflub: what are your goals?
18:13 bubaflub dukeleto: kick ass, take names
18:13 bubaflub dukeleto: not sure - the GMP stuff is much more familiar
18:13 bubaflub dukeleto: and it's nice that any HLL would get that stuff for free
18:13 bubaflub dukeleto: the PL/Parrot would be nice as it flushes out the embedding API
18:14 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 dukeleto bubaflub: yes, PL/Parrot will be good for the embed API
18:14 bubaflub dukeleto: ok. my thought is that since i'm already around
18:14 bubaflub dukeleto: i could do either at any time.
18:14 bubaflub dukeleto: maybe i'll go GMP - there's always lots to do after i'm done with the basic GSoC
18:14 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
18:15 dukeleto 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:17 dukeleto 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 dukeleto bubaflub: i think you will be very productive at hacking on GMP and you will knock it out of the park
18:17 dukeleto 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 #parrot
18:18 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.
18:19 * dukeleto has certainly fell down some very deep yak caverns
18:21 dukeleto 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 #parrot
18:25 dukeleto bubaflub: do you think you can get some example code written? Just bind one single function and see if it works?
18:26 dukeleto 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
18:26 bubaflub dukeleto: i'm thinking full docs and test suite isn't out of the question
18:27 bubaflub esp. for just integer functions
18:31 rohit_nsit08 dukeleto: checked Markdown , what other formats we are targetting to  export besides html ?
18:32 GodFather left #parrot
18:34 cotto left #parrot
18:35 dukeleto bubaflub: yes, I expect full test coverage :)
18:35 bubaflub dukeleto: nothing but the best
18:35 dukeleto rohit_nsit08: markdown can export to every format. Not sure which specific formats we care about exporting to
18:35 dukeleto bubaflub: i want to see example code!
18:36 bubaflub dukeleto: sounds good... should help sell the proposal
18:36 cotto joined #parrot
18:36 cotto ohai
18:37 mikehh cotto: hi there
18:38 mikehh bubaflub, dukeleto: I am definately interested in helping out with GMP intergration
18:41 bubaflub mikehh: great
18:42 rohit_nsit08 duekeleto: we can surely use markdown , will do some more research on its benefits and add it in the proposal
18:43 dukeleto cotto: howdy
18:43 dukeleto rohit_nsit08: awesome
18:43 dukeleto rohit_nsit08: just add some details about docs and a test suite. we can flesh it out later
18:43 dukeleto mikehh: that will surely be helpful
18:44 dukeleto 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
18:45 cotto dukeleto, do you have some time to talk about m0?
18:46 bubaflub dukeleto or mikehh: any ideas about a minimum version of gmp?
18:47 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:49 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 whiteknight at least, I don't think there are any standard tools for out-of-browser JavaScript testing
18:53 cotto whiteknight, wouldn't v8 have something like that?
18:53 whiteknight for out-of-browser JavaScript testing? I don't know
18:54 whiteknight 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.
18:56 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.
18:56 bubaflub but my understanding is that they are backwards compatible back to 3 or something
18:56 whiteknight yeah, I hate adding permissions stuff
18:57 rohit_nsit08 whiteknight: checking rosella  will be back soon :-)
18:57 rohit_nsit08 left #parrot
18:58 mikehh Ubuntu 10.10 has 4.3.2 and it is installed on my system
18:59 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".
19:04 bubaflub dukeleto: i'm going to try and make a quick sample code
19:05 bubaflub dukeleto: and throw it up on github
19:05 lucian joined #parrot
19:06 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?
19:07 bubaflub 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
19:07 whiteknight that might be a good thing to look at
19:07 whiteknight NotFound had something for calling functions from libc too
19:08 plobsing bubaflub: there are a couple bindings in existance. we have some ncurses and opengl bindings in core for example.
19:08 plobsing there's some stuff in the winxed examples directory as well
19:09 plobsing 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
19:10 whiteknight yeah, that's a good method, I think
19:10 whiteknight you can use the get_pointer vtable to get the pointer to the raw data structure for NCI
19:13 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:14 bubaflub plobsing: cool.  i'll take a look at that
19:18 whiteknight PtrObj will just hold a pointer, it won't have things like methods or arithmetic operations
19:20 plobsing those can be overriden from HLL
19:21 whiteknight that's true
19:27 dukeleto cotto: wazzup?
19:28 dukeleto bubaflub++ # example code
19:28 dukeleto bubaflub: examples/nci/ls.pir
19:28 dukeleto bubaflub: copy and tweak ls.pir to your needs
19:28 bubaflub dukeleto: yeah, i was looking at that.  it does seg fault on my machine but i think it's enough to steal from
19:29 dukeleto bubaflub: it segfaults!
19:29 dukeleto bubaflub: we should have a test for it
19:29 dukeleto bubaflub: can you gist the output of ls.pir and create a TT for it?
19:29 * dukeleto has to head out soon
19:29 bubaflub dukeleto: i think it is expecting to be called from a certain directory
19:30 bubaflub dukeleto: when i run it from examples/nci it segfault
19:30 bubaflub when i run it from parrot/
19:30 dukeleto bubaflub: yeah, it probably expects to be run from the root of the parrot checkout
19:30 bubaflub it does some output then complains about a non UTF-8 character
19:30 dukeleto cotto: did you want to ask me something? I will be heading out soon
19:31 dukeleto bubaflub: GMP function calls shouldn't be routed through a PMC, that will be slow
19:32 cotto dukeleto, will you be around tonight?
19:32 cotto It probably won't be a quick question.
19:32 dukeleto cotto: possibly. Email is the best way, then.
19:33 cotto wfm
19:33 cotto also, mentor request sent.
19:34 cotto 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
19:34 dukeleto bubaflub: very similar to how Math::GSL works
19:34 bubaflub dukeleto: ok.  my example should be pretty similar to that then
19:35 dukeleto cotto: they don't assume that everyone will want to participate every year
19:35 * cotto goes out for errands
19:35 cotto ok
19:36 dukeleto interesting post about Unladen Swallow: http://qinsb.blogspot.com/2011/03/​unladen-swallow-retrospective.html
19:38 bubaflub any reason i'm getting "invoke() not implemented in class 'Undef'" ?
19:38 bubaflub i'm doing a very basic NCI call
19:38 dukeleto bubaflub: you are passing something an Undef PMC, which expects a non-Undef PMC
19:38 dukeleto bubaflub: something you are calling to create an object is giving an Undef
19:38 bubaflub dukeleto: ok, that makes more sense
19:38 dukeleto bubaflub: gist your code
19:39 bubaflub dukeleto:
19:39 bubaflub https://gist.github.com/889513
19:39 bubaflub yeah, i'm not exactly sure about the signature
19:39 bubaflub init should just make a GMP integer and set it to 0
19:43 M_o_C joined #parrot
19:44 dukeleto bubaflub: you didn't initialize i
19:44 bubaflub dukeleto: ah, of course
19:44 dukeleto bubaflub: you need to create a new PMC in it before you pass it along
19:44 dukeleto bubaflub: you can use an UnManagedStruct
19:45 dukeleto bubaflub: and possibly other things, like PtrBuf, but UnManageStruct should work
19:45 dukeleto bubaflub: i suggest you create a branch of parrot.git for your GMP work
19:46 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 #parrot
19:46 dukeleto bubaflub: i am very excited about this!
19:46 dukeleto bubaflub: we can build very cool crypto+number theory stuff on top of this work
19:46 bubaflub dukeleto: yeah, and every HLL gets free BigNum stuff already
19:46 bubaflub i wonder if rakudo will need this...
19:47 moritz it needs bigints built in
19:49 benabik Good afternoon, #parrot
19:51 whiteknight hello benabik
19:55 dukeleto moritz: bubaflub++'s work will allow stuff like Math::Primality to get ported to Rakudo (or Parrot)
19:55 dukeleto moritz: and other stuff that requires more than just the basic BigInt operations
19:56 dukeleto benabik: howdy
19:56 bubaflub dukeleto: ok, so i need an UnManagedStruct
19:56 bubaflub dukeleto: what goes in there?
19:56 bubaflub 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?
19:56 dukeleto bubaflub: just do : i = new 'UnManageStruct'
19:56 dukeleto bubaflub: yes, it will be pointerish
19:57 dukeleto bubaflub: you may want to look into PtrBuf and ask plobsing++ how you should use it
19:57 dukeleto bubaflub: it is the new hotness, but I haven't used it
19:57 bubaflub dukeleto: okey dokey
19:58 moritz dukeleto: we have quite different problems in rakudo
19:59 moritz dukeleto: like, get_integer always returning a machine-size number
20:00 dukeleto moritz: please explain that more
20:01 moritz dukeleto: in Perl 6, the Int type is a bigint
20:01 dukeleto moritz: in Rakudo, or is that in the spec?
20:01 moritz spec
20:01 moritz not yet in rakudo
20:02 moritz so coercion to Int can't go through the vtable
20:02 dukeleto moritz: what behavior does rakudo want for get_integer?
20:02 moritz because that will fail for $n > 2**63 (or whatever)
20:02 moritz dukeleto: something that will work for bigints too
20:03 moritz not sure how a good design would look like
20:04 dukeleto moritz: hmmm. what are the design constraints?
20:04 dukeleto moritz: using BigInts when not necessary is a huge performance hit
20:04 bubaflub dukeleto: ok, just a sanity check - on the NCI function signature the first letter should be the return type
20:05 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?
20:05 dukeleto bubaflub: i believe that is true
20:06 dukeleto moritz: do you want to be able to say, in a lexical scope, "turn on/off bigints" ?
20:06 dukeleto moritz: and by that I mean, change the default datastructure for ints to be machine-sized or BigInts
20:07 moritz dukeleto: no, there are separate types for non-big ints
20:07 moritz a uint32 is *always* what it sounds like, and an Int must *always* have the ability to store arbitrary sizes
20:08 moritz maybe the solution is to only use the vtables for forein objects
20:08 moritz where foreign = non-perl-6
20:09 bubaflub dukeleto: i've done the whole i = new 'UnManagedStruct' business but i'm still getting the same error...
20:09 dukeleto bubaflub: hmmmm
20:09 bubaflub dukeleto: yeah, i'm either not setting the function signature right or i'm not initializing that UnManagedStruct correctly
20:09 dukeleto bubaflub: gist the code you are using and the full output.
20:10 dukeleto bubaflub: or both, or something else :)
20:10 bubaflub dukeleto: hahaha.  yeah. could be anything at this point.
20:10 dukeleto False Dualities Are Dangerous To The Mind
20:10 * dukeleto gets off soapbox
20:14 dukeleto bubaflub: you will learn how to use gdb+parrot soon, I can tell :)
20:15 bubaflub dukeleto: https://gist.github.com/889513
20:15 bubaflub dukeleto: do i need to turn on debugging for that or can i use just a vanilla build?
20:16 dukeleto bubaflub: use https://github.com/leto/Util​/blob/master/bin/new_parrot
20:16 dukeleto bubaflub: the important part is the -g, which are debug symbols
20:16 bubaflub ok
20:17 dukeleto bubaflub: look at t/pmc/umnanagedstruct.t
20:18 dukeleto bubaflub: a new UMStruct has an undef in it
20:18 dukeleto bubaflub: you need to put something there
20:18 dukeleto bubaflub: you can try any PMC for now. You will probably get a more interesting error :)
20:18 bubaflub dukeleto: hahaha.  that'll be nice for a change
20:18 dukeleto bubaflub: also, PIR has a "say" opcode, in case you forgot
20:18 dukeleto bubaflub: shorter to type and often what you want
20:19 dukeleto smolder is still barfing
20:20 mikehh dukeleto: probably needs re-starting, seemed to work for a while after a re-start
20:21 dukeleto mikehh: yes. memory leaks
20:23 M_o_C left #parrot
20:24 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
20:26 mikehh dukeleto: Smolder-1.51 - 16 Dec 2009
20:26 M_o_C joined #parrot
20:26 mikehh Let me do some tests on it
20:28 davidfetter joined #parrot
20:28 M_o_C left #parrot
20:29 M_o_C joined #parrot
20:39 M_o_C left #parrot
20:40 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 bubaflub dukeleto: i'm still getting that same error, by the way
20:41 bubaflub dukeleto: https://gist.github.com/889513 updated
20:51 cotto ~~
20:52 tadzik ~
21:01 bacek joined #parrot
21:01 bubaflub what's the best way to check if a file exists in PIR?
21:01 bbatha joined #parrot
21:04 bubaflub nevermind, figured it out
21:05 benabik Looking at PDD22, I'd guess: stat "file", 0.  Although there does also appear to be os.'stat'('file')[0]
21:07 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:09 bbatha 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.
21:10 bbatha That's what I thought both of those things seemed rather large
21:10 bacek left #parrot
21:11 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.
21:11 benabik bbatha: Because that's really inefficient, mostly.
21:12 bbatha benabik: that makes sense.
21:14 cotto We used to have a .net bytecode translator, though it bitrotted.
21:15 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 benabik (IMNSHO)
21:16 cotto benabik, I like the way you think.
21:17 benabik cotto: translating or embedding?
21:17 cotto embedding
21:18 benabik Parrot's supposed to be good a language interop, so...  :-D
21:18 cotto that'd be a very interesting project
21:19 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 #parrot
21:27 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:30 cotto that gets into the realm of interesting problems
21:32 benabik I almost wonder if it would be easier to do RPC-style communication over pipes or sockets.
21:35 PacoLinux left #parrot
21:41 ambs left #parrot
21:54 zby_home left #parrot
22:05 * lucian points at rpyc
22:08 bacek left #parrot
22:18 plobsing joined #parrot
22:29 bubaflub plobsing: do you have a minute to help me with NCI and PtrBuf?
22:39 plobsing bubaflub: shoot
22:40 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 bubaflub plobsing: i don't know a whole lot about PtrObj and PtrBuf but dukeleto said i shoulda ask you about them
22:45 bubaflub 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:46 fperrad left #parrot
22:46 bubaflub plobsing: could i use PtrObj just as an opaque reference and then pass that around?
22:48 soh_cah_toa joined #parrot
22:49 bbatha left #parrot
22:56 plobsing bubaflub: you can use *Struct and Ptr* as opaque pointers
22:56 plobsing I'd advise to use the new Ptr* types as the *Struct types are deprecated
22:56 bubaflub plobsing: ok, great.  is there some example code i could look at or steal?
22:57 bubaflub 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 cosimo_ joined #parrot
22:58 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?
22:59 plobsing https://github.com/plobsing/parrot-zeromq
22:59 bubaflub haha.  a most intuitive URL
23:02 plobsing bubaflub: you say you don't care about the structure of the objects, but how are you allocating them?
23:02 plobsing does libgmp allocate them?
23:02 plobsing or are you expected to allocate them (in which case, you need their structure to determine the allocate size)
23:03 bubaflub plobsing: i believe libgmp takes care of that - there are several init functions
23:03 bubaflub also takes care of resizing in the event that calculations cause the number to exceed what's available
23:03 bubaflub s/available/previously allocated/
23:04 cosimo_ left #parrot
23:05 bbatha joined #parrot
23:07 cosimo left #parrot
23:07 rurban_ joined #parrot
23:11 rurban left #parrot
23:11 rurban_ is now known as rurban
23:13 cosimo joined #parrot
23:15 theory joined #parrot
23:25 jsut joined #parrot
23:29 particle joined #parrot
23:30 jsut_ left #parrot
23:33 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:41 whiteknight the Ptr PMC types are very well designed and implemented
23:41 whiteknight I suspect the API will be very stable too
23:52 whiteknight bbatha: a JVM bytecode translator to Parrot would be a good project too
23:52 whiteknight Groovy and Scala support would be nice things to get for free
23:52 bubaflub whiteknight: can you help me out here?  i tried using a StructView class but am running into the same thing
23:53 whiteknight bubaflub: what same thing?
23:53 bubaflub whiteknight: i'm a bit confused by all the Un/ManagedStruct, StructView, and Ptr* objects
23:53 bubaflub sorry, same thing = same problem i had before, something is still Undef
23:53 bbatha whiteknight: that's what I was thinking, but my feeling is the independent java compiler is probably useful to have
23:53 whiteknight UnmanagedStruct and ManagedStruct are old and maybe evil. Don't use them
23:53 whiteknight Ptr, PtrBuf, and PtrObj are the new hotness
23:54 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
23:54 whiteknight some people are unhappy about the situation with Oracle
23:54 plobsing make sure your loadlib and dlfunc ops are returning values properly
23:55 bubaflub plobsing: oh, ok, lemme double check em
23:56 whiteknight does NCI.get_bool return whether the ptr is non-null?
23:58 bubaflub plobsing or whiteknight: https://gist.github.com/889513 is my code and output
23:59 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

| Channels | #parrot index | Today | | Search | Google Search | Plain-Text | summary

Parrot | source cross referenced