Camelia, the Perl 6 bug

IRC log for #parrot, 2011-04-05

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 bbatha_ left #parrot
00:02 bbatha joined #parrot
00:04 soh_cah_toa i got a question about gsoc: how many hours a week should be spent dedicated to the project? the reason i ask is b/c i just got an offer for a paid intership at a previous employer and need to figure out if i can juggle both
00:06 soh_cah_toa i figured that gsoc was a 40 hr/week project. is that about right?
00:06 bubaflub soh_cah_toa: both previous GSoC's i've done either concurent with work or school, though i don't recommend it
00:07 tcurtis That reminds me. Piece of advice for anyone applying to GSoC: when planning your schedule, don't forget that there are weekends.
00:07 bubaflub soh_cah_toa: according to the GSoC page it should be a full time job
00:07 bubaflub soh_cah_toa: it's up to how much of a life do you want to have? and how fast can you do this stuff?
00:07 tcurtis And that you will probably want to spend at least some of those weekends relaxing from the stresses of GSoC.
00:07 soh_cah_toa hmmm...yeah that's the thing. this is my first gsoc and i really want to make it work
00:08 dalek parrot/whiteknight/imcc_compreg_pmc: 3e3a89c | petdance++ | src/io/api.c:
00:08 dalek parrot/whiteknight/imcc_compreg_pmc: removed unused var
00:08 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/3e3a89c740
00:08 dalek parrot/whiteknight/imcc_compreg_pmc: 8345f96 | petdance++ | / (2 files):
00:08 dalek parrot/whiteknight/imcc_compreg_pmc: arg_sig and return_sig are both actually ARGOUT, not ARGMOD
00:08 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/8345f96d1f
00:08 soh_cah_toa i decided not to take any summer classes to i could dedicate as much time as necessary but now i have to consider this. ugh...
00:09 bubaflub soh_cah_toa: my second GSoC i did not finish what i proposed but i still "passed"
00:09 bubaflub soh_cah_toa: sometimes the monster is bigger than you think
00:10 soh_cah_toa yeah, i know. that's why i think it might be best to just focus on gsoc. it's very important to me. i've been waiting a year for this
00:10 bubaflub soh_cah_toa: just curious, what's the internship?
00:10 bubaflub soh_cah_toa: also, most employers will understand working for Google > working for ____
00:11 bubaflub soh_cah_toa: and it looks great on a resume
00:11 soh_cah_toa i don't even know. when i worked there i was a technician working on digital signage equipment. i assume that's what they want
00:11 soh_cah_toa but i did tell them last time they contacted me that i'm a computer science major and they do have an engineering dept. but i don't want to get my hopes up
00:12 bubaflub soh_cah_toa: i'd say if you have to do only one, then do the GSoC - it's what you're more excited about
00:12 bubaflub soh_cah_toa: and it seems if they are contacting you they need you
00:12 bubaflub soh_cah_toa: and will be around for a while
00:12 bubaflub just my half pence
00:12 soh_cah_toa that's true
00:13 soh_cah_toa plus you guys would be much more fun to work w/ :)
00:14 bubaflub aw shucks.  i've enjoyed GSoC, and if you aren't crunched on money, i'd say try it
00:14 bubaflub GSoC (and the code being public) does a lot to show a potential employer that you don't suck
00:15 soh_cah_toa it's not even the money. it's the experience i want the most. my parents help out w/ school so i'm that poor
00:15 bubaflub soh_cah_toa: i meant if you can afford to not take the internship i'd recommend you skip it
00:16 soh_cah_toa well, that is the case and you seem to be thinking the same thing i'm thinking
00:17 soh_cah_toa i'd be so disappointed if i didn't finished my gsoc goals b/c of work
00:18 bubaflub yes, like i said there is still redemption if you don't finish (i.e. continue working on it) but it'd be best to have it all wrapped up on time
00:18 soh_cah_toa of course. plus i definitely plan to stick around afterwards to maintain it among other parrot stuff
00:18 bubaflub that's how i got started.  i did my first GSoC on Perl and dukeleto introduced me to parrot
00:19 soh_cah_toa neat
00:19 soh_cah_toa how many gsoc's have you done?
00:20 bubaflub 2, aiming for my 3rd
00:20 bubaflub first one was with Perl, wrote Math::Primality
00:20 bubaflub second one was trying to port Parrot to RTEMS, a real-time embedded linux-esque OS
00:21 soh_cah_toa oh, second one sounds pretty kick ass
00:21 whiteknight soh_cah_toa: when I was a GSoC student, I was working at a beer store part-time
00:22 whiteknight it's not impossible to do, but it's a big project, and if you don't want to devote lots of time to it, you aren't having enough fun
00:22 soh_cah_toa yeah, i'm so excited
00:23 soh_cah_toa i think it's cool that other people will get to use my code besides just me
00:26 tcurtis Having other people actually use your code to try to do actual work is an awesome feeling.
00:26 * tcurtis discovered this last summer.
00:26 tcurtis moritz++
00:26 bubaflub soh_cah_toa: i got an email about Math::Primality - some guy wanted me to clarify some of the docs and implement new stuff
00:26 bubaflub soh_cah_toa: i was blown away.  somebody uses this stuff?
00:26 soh_cah_toa oh man, that's awesome!
00:26 soh_cah_toa that's the beauty of open source
00:27 bubaflub soh_cah_toa: yep.  i got started doing some of that when somebody had a blog post about helping out with CGI.pm
00:28 bubaflub soh_cah_toa: i submitted a couple patches via github and it was pretty cool
00:28 soh_cah_toa that's cool. i have a book on that module "CGI Programming with Perl"
00:29 bubaflub soh_cah_toa: yeah, it's pretty old but still used heavily. part of the core, too
00:29 davidfetter CGI.pm was fun
00:30 soh_cah_toa davidfetter: you worked on it too?
00:30 davidfetter no. used it a lot, back in the day
00:30 petdance whiteknight: I don't see any new warnings in here.
00:30 davidfetter i think i may have found a bug or two, but don't recall reporting them. didn't quite understand how important that was at the time :P
00:31 whiteknight petdance: that's...surprising. I wrote a lot of code, and I'm not so good as to avoid generating new warnings
00:31 whiteknight I can barely avoid debilitating errors
00:31 petdance oh, wiat, here's one
00:31 petdance src/extend.c:251:12: Null storage returned as non-null: ((PMC *)NUL
00:32 whiteknight see? that's more my speed
00:32 petdance ok, there are a few
00:32 petdance BUT
00:32 petdance we're pretty crappy at defining what can be NULL and what can't
00:32 whiteknight let me look at extend.c
00:32 petdance I think we do checks for NULL pointers when we shouldn't, just out of laziness
00:33 benabik joined #parrot
00:33 whiteknight src/extend.c:251 is ot code I've touched, and doesn't look like it is returning null, or that it shouldn't be
00:34 petdance see, some could be stuff that I've fixed on origin/master since you branched
00:34 petdance when do you see merging back?
00:34 whiteknight soon. I can update branch from master tonight maybe
00:35 dalek parrot/whiteknight/imcc_compreg_pmc: 33cc337 | petdance++ | src/spf_render.c:
00:35 dalek parrot/whiteknight/imcc_compreg_pmc: Removed unused var. Consted a local var.
00:35 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/33cc337446
00:36 whiteknight blah. merge conflicts
00:36 whiteknight I'll update from master tomorrow
00:37 kid51_at_dinner is now known as kid51
00:39 bubaflub whiteknight: can you do rebase to avoid em?
00:39 bubaflub (merge conflicts, that is)
00:39 davidfetter left #parrot
00:40 whiteknight bubaflub: I can try. This branch is pretty big and convoluted. The last few times I've rebased things have gone very very badly
00:41 petdance I'm going to merge up some of my individual commits
00:42 petdance see how things go with splint warnigns
00:42 bubaflub whiteknight: same... i rebased something pretty poorly at work and got a talking-to
00:43 petdance OK, how do merge just one commit?
00:43 benabik whiteknight: What is the imcc_compreg_pmc branch?  It sounds like turning IMCC into a HLL that can be called by anyone...  And that would be awesome for my GSoC proposal.
00:44 cotto ~~~~~
00:44 whiteknight benabik: the branch does a lot of cleanups inside IMCC, improves encapsulation between libparrot and IMCC, and starts preparations for breaking IMCC out of libparrot entirely
00:45 benabik whiteknight: Ah.  Merging that sounds both awesome and painful.
00:46 whiteknight benabik: maybe. I've been keeping the branch up to date with master
00:53 mikehh All tests PASS (pre/post-config, make corevm/make coretest, smoke (#13871) fulltest) at 3_2_0-132-gf64d532 - Ubuntu 11.04 beta i386 (gcc --optimize --gc-gms)
00:55 dalek parrot/whiteknight/imcc_compreg_pmc: 3523252 | petdance++ | src/spf_render.c:
00:55 dalek parrot/whiteknight/imcc_compreg_pmc: Cleaned up canonicalize_exponent:
00:55 dalek parrot/whiteknight/imcc_compreg_pmc: * Removed unused interp arg
00:55 dalek parrot/whiteknight/imcc_compreg_pmc: * consted SpfInfo pointer arg
00:55 dalek parrot/whiteknight/imcc_compreg_pmc: * Reformatted POD docs
00:55 dalek parrot/whiteknight/imcc_compreg_pmc: * Normalized variable declarations.
00:55 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/352325262e
00:56 kid51 whiteknight: Is there any reason to think one would get different testing results from imcc_compreg_pmc branch when using g++ versus gcc?
00:57 whiteknight kid51: I don't know. I would hope not
00:57 whiteknight I don't know if I've tested it with g++ in a while
01:00 dalek parrot/whiteknight/imcc_compreg_pmc: 309e663 | petdance++ | src/hash.c:
01:00 dalek parrot/whiteknight/imcc_compreg_pmc: consted a pointer
01:00 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/309e663b1d
01:00 dalek parrot/whiteknight/imcc_compreg_pmc: 12ec8e5 | petdance++ | / (2 files):
01:00 dalek parrot/whiteknight/imcc_compreg_pmc: flagging args as not nullable
01:00 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/12ec8e586f
01:00 dalek parrot/whiteknight/imcc_compreg_pmc: ab32727 | petdance++ | src/debug.c:
01:00 dalek parrot/whiteknight/imcc_compreg_pmc: Properly added headerizer annotations.  Consted some vars.
01:00 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/ab327275f8
01:00 petdance whiteknight:  I ONLY build with g++
01:03 petdance I mean, I onnly do g++, not gcc
01:03 petdance I do other compilers, too
01:04 whiteknight my default compiler is clang. I do tests with other compilers, but maybe not as often as I should
01:04 petdance How do you install clang?
01:04 petdance That's "how do you", not "how does one"
01:06 whiteknight I just do the lazy way. apt-get install clang
01:06 whiteknight I don't have the patience to build my compilers from source.
01:06 petdance yum doesnt' have one
01:07 whiteknight you on redhat?
01:07 petdance centos, yes
01:08 whiteknight oh, okay. Why centos, if you don't mind me asking?
01:08 petdance It's what we have at work.
01:08 whiteknight okay
01:08 petdance and I like to minmize cognitive dissonance. :-)
01:08 whiteknight that's the reason I use win7 sometimes :)
01:11 whiteknight petdance: I really appreciate you taking time to look at this branch
01:11 whiteknight petdance++
01:11 petdance You're welcome.  I'm sort of at a stopping point on master anyway
01:14 whiteknight I shudder to think where we would be without your efforts
01:15 petdance oh my, i hadn't seen http://clang-analyzer.llvm.org/
01:15 petdance whiteknight: I don't know that my work has found much.
01:18 whiteknight not finding problems is a valuable result in itself. It's good for us to stay honest
01:20 petdance heh
01:21 Tene fwiw, fedora has clang packages.
01:21 Tene I expect if you wanted to obtain it, you could figure it out on your own, though.  :)
01:21 petdance I saw  RHEL package, but it's for CentOS 6, and I'm on 5
01:21 petdance and i'm gonna build from source anyway
01:21 petdance plus I want that clang-analyzer
01:22 plobsing joined #parrot
01:23 contingencyplan joined #parrot
01:32 hercynium joined #parrot
01:35 spinclad joined #parrot
01:43 bubaflub left #parrot
01:44 petdance aw shoot, I screwed up my splint history. :-(
01:58 dalek Rosella: bae72a8 | Whiteknight++ | t/event/Event (2 files):
01:58 dalek Rosella: add in some stub tests for Event and EventManager
01:58 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/bae72a8f15
01:58 dalek Rosella: 6e300fe | Whiteknight++ | / (5 files):
01:58 dalek Rosella: Refactor indirect method call logic to an invoke_method. Use this in Event to handle the case of String as method. Add tests for EventManager
01:58 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/6e300fe60a
01:59 dalek Rosella: 97d18fe | Whiteknight++ | t/core/Rosella.t:
01:59 dalek Rosella: Add in a new stub test method for invoke_method. Also, add some not-implemented notices to empty test methods
01:59 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/97d18fec36
01:59 whiteknight left #parrot
02:02 dalek parrot/whiteknight/imcc_compreg_pmc: 56ed7c5 | jkeenan++ | docs/ (4 files):
02:02 dalek parrot/whiteknight/imcc_compreg_pmc: [codingstd] Correct POD syntax errors. Example: '=begin PIR_INVALID' must be matched by '-end PIR_INVALID'.
02:02 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/56ed7c5168
02:16 hercynium left #parrot
02:24 bacek left #parrot
02:30 bbatha left #parrot
02:31 kid51 msg whiteknight re whiteknight/imcc_compreg_pmc branch: 2 codingstd files still have fails (c_arg_assert & c_function_docs); otherwise make fulltest good on linux/i386; on Darwin/PPC: only fail is in t/perl/Parrot_Test.t as previously discussed
02:31 aloha OK. I'll deliver the message.
02:33 dalek parrot/whiteknight/imcc_compreg_pmc: 38e5177 | petdance++ | src/embed/api.c:
02:33 dalek parrot/whiteknight/imcc_compreg_pmc: Use STREQ() for string comparisons, instead of incorrectly using strcmp as a boolean
02:33 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/38e5177fe8
02:33 dalek parrot/whiteknight/imcc_compreg_pmc: 8e097e4 | petdance++ | config/gen/makefiles/root.in:
02:33 dalek parrot/whiteknight/imcc_compreg_pmc: Don't use curly brackets
02:33 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/8e097e4779
02:34 dalek parrot/whiteknight/imcc_compreg_pmc: 1acf5be | petdance++ | src/gc/gc_gms.c:
02:34 dalek parrot/whiteknight/imcc_compreg_pmc: Fixed PARROT_CAN_RETURN_NULL annotations
02:34 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/1acf5bef25
02:39 kid51 left #parrot
02:56 simcop2387_ joined #parrot
02:57 soh_cah_toa left #parrot
02:58 simcop2387 left #parrot
02:58 simcop2387_ is now known as simcop2387
03:06 dalek parrot/whiteknight/imcc_compreg_pmc: c3686b8 | petdance++ | src/dynext.c:
03:06 dalek parrot/whiteknight/imcc_compreg_pmc: allow some STRING * to be NULLOK
03:06 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/c3686b8097
03:06 dalek parrot/whiteknight/imcc_compreg_pmc: 0c08c8a | petdance++ | / (2 files):
03:06 dalek parrot/whiteknight/imcc_compreg_pmc: Fixing splint flags re: nulls
03:06 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/0c08c8a2dc
03:06 dalek parrot/whiteknight/imcc_compreg_pmc: 4cd9ae7 | petdance++ | / (8 files):
03:06 dalek parrot/whiteknight/imcc_compreg_pmc: added splint annotations and re-headerized
03:06 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/4cd9ae7042
03:19 dalek parrot/whiteknight/imcc_compreg_pmc: 54cb25e | petdance++ | compilers/imcc/cfg. (2 files):
03:19 dalek parrot/whiteknight/imcc_compreg_pmc: Made blocks_are_connected be static, and localized a variable
03:19 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/54cb25e73d
03:20 particle left #parrot
04:04 treed joined #parrot
04:05 treed left #parrot
04:36 dalek parrot/whiteknight/imcc_compreg_pmc: 4146678 | util++ | MANIFEST.generated:
04:36 dalek parrot/whiteknight/imcc_compreg_pmc: Re-sort and add files to MANIFEST.generated
04:36 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/4146678ae0
04:48 dalek parrot: d5248c2 | petdance++ | src/exceptions.c:
04:48 dalek parrot: note an unignorable result
04:48 dalek parrot: review: https://github.com/parrot/parrot/commit/d5248c26de
04:48 dalek parrot: fa331ee | petdance++ | frontend/parrot/main.c:
04:48 dalek parrot: removed unnecessary scope
04:48 dalek parrot: review: https://github.com/parrot/parrot/commit/fa331ee076
04:51 treed joined #parrot
04:51 treed left #parrot
05:08 particle joined #parrot
05:23 bacek joined #parrot
05:31 bacek_at_work hmm...
05:41 dalek parrot/m0-spec: 87e98b7 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
05:41 dalek parrot/m0-spec: change get_var to load_var
05:41 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/87e98b740a
05:44 petdance left #parrot
06:09 theory left #parrot
06:21 dalek parrot/lorito: b364ee2 | cotto++ | runtime/parrot/include/m0proto_names.pir:
06:21 dalek parrot/lorito: better macro name
06:21 dalek parrot/lorito: review: https://github.com/parrot/parrot/commit/b364ee26f8
06:21 dalek parrot/lorito: 85d4ed0 | cotto++ | / (2 files):
06:21 dalek parrot/lorito: switch to m0ctx, push ugliness there
06:21 dalek parrot/lorito: review: https://github.com/parrot/parrot/commit/85d4ed0757
06:21 dalek parrot/lorito: de2304e | cotto++ | / (4 files):
06:21 dalek parrot/lorito: use m0ctx's variables table for variables
06:21 dalek parrot/lorito: review: https://github.com/parrot/parrot/commit/de2304ec31
06:21 dalek parrot/lorito: 146d730 | cotto++ | / (2 files):
06:21 dalek parrot/lorito: rename get_var to load_var
06:21 dalek parrot/lorito: review: https://github.com/parrot/parrot/commit/146d730d97
06:21 dalek parrot/lorito: 64379ad | cotto++ | / (3 files):
06:21 dalek parrot/lorito: add m0_alloc and m0_free, plus minimal test
06:21 dalek parrot/lorito: review: https://github.com/parrot/parrot/commit/64379ad655
06:29 Eduardow left #parrot
06:39 Eduardow joined #parrot
06:41 dalek parrot/m0-spec: 753ee2f | cotto++ | docs/pdds/draft/pdd32_m0.pod:
06:41 dalek parrot/m0-spec: use $1-$3 instead of $0-$2 to be consistent with .ops files
06:41 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/753ee2fc0e
06:42 NotFound left #parrot
06:46 UltraDM joined #parrot
06:48 dukeleto ~~
06:52 dalek jaspers: 54c019c | dukeleto++ | README.md:
06:52 dalek jaspers: Add a link to Sputnik in the README
06:52 dalek jaspers: review: https://github.com/leto/jaspers/commit/54c019c791
06:55 UltraDM left #parrot
06:55 UltraDM joined #parrot
06:56 dukeleto UltraDM: welcome to our corner of the interwebs
06:57 UltraDM :)
06:59 dukeleto UltraDM: are you interesting in GSoC? What brings you to these parts?
06:59 dalek parrot/lorito: 818c7ee | cotto++ | src/dynoplibs/m0proto.ops:
06:59 dalek parrot/lorito: add some ops whic may or may not prove useful for memory manipulation
06:59 dalek parrot/lorito: review: https://github.com/parrot/parrot/commit/818c7ee1db
07:00 cotto dukeleto, feel free to poke around there and add to or comment on what's there in your cft.
07:00 * cotto sleeps
07:00 UltraDM dukeleto, nope, just lurking, I'm watching parrot for quite some years
07:00 UltraDM not doing anything active
07:01 cotto UltraDM, it's seldom a bad time to start as far as we're concerned.
07:01 * cotto really sleeps
07:02 dukeleto UltraDM: ok. I am the "community manager", so if you want guidance on how to get involved or anything like that, let me know
07:03 dukeleto UltraDM: what makes Parrot interesting to you?
07:03 UltraDM cotto, true
07:03 UltraDM dukeleto, thanks for the info
07:03 UltraDM perl6 makes it interesting to me
07:04 UltraDM I'm more into perl, less interested in C/C++, so I cannot code anything useful for parrot
07:04 dukeleto UltraDM: yep, that is how I found Parrot too. I found bugs in the Perl 6 test suite that ended up being parrot bugs, and I have been here ever since :)
07:04 UltraDM :)
07:04 dukeleto UltraDM: a lot of parrot tasks can be written in higher level languages, such as NQP or Winxed, etc...
07:05 UltraDM I've tried twice to do something in the past years, but always got borred in the maze of urls and links
07:05 dukeleto UltraDM: nqp is quite similar to Perl 6, without the really tasty syntax sugar
07:05 dukeleto UltraDM: well, if you have a specific problem or question, definitely let me know
07:05 UltraDM so, I only need a couple of free days and enough patience to follow all links and see if there's something I could really do
07:06 dukeleto UltraDM: our docs are always straining to keep up with us :)
07:06 UltraDM I know, it's not easy
07:06 dukeleto UltraDM: a good start is running our test suite on your machine to see if it passes
07:06 dukeleto UltraDM: that is how I got involved. I started making things in "make fulltest" pass
07:07 UltraDM :) last time I checked all tests passed on my machines - nothing fancy, opensuse
07:07 dukeleto UltraDM: "make test" should pass for you, and if it doesn't, that is a bug. "make fulltest" runs a lot more tests that sometimes fail because that test target takes a lot longer and people don't run it as often
07:08 UltraDM mkay :)
07:08 dukeleto UltraDM: what kind of perl stuff do you usually hack on?
07:08 dukeleto UltraDM: perhaps I can recommend something that you would like hacking on
07:08 UltraDM catalyst/dbix::class and poe
07:09 dukeleto UltraDM: i will keep a look out for things that would interest you
07:10 UltraDM dukeleto, thanks
07:10 UltraDM if there is a pointer on how to run perl5 code using parrot, I'd be happy to do that
07:10 UltraDM I know that perl6 is the future, but p5 is what I'm doing right now
07:11 UltraDM so, if it's possible to run p5 code with parrot, I could run my test/research code on it to see where it explodes and fill a bug/test case
07:16 dukeleto UltraDM: there is something called blizkost
07:17 dukeleto UltraDM: which embeds both a perl 5 and rakudo perl 6 interpreter, and lets you talk between them
07:17 dukeleto UltraDM: https://github.com/jnthn/blizkost
07:17 dukeleto UltraDM: also, there is a Parrot::Embed CPAN module
07:17 dukeleto UltraDM: which lets you embed Parrot in Perl 5
07:17 dukeleto UltraDM: it comes with the parrot source code
07:18 dukeleto UltraDM: we need help updating Parrot::Embed and releasing it to CPAN as it's own module
07:18 dukeleto UltraDM: also, you can always look at the tickets on trac.parrot.org for ideas of what to work on
07:19 dukeleto UltraDM: http://trac.parrot.org/parrot/query?status=assig​ned&status=new&status=reopened&col=i​d&col=summary&col=component&col=repo​rter&col=owner&col=time&col=changeti​me&report=10&desc=1&order=changetime
07:19 dukeleto UltraDM: those are the most recently changed tickets
07:19 dukeleto UltraDM: this is a recent Parrot::Embed ticket: http://trac.parrot.org/parrot/ticket/1869
07:20 dukeleto UltraDM: if you need wiki access, just ask. we had to disable editing by default because of dumb spammers
07:27 * marc unidles
07:27 marc hi guys
07:27 marc dukeleto: interesting stuff (sorry, i've been lurking)
07:36 UltraDM thanks dukeleto, as soon as I find a free time slot I'll have a look
07:53 jrtayloriv joined #parrot
08:12 contingencyplan left #parrot
08:30 alin joined #parrot
08:43 mikehh left #parrot
08:43 dod joined #parrot
09:35 moritz fwiw, make fulltest has a failure here
09:36 moritz $ t/src/extend_vtable.t (Wstat: 256 Tests: 89 Failed: 1) Failed test:  3 Non-zero exit status: 1
09:37 nopaste "moritz" at 192.168.1.3 pasted "test failure" (10 lines) at http://nopaste.snit.ch/39482
10:06 moritz rakudo on newest parrot spectests cleanly
10:06 moritz (smolder #13907)
10:36 jrtayloriv left #parrot
10:42 mtk left #parrot
10:43 alin left #parrot
11:41 lucian joined #parrot
11:55 Patterner left #parrot
11:55 Psyche^ joined #parrot
11:55 Psyche^ is now known as Patterner
12:04 lucian good day
12:25 lucian if anyone's away, has anyone though of something like Managed C++ for parrot?
12:25 lucian s/away/not away/
12:28 lucian cython takes a vaguely similar approach, and it works great
12:38 whiteknight joined #parrot
12:38 ambs joined #parrot
12:39 whiteknight good morning, #parrot
12:45 whiteknight msg kid51 thanks for the report. I'll work on the codestd failures today
12:45 aloha OK. I'll deliver the message.
12:46 lucian whiteknight: hey, what's up?
12:47 whiteknight good morning lucian
12:48 bubaflub joined #parrot
12:52 lucian whiteknight: i was thinking about C lib wrappers last night
12:53 lucian i was wondering if after M1 the system language starts getting designed, whether it might make sense to have something like Managed C++ or cython
12:59 darbelo joined #parrot
13:01 atrodo lucian> I'd like to see static languages be able to target parrot
13:01 lucian atrodo: they should be. there was this sparse backend to lua, jvm, etc
13:02 lucian atrodo: http://cluecc.sourceforge.net/
13:02 atrodo lucian> It might be early, but I don't grok
13:02 atrodo oh, well that sounds cool
13:02 lucian waiting is, for grokking in fullness
13:03 whiteknight what really is the difference between a static language VM and a dynamic language VM?
13:03 lucian whiteknight: the static one is a subset of the dynamic one
13:03 whiteknight built-in dynamic invoke, a dynamic object model, and a dynamic runtime
13:04 lucian that's quite a few requirements
13:04 lucian especially the last two
13:04 whiteknight well, parrot does have them. Even if they aren't great currently
13:04 lucian atrodo: anyway, clue emulates a lot of C features, so it's slow
13:04 lucian whiteknight: sure. jvm doesn't though
13:05 lucian atrodo: i was thinking of something that isn't quite C/C++, but is close enough to share data structures and calling semantics
13:05 lucian atrodo: and also has access to parrot
13:05 lucian comfortable access
13:05 atrodo whiteknight> Right, but there are no static languages (or compilers) targeting parrot
13:05 atrodo lucian> Yep, that's what I'd like to see too
13:06 lucian atrodo: managed C++ is quite good in some ways, it's just that their implementation sucked
13:06 lucian cython is even closer
13:07 whiteknight atrodo: a big part of that is because Parrot's object model and default runtime are dynamic. The implementation effort for a "good" static language is therefore significantly higher
13:07 lucian atrodo: in fact, even a clue parrot backend might be nice for a start
13:08 lucian whiteknight: i don't see that
13:08 lucian whiteknight: statically typed languages get static checks at compilation
13:08 atrodo whiteknight> Right.  That's the path I started but somehow got sidetracked
13:08 atrodo whiteknight> Although, with your new embed API, that should help my job since that was my biggest pain point
13:09 whiteknight atrodo: I aim to please
13:11 rohit_nsit08 joined #parrot
13:12 rohit_nsit08 hello #parrot !
13:14 Coke good *.
13:15 atrodo whiteknight> It looked good when I skimmed over it.  My current plan for draak when I get back to it is to switch to using your new API and winxed
13:15 JimmyZ joined #parrot
13:19 mtk joined #parrot
13:22 whiteknight atrodo: I like that plan :)
13:22 whiteknight good morning rohit_nsit08
13:25 rohit_nsit08 whiteknight: good morning! . I saw winxed's emit functions today, helped me to think more about how i have to go for that in javascript. I had one doubt what are the predef_ functions there?
13:26 whiteknight rohit_nsit08: those are the built-in functions for Winxed. things like string() or typeof()
13:27 lucian rohit_nsit08: i can't remember if you did, have you looked at narcissus?
13:28 rohit_nsit08 lucian: no what is narcissus?
13:29 rohit_nsit08 lucian: looking at it
13:30 lucian rohit_nsit08: http://mxr.mozilla.org/moz​illa/source/js/narcissus/
13:30 lucian rohit_nsit08: it's a js interpreter written in js
13:30 lucian but it cheats, it uses native js objects directly
13:31 lucian may be useful knowledge, though
13:32 rohit_nsit08 lucian: hmm.. seems a good thing
13:41 mtk left #parrot
13:45 mtk joined #parrot
13:47 rohit_nsit08 lucian: narcissus is using spidermonkey as its host environment  and as u said using native js objects directly and leaves the actual work for the spidermonkey. Is there any advantage of using  narcissus?
13:47 rohit_nsit08 besides it is written in js, which is cool :-)
13:47 lucian rohit_nsit08: no, just educational
13:48 rohit_nsit08 hmm.. nice implementation.
13:54 lucian_ joined #parrot
13:54 lucian left #parrot
13:56 PacoLinux joined #parrot
13:57 dalek parrot/whiteknight/imcc_compreg_pmc: d5248c2 | petdance++ | src/exceptions.c:
13:57 dalek parrot/whiteknight/imcc_compreg_pmc: note an unignorable result
13:58 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/d5248c26de
13:58 dalek parrot/whiteknight/imcc_compreg_pmc: fa331ee | petdance++ | frontend/parrot/main.c:
13:58 dalek parrot/whiteknight/imcc_compreg_pmc: removed unnecessary scope
13:58 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/fa331ee076
13:58 dalek parrot/whiteknight/imcc_compreg_pmc: dc1985e | Whiteknight++ | / (63 files):
13:58 dalek parrot/whiteknight/imcc_compreg_pmc: merge and fix conflicts
13:58 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/dc1985e583
13:58 dalek parrot/whiteknight/imcc_compreg_pmc: 2a6b662 | Whiteknight++ | frontend/parrot/main.c:
13:58 dalek parrot/whiteknight/imcc_compreg_pmc: Changes to the frontend in master cause GC weirdness in this branch. I'm reverting those changes and will look through them in more detail
13:58 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/2a6b662da1
13:58 whiteknight msg NotFound are you planning any kind of release for Winxed following 3.3?
13:58 aloha OK. I'll deliver the message.
14:02 ttbot Parrot dc1985e5 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/63826
14:02 ttbot Parrot dc1985e5 i386-linux-thread-multi make error http://tt.taptinder.org/cmdinfo/63807
14:18 NotFound joined #parrot
14:20 NotFound Hi
14:20 NotFound whiteknight: pong
14:20 whiteknight ping
14:21 NotFound whiteknight: Winxed release? You mean a release number and a package?
14:21 whiteknight NotFound: something like that. I'm planning a stable Rosella release around that time, and wanted to know what version of winxed I should target
14:21 whiteknight If you're doing something special, I'll coordinate. Otherwise it's no big deal
14:22 NotFound I think I'm going to do a migration to github, and then use git tags.
14:22 whiteknight oh, okay. Is that going to happen around the 3.3 release?
14:23 NotFound I don't do plans. When I do, I always break them ;)
14:24 NotFound Probably yes, but don't take it for sure.
14:25 NotFound A doubt... There will be some way to target releases in plumage?
14:26 whiteknight I don't know. Maybe not
14:26 dalek Rosella: d558437 | Whiteknight++ | / (2 files):
14:26 dalek Rosella: Add several tests for Event
14:26 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/d558437c11
14:29 tadzik Event, as in Event-driven programming?
14:29 whiteknight sort of
14:29 whiteknight it's not a low-level event handling system like you would have in a GUI toolkit
14:30 whiteknight it's a system for decoupling. Objects can anonymously subscribe to events, and other objects can anonymously publish to them
14:30 atrodo whiteknight> Is it closer to something like POE?
14:30 tadzik hmm, I think I alredy asked about that: does Select PMC gives us a bit of async IO?
14:30 whiteknight no. The Event library doesn't have a runloop or anything like that
14:31 whiteknight tadzik: yes, Select PMC is sort of async
14:31 whiteknight atrodo: it's more like an implementation of the Observer pattern
14:31 tadzik so one could implement async IO in Rakudo given Select PMC?
14:31 atrodo okay, that makes sense
14:31 whiteknight http://en.wikipedia.org/wiki/Publish/subscribe
14:32 PerlJam tadzik: Are you formulating a gsoc project based on that?  :-)
14:32 tadzik PerlJam: somewhere, at the back of my mind
14:32 tadzik . o O ( Port AnyEvent to Rakudo Perl 6 )
14:32 whiteknight tadzik: do tell!
14:32 PerlJam tadzik: careful you don't overload yourself.
14:32 tadzik well, when I finish my Physics, Signal Theory and MIPS assembly I may be able to code something out :)
14:33 whiteknight Signal Theory was one of my favorite subjects
14:33 tadzik PerlJam: no, I'm not going to take two projects on GSoC
14:34 tadzik I wish I could afford having fun with that. So far I'm stuck with physics, since the last semester actually. But *.
14:36 tadzik I wish one day I'll remember my studies as "I had a few interesting subjects" rather than "I was stuck with some ridicolous &*!$% and didn't have time neither to appreciate the good things, nor to do all my plans after classes"
14:37 tadzik oh, don't listen, I'm just tired of this
14:37 moritz tadzik: I can tell from experience that even without classes you don't hav enough time for all pet projects :-)
14:38 PerlJam you *never* have enough time.
14:38 atrodo moritz> I can speak from experience that you never have time for pet projects
14:38 atrodo Yes, what PerlJam said
14:38 tadzik moritz: well, that's correct :)
14:38 bubaflub my mental demand always outpaces supply
14:38 moritz sometimes you just have to *take* time to do things
14:39 PerlJam get comfortable with not having enough time, never knowing enough and always being in a state of confusion and you're well on your way to enlightenment  ;-)
14:39 tadzik I should look into some zen stuff as soon as I get enough ti... shit
14:40 moritz :-)
14:40 atrodo tadzik> I multitask my zen time.  It's usually done while i'm asleep
14:41 tadzik sleep, that's the enlightenment I could practice every day
14:45 atrodo tadzik> Unfortunately I've reduced my zen time because of all the pet projects I work on at night
14:48 tadzik atrodo: fear not, for that's thy enlightenment
14:48 atrodo tadzik> You are wise beyond your years
14:49 tadzik atrodo: and you're wise between your ears
14:49 atrodo tadzik++
14:49 tadzik (heh. That didn't sound very zen, but I couldn't resist from the moment I thought about this)
14:49 atrodo I thought it was very zen
14:51 tadzik it may be. Maybe that's unreachable for my wisdom
15:02 dalek winxed: r931 | NotFound++ | trunk/winxedst (2 files):
15:02 dalek winxed: improve constructor argument lists, allowing null in all stages and modifiers in
15:02 dalek winxed: stage 1
15:02 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=931
15:03 tadzik how come winxed code generator is so good and pct is not so awesome?
15:03 tadzik is anyone working on that, or that's rather low-priority?
15:05 NotFound Because Winxed needs to do it, in order to attract some users ;)
15:06 moritz tadzik: the PCT developers are hacking on nqp or rakudo :-)
15:11 NotFound I hate to say it, but that's a lame excuse for team being beaten by one developer }:)
15:12 moritz NotFound: depending on the team size (which is currently ~1)
15:12 cotto_work ~~
15:13 NotFound I think the number intersted in having nqp and rakudo get faster is high thatn that.
15:13 whiteknight PCT uses Perl6 semantics, which call for semantics like autovivification, etc
15:13 whiteknight Winxed has no such semantics, so a large amount of autovivifying code can disappear
15:13 moritz NotFound: the number of active developers these days that are interested in rakudo, and know PCT enough to hack it, is pretty much 1.
15:13 moritz NotFound: if you know somebody apart from jnthn_, I'm very happy to hear about them
15:13 whiteknight likewise, NQP follows Perl6 semantics to use exceptions for various bits of control flow. Winxed doesn't
15:14 PerlJam moritz: who is the 1?  :)
15:14 Eduardow left #parrot
15:14 moritz PerlJam: jnthn_
15:14 NotFound moritz: touché
15:15 whiteknight Winxed makes the tradeoff to have less high-level semantics in exchange for code that is closer to the VM
15:15 whiteknight it's hard to compare the two languages when they have such different goals
15:19 NotFound The problem is that that situation gives me even less interest in trying to convert Winxed code generation from pir to past/post whatever.
15:22 PerlJam Rustle up a GSOC student to do it for you!  :)
15:23 whiteknight NotFound: that's fine too. The only reason I like PAST/POST is because we're going to be getting PBC generation from POST eventually
15:23 whiteknight NotFound: What we want the most is to kill PIR. Kill it dead
15:23 whiteknight kill it with a stick and fire
15:24 rohit_nsit08 I think i  just read "kill PIR" .
15:24 whiteknight rohit_nsit08: not today.
15:24 atrodo whiteknight> I hope we have the ability to generate PBC from an API, and not just from POST
15:24 rohit_nsit08 who is taking the place than?
15:24 NotFound whiteknight: I'd like to be able to kill it, but having a good replacement before.
15:24 JimmyZ and NQP abuses find_lex  too much.
15:24 whiteknight NotFound: right, we're working on the replacements
15:25 PerlJam JimmyZ: I don't think that's a fair assessment.
15:25 NotFound whiteknight: just one person knowledgeable with PCT doen't look like too much working.
15:25 atrodo "Coming soon to a theater near you, the whiteknight production of 'Kill PIR'.  They thought it was dead, but they were wrong"
15:25 whiteknight atrodo: :)
15:25 moritz NQP/PCT doesn't inline any nested blocks
15:25 PerlJam atrodo: as long as we don't have "Kill PIR vol. 2"
15:25 whiteknight NotFound: other people are knowledgable about it. bacek and cotto seem to know it well
15:26 cotto_work fsvo "well"
15:29 NotFound I stand corrected: just one person knowledgeable with PCT and the main HLL that uses it.
15:29 * atrodo would like to see a winxed based past/post like system
15:30 whiteknight we've talked in the past about having a good, generalized compiler toolkit library
15:30 whiteknight PCT was assumed to take that mantle
15:30 whiteknight PCT does do a hell of a lot of work to make compilers easy
15:30 JimmyZ PerlJam:  I don't know how to define fair assessment, but NQP really needs to be optimized.
15:30 NotFound Except maybe document how to use it?
15:31 Eduardow joined #parrot
15:31 PerlJam JimmyZ: Sure.
15:32 moritz JimmyZ: your patches are very welcome
15:33 JimmyZ well, I must solve my problem of food and clothing first.
15:33 PerlJam JimmyZ: NQP needs to make more/better use of Parrot features, but by the same token, Parrot needs to have features that NQP is likely to use.  Part of the "problem" with the current implementation is the impedance mismatch between Parrot's and NQP's respective feature sets.
15:33 PerlJam JimmyZ: thus NQP "abuses" find_lex
15:34 whiteknight Parrots implementation of lexical variables is known to be sub-optimal
15:35 whiteknight arguably we only need to use lexicals at all if we require nested closures, and arguably PCT generates too many nested closures
15:35 NotFound PerlJam: There is no way to declare non lexical variables in nqp?
15:36 moritz our $x;
15:38 whiteknight that's a global, not a non-lexical
15:39 NotFound Having function local variables that are promoted to lexical only if needed may be a useful optimization. This is what winxed does.
15:39 whiteknight NotFound: by the way, i've had problems with function parameters not auto-promoting to lexicals
15:39 whiteknight I need to make a ticket for that
15:40 NotFound I thought that kind of problem was fixed.
15:41 NotFound Now that I think about that, there is no way to make the funcion parameter volatile.
15:43 Eduardow left #parrot
15:43 dalek Rosella/gh-pages: f9934a2 | Whiteknight++ | libraries/event.md:
15:43 dalek Rosella/gh-pages: Add in stub documentation file for the Event library
15:43 dalek Rosella/gh-pages: review: https://github.com/Whiteknig​ht/Rosella/commit/f9934a2e52
15:43 dalek Rosella/gh-pages: 016e62c | Whiteknight++ | / (2 files):
15:43 dalek Rosella/gh-pages: Event is a supported library now. Add it to the documentation in all the correct places
15:43 dalek Rosella/gh-pages: review: https://github.com/Whiteknig​ht/Rosella/commit/016e62cee5
15:43 dalek Rosella/gh-pages: af64b6d | Whiteknight++ | libraries/future.md:
15:43 dalek Rosella/gh-pages: Remove Event from the list of future libraries
15:43 dalek Rosella/gh-pages: review: https://github.com/Whiteknig​ht/Rosella/commit/af64b6d066
15:44 whiteknight NotFound: I'll put together a ticket with examples
15:44 NotFound whiteknight: ok
15:49 darbelo left #parrot
15:49 contingencyplan joined #parrot
15:49 UltraDM left #parrot
15:51 Eduardow joined #parrot
15:53 Andy_ joined #parrot
15:57 theory joined #parrot
15:59 Andy_ whiteknight: I merged up a bunch of my changes, fixed some conflicts.
16:00 whiteknight Andy_: Thanks!
16:01 whiteknight Andy_: I merged from master this morning and had to revert some changes in frontends/parrot/main.c, some of which I think were from you. I am going to go back through the changes and make sure I didn't lose anything important
16:01 Andy_ ok
16:06 janus joined #parrot
16:06 ambs left #parrot
16:06 ambs joined #parrot
16:11 Andy_ whiteknight: Have you pushed the changes back yet?
16:17 dukeleto ~~
16:19 lucian joined #parrot
16:19 lucian_ left #parrot
16:19 JimmyZ left #parrot
16:20 tcurtis ~~
16:20 dalek winxed: r932 | NotFound++ | trunk/winxedst0.cpp:
16:20 dalek winxed: fix and improve null handling in stage 0 ArgumentList
16:20 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=932
16:38 davidfetter joined #parrot
16:39 dalek parrot/lorito: a13aab9 | cotto++ | src/dynoplibs/m0proto.ops:
16:39 dalek parrot/lorito: add op docs
16:39 dalek parrot/lorito: review: https://github.com/parrot/parrot/commit/a13aab97ef
16:39 dalek parrot/lorito: b525721 | cotto++ | / (2 files):
16:39 dalek parrot/lorito: add copy_bytes and set, test writing to allocated memory
16:39 dalek parrot/lorito: review: https://github.com/parrot/parrot/commit/b5257211d4
16:40 cotto_work that should be a little more approachable now
16:41 dalek parrot/whiteknight/imcc_compreg_pmc: 526dfda | petdance++ | frontend/parrot/main.c:
16:41 dalek parrot/whiteknight/imcc_compreg_pmc: Avoid potential passing of NULL to strchr().  Use strcmp() as compare, not a boolean.
16:41 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/526dfda894
16:42 Andy_ whiteknight: There you go, re-applied my changes to main.c.
16:47 eternaleye left #parrot
16:47 eternaleye joined #parrot
16:56 whiteknight Andy_++
16:56 dalek parrot/whiteknight/imcc_compreg_pmc: c25ef75 | petdance++ | frontend/parrot/main.c:
16:56 dalek parrot/whiteknight/imcc_compreg_pmc: Remove unused function write_bytecode_file. Remove an unused local pointer. consted some locals
16:56 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/c25ef75ac6
17:00 Andy_ whiteknight: https://gist.github.com/904007
17:01 atagar joined #parrot
17:01 Andy_ That gives you stuff to look ati.
17:04 atagar left #parrot
17:10 whiteknight oh beautiful
17:11 whiteknight the vast majority of these don't seem like they would be specific to my branch
17:11 darbelo joined #parrot
17:11 whiteknight Andy_ We should pass that list along to prospective GSoC students. Easy pickings for submitting patches
17:11 dalek parrot/whiteknight/imcc_compreg_pmc: 8c984e0 | petdance++ | / (2 files):
17:11 dalek parrot/whiteknight/imcc_compreg_pmc: correctly annotate Parrot_set_config_hash_pmc input pointer
17:11 dalek parrot/whiteknight/imcc_compreg_pmc: review: https://github.com/parrot/parrot/commit/8c984e01ca
17:12 dalek parrot: bcce1b3 | petdance++ | / (2 files):
17:12 dalek parrot: correctly annotate Parrot_set_config_hash_pmc input pointer
17:12 dalek parrot: review: https://github.com/parrot/parrot/commit/bcce1b3ef0
17:12 cotto_work That's a nice way to get started.
17:12 Andy_ whiteknight: If it was easy pickings, I'd have done them. :-(
17:12 Andy_ Some of them are larger-scale questions
17:13 Andy_ For instance: Should all our string_ fucntions handle NULL string pointers?  Some do, some don't.  We need to be consistent, I think.
17:13 whiteknight Andy_: that's a good point. Consistency there seems warranted
17:14 whiteknight I haven't dug into that system in a long time
17:14 Andy_ splint is very good at tracking when things can and can't be NULL
17:14 Andy_ That's why we have the PARROT_CANNOT_RETURN_NULL etc all over the place
17:14 Andy_ So splint warns us, but it's not very useful if some can and some can't return NULL, and some can and some can't accept NULLs, etc
17:15 Andy_ I also question whether we can get rid of the STRINGNULL variable.  It's apparently a debugging hook, but I wonder if anyone actually uses it.
17:15 cotto_work It was a fairly recent addition.
17:16 Andy_ oooh lunch time.
17:16 whiteknight yeah, STRINGNULL is valuable
17:16 cotto_work +1
17:16 whiteknight Actually, that's probably argument enough that string API functions should not accept NULL
17:16 whiteknight STRINGNULL is the lowest we should ever go
17:18 dalek winxed: r933 | NotFound++ | trunk/winxedst0.cpp:
17:18 dalek winxed: refactor ArgumentList and use it in call a new argument lists in stage 0
17:18 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=933
17:18 NotFound whiteknight: I think it's a lot better to take NULL than to having to debug all wrong usages.
17:18 rohit_nsit08 left #parrot
17:18 whiteknight NotFound: What about all the wrong usages of NULL?
17:18 whiteknight We can't misuse either, and we can test for STRINGNULL as easily as we can test for NULL
17:19 NotFound whiteknight: STRING_IS_NULL does both, as long as the function declaration doesn't confuse the compiler.
17:20 Andy_ whiteknight: But isn't STRINGNULL sometimes just a NULL?
17:20 whiteknight NotFound: Right, but we can give splint a lot of help if we are consistant about allowing NULL (which is not a valid STRING) or only allowing STRINGNULL (which is a valid string, and is safe from segfault)
17:20 whiteknight Andy_: In general, it shouldn't be
17:20 Andy_ How is STRINGNULL the var used?
17:21 Andy_ NotFound: I'd rather catch the wrong usages now, and have the static analysis tools and the compiler find them.
17:21 NotFound whiteknight: if functions that are supposed to be always called with values from parrot registers, not accepting NULL is fine for me.
17:21 NotFound Catching the internal wrong usages may be easy (...).
17:22 NotFound But external API usages, that's a different thing.
17:22 whiteknight The STRING API functions should be consistant. Either they should take NULL or they all should NOT. Since we do have STRINGNULL, my suggestion is "they all should not"
17:22 Andy_ whiteknight: but then we don't have splint's help in catching NULLs
17:23 whiteknight Andy_: Arguably that's not a problem, since STRINGNULL is usable as a STRING and doesn't lead to segfaults
17:23 whiteknight and since strings are immutable, there's no real danger that STRINGNULL would become corrupted
17:23 whiteknight or, there shouldn't be (I know the string system plays games internally)
17:24 NotFound whiteknight: also, STRINGNULL is a local value in parrotlib. Not so easy to force its usage in all extern and embeding usages.
17:24 whiteknight NotFound: we do the same with PMCNULL. If we need to add new interface fucntions we can do that
17:24 Andy_ whiteknight: My point is that if STRINGs that are NULL are actually NULL, then splint can help find the cases when a STRING *NULL gets passed around.  If it's a STRINGNULL, then it can't.
17:25 NotFound whiteknight: yes, and we already have problems with PMCNULL.
17:25 whiteknight Andy_: yeah, but if we make everything STRINGNULL, passing those around isn't a problem and doesn't need to be tracked in the first place
17:25 Andy_ "Isn't a problem" from the compiler and runtime point of view.  I'm talking semantically.
17:25 whiteknight That is, let's make the guarantee that NULL isn't used by the string API, then everything is "safe" in that regard
17:26 whiteknight STRINGNULL is just a 0-length string, and can be transparently used like other strings in all operations
17:26 whiteknight it's a safe value at runtime
17:26 Andy_ Yes, I realize
17:26 dcolish left #parrot
17:26 Andy_ If I call Parrot_string_length(NULL), that shouldn't happen, and splint can tell me that.
17:27 Andy_ If I call Parrot_string_length(STRINGNULL), that also shouldn't happen, but splint can't tell me that.
17:27 whiteknight that second example can happen, and frequently does happen
17:27 Andy_ Why?
17:27 NotFound Andy_: catching NULL usages at compile time is good. Catching PMCNULL or STRINGNULL is not. It's usages are causes of exceptions, but they don't break the parrot VM.
17:27 whiteknight it's maybe wasteful, because STRINGNULL has a length of 0. But it *is* a valid string and can be passed around like that
17:27 Andy_ NotFound: OK, I like that distinction.
17:28 NotFound Its wrong usages, I mean.
17:29 Andy_ Then STRING_IS_NULL need not check for NULL, only for equality with STRINGNULL
17:29 whiteknight eventually, once we've standardized the system, yes
17:30 NotFound Andy_: the optimizer takes care of avoiding the comparaison with NULL when it knows is redundant.
17:30 Andy_ s/takes/can take/
17:30 Andy_ depending on compiler
17:30 NotFound Andy_: we don't want to optimize for shit compilers.
17:31 Andy_ Heck, STRING_IS_NULL() ought to assert(s != NULL)
17:31 Andy_ s/ought to/could/
17:31 whiteknight yes, that seems like a good idea
17:31 Andy_ Really, STRINGNULL might better be called STRINGEMPTY
17:31 whiteknight it's going to take us some time to get to that level of standardization
17:31 NotFound Not at all.
17:31 NotFound An empty string is ""
17:32 whiteknight "STRINGNULL" was chosen by analogy to "PMCNULL"
17:32 Andy_ Not that I understand PMCNULL
17:32 Andy_ So educate me.
17:32 Andy_ Because we need to do the same thing there.
17:32 Andy_ THAT would be a huge win as far as splint and compiler.
17:32 whiteknight what do you mean?
17:32 NotFound null $S0 --> STRINGNULL  |  $S0 = '' --> Empty string
17:33 whiteknight STRINGNULL is an empty string that is a singleton and might have some other special properties
17:33 whiteknight I don't know all the details about how it's implemented
17:33 Andy_ ok
17:33 NotFound For example, STRINGNULL has no encoding.
17:33 whiteknight PMCNULL is a valid PMC type that throws exceptions when we access it instead of segfaulting
17:33 NotFound Empty strings have,.
17:34 Andy_ Then if we're always going to have STRINGNULL be a singleton, and PMCNULL, then I'm more than happy to plow through them.
17:34 whiteknight so VTABLE_invoke(interp, PMCNULL) is PMCNULL->vtable->invoke(interp,  PMCNULL)
17:34 whiteknight Andy_: that's what they are. They're immutable, global singletons
17:34 NotFound Please don't use euphemism. They aren't singletons, they are fucking global vars.
17:35 whiteknight NotFound: but there's only one of them, and they don't change after the interp is initialized
17:35 Andy_ whiteknight: MANY of the splint warnings are complaining of VTABLE_invoke(pmc) where we know not that the pmc is not NULL.
17:35 Andy_ NotFound: It's not a euphemism.
17:35 NotFound whiteknight: I have doubts about that.
17:36 whiteknight NotFound: it's technically possible to twiddle PMCNULL, but we don't do it
17:36 NotFound Some people are claiming that we should be able to have independent interpreters and they must not share any data. That may lead to having a PMCNULL and a STRINGNULL for each interpreter.
17:36 whiteknight if somebody did, they would get slapped
17:36 whiteknight NotFound: that may be. We don't have a sane threading system right now to worry about
17:37 whiteknight NotFound: and it really doesn't matter whether they be global singletons or interpreter-local singletons
17:37 Andy_ OK, now I'm actually going to lunch.  I've added the tasks for STRINGNULL.
17:37 whiteknight thanks Andy_++
17:37 Andy_ and then, after than, splint flags for the vtable functions
17:38 Andy_ whiteknight: when do you see merging back to master?
17:39 NotFound In fact PMCNULL does not need to be a singleton, the only advantage of being unique is to be able to do something == PMCNULL instead of PMC_is_null(something)
17:39 whiteknight Andy_: I really don't know. I've got some codestd fixes to make still, and I would like to see more tests
17:39 Andy_ Today?  Next month?
17:39 whiteknight Andy_: it will happen by Friday, or it won't happen until after the release
17:39 Andy_ ok
17:39 whiteknight My money is on sooner, rather than later
17:40 whiteknight but there's a lot of code change in that branch and I don't doubt there are bugs hiding in it
17:41 NotFound And the ability to do that is the reason that I don't think "singleton" is a good description for it, BTW.
17:42 tadzik seen chromatic
17:42 aloha chromatic was last seen in #parrot 52 days 23 hours ago saying "All of the core tests did pass for me, FWIW.".
17:48 NotFound whiteknight: the practical reason of allowing NULL in the API is: say you want to call a function that takes an argument that can be STRINGNULL. With NULL you do: something(interp, NULL); Without it you must do something like: snull = Parrot_str_get_null(interp); something(interp, snull);
17:49 whiteknight NotFound: that extra function call doesn't impress me. STRINGNULL would be constant for an interpreter, and we would only need to get it once
17:49 NotFound whiteknight: Where, in a global variable?
17:49 whiteknight wherever. I don't know how extensions or embedders will do it
17:49 whiteknight but they can cache that result if they want
17:51 NotFound Yes, they can do lot of things. But I don't think we must force them to do that kind of things.
17:53 whiteknight NotFound: so what's your argument? That we should allow people to pass NULL pointers around without regard?
17:53 whiteknight or that we shouldn't ask people to call interface functions the correct way?
17:54 NotFound whiteknight: a C API should be friendly to C programmers. C programmers are not used to have several special purpose kinds of nulls.
17:55 NotFound Passing them to the internals, of course not. Converting them to PMCNULL or STRINGNULL inside the api function.
18:05 whiteknight NotFound: Parrot isn't C. Parrot has standards of it's own. Every library enforces standards on the interface
18:06 NotFound whiteknight: yes, and some of them enforce lack of happy users because of unfriendly standards.
18:07 whiteknight NotFound: For years Parrot has not had a defined API of any kind, and our users have been unhappy about that. Moving a little bit in the right direction isn't going to kill us
18:07 NotFound For example, perl XS has standards that I don't think nobody likes.
18:07 whiteknight We have a long way to go before our APIs are too strict
18:07 whiteknight Parrot is very very far away from XS
18:09 NotFound whiteknight: yes, but I think that we are discusing what is the right direction in this item.
18:11 NotFound I think that a policy of being liberal in what we accept and strict in what we give is the more friendly approach here.
18:21 dodathome joined #parrot
18:29 Andy_ back
18:29 cotto_work #ps in 120
18:39 Andy_ whiteknight: anything else you want me to look for?
18:43 whiteknight Andy_: No, you've been helpful enough already. Now I just need to plug through the remaining failures
18:45 dalek parrot/lorito: 40ebd35 | cotto++ | t/dynoplibs/m0proto.t:
18:45 dalek parrot/lorito: add test for copy_mem
18:45 dalek parrot/lorito: review: https://github.com/parrot/parrot/commit/40ebd35938
18:50 whiteknight tcurtis: ping
18:50 tcurtis whiteknight: pong
18:51 whiteknight tcurtis: I've been planning to add in a text tokenizer library to my Rosella project. If you provide the LALR parser generator, I can provide the lexer
18:51 whiteknight I can't guarantee a timeframe for it
18:55 bubaflub left #parrot
18:55 tcurtis whiteknight: Great.
18:57 tcurtis whiteknight: I'm considering moving the grammar specification parser part to later in the schedule so that I can use the parser generator to generate the parser.
18:58 atrodo Parsers, all the way down
18:59 tcurtis whiteknight: The disadvantage would be that it would take a bit longer after the actual generation was implemented before it would be particularly convenient to use.
19:01 tcurtis (Although it might not actually be any later in actual time, since even if I wrote a grammar parser in NQP at the beginning, it wouldn't be capable of actually generating parsers for a while.
19:02 Patterner left #parrot
19:02 Psyche^ joined #parrot
19:02 Psyche^ is now known as Patterner
19:02 whiteknight tcurtis: A good design for the parser would enable new coders to get involved in the project after GSoC was over
19:03 whiteknight so separate out the front-end, which takes rules and things, from the backend which generates the parser
19:03 whiteknight tcurtis: To start, you don't need a friendly DSL like yacc uses. All you need are method calls to add sequences
19:04 whiteknight parser.add_rule("keyword_if", "if")
19:04 whiteknight or, parser.add_rule("if_statement", "if", "(", "condition", ")", ...)
19:05 whiteknight once you have method calls to add new rules to the parser, you can create your own little language for specifying them in an easy way
19:05 whiteknight or, not. The fancy language isn't necessary
19:07 whiteknight if we pretend that every "token" object is going to have a type string and the string of the actual contents (or, a list of sub-nodes in the case of a production), we can make matches based on named sequences of tokens
19:08 whiteknight parser.add_rule(<output type name>, <input sequence of tokens>...)
19:08 whiteknight (this is just one idea, you can design your own system that doesn't stink as badly)
19:30 bubaflub joined #parrot
19:32 tcurtis Right. So, friendly DSL becomes it-would-be-nice-if task for near the end.
19:33 dalek tracwiki: v17 | bbatha++ | ParrotGSoC2011Students
19:33 dalek tracwiki: http://trac.parrot.org/parrot/wiki/ParrotG​SoC2011Students?version=17&amp;action=diff
19:35 cotto_work tcurtis: you should put your proposal on melange
19:35 cotto_work tcurtis++
19:37 tcurtis cotto_work: I need to rip out the lexer bits and flesh out the details of the schedule. So, hopefully I'll get it there sometime tonight.
19:37 cotto_work tcurtis: wfm
19:40 whiteknight tcurtis++
19:44 whiteknight left #parrot
19:45 tcurtis Daylight Savings Time always ruins my expectations about the timing of #ps.
19:45 bubaflub tcurtis: same. i just had to run date -u
19:45 whiteknight joined #parrot
19:46 cotto_work #ps in 44
19:46 atrodo I just wait for cotto_work to remind me
19:46 cotto_work atrodo: me too
19:46 atrodo cotto_work++ # Boosting confidence
19:46 * cotto_work gets stuck in an infinite loop waiting for cotto_work
19:47 tcurtis Does Winxed have gotos?
19:48 whiteknight yes
19:49 dalek tracwiki: v18 | bubaflub++ | ParrotGSoC2011Students
19:49 dalek tracwiki: http://trac.parrot.org/parrot/wiki/ParrotG​SoC2011Students?version=18&amp;action=diff
19:49 bubaflub whiteknight: aren't gotos considered harmful?
19:50 cotto_work bubaflub: isn't considering gotos harmful considered harmful?
19:51 bubaflub cotto_work: yo dawg, i heard you like considering things harmful, so i put a goto in your goto so you can goto while you goto while you goto while you...
19:51 whiteknight bubaflub: Winxed gives you plenty of rope to hurt yourself with, yes
19:53 whiteknight winxed is a low-level system language. It doesn't protect the user behind too many high-level abstractions
19:53 whiteknight with a few limited exceptions if PIR can do it, winxed can do it too
19:53 whiteknight at the moment, there is no way to set up multisubs, but I hope that will come soon
19:56 tadzik considering harmful is considered harmful
19:56 tadzik I have not yet seen any "considered harmful" that didn't have even a tiny bit of fanatism in it
19:57 whiteknight it's one thing to say that
19:57 PerlJam "Harmful considered harmful"
19:57 whiteknight "goto" is not good practice. It's another thing to outright ban a particular coding construct
19:57 dalek parrot: 9230099 | petdance++ | src/spf_render.c:
19:57 dalek parrot: Removed unused var. Consted a local var.
19:57 dalek parrot: review: https://github.com/parrot/parrot/commit/9230099c6a
19:58 whiteknight In almost all cases I would remove a "goto" statement if I found it in C code. It would have to be an extraordinary exceptional circumstance for me to leave it be
19:58 tcurtis If one has an acronym that begins with a vowel sounds, but which would begin with a consonant sound if expanded, should one use "a" or "an"?
19:58 atrodo A goto should require a signed-in-blood contract stating you know what you're doing.  Or a light compiler warning.
19:58 Andy_ tcurtis: depends on if you pronounce it.
19:59 whiteknight tcurtis: what acronym?
20:00 tadzik whiteknight: what about escaping nested loops?
20:01 tcurtis LALR. Although it actually also depends on whether you say each letter separately or not.
20:01 whiteknight tadzik: the first mistake is writing the nested loops in the first place.
20:01 cotto_work "loller"
20:01 whiteknight loller!
20:02 whiteknight tadzik: a nested loop is just a disguised cry for refactoring help
20:02 tadzik oh, I wouldn't be so sure. Say you are traversing a 3D array, willing to stop at a certain element
20:03 whiteknight tadzik: Again, there are cases where it's permissible if we imagine hard enough
20:03 tadzik that's what I'm saying :)
20:03 soh_cah_toa joined #parrot
20:03 whiteknight tadzik: and what I'm saying is that those situations are vanishingly rare
20:03 tadzik oh, maybe
20:04 whiteknight I've never run into a case where I used a goto, or even considered that a goto might be the best solution to the problem at hand
20:04 soh_cah_toa haha, you guys are still talking about goto's?
20:04 whiteknight well, that's not true. I have used them in some cases, especially in parrot-land where higher-level constructs might not always be available
20:05 whiteknight but if there are alternatives, those alternatives are almost always better than goto
20:05 tcurtis soh_cah_toa: I don't think it's related to the previous discussion.
20:05 tcurtis whiteknight: How do you feel about using gotos for cleanup on error in C?
20:06 whiteknight tcurtis: what error? what cleanup?
20:06 whiteknight We do lots of cleanup of variables in Parrot, yet we have extremely few gotos in the whole codebase
20:06 soh_cah_toa good
20:06 whiteknight (and those that we do have are highly indicative of larger code problems)
20:07 soh_cah_toa i avoid goto like the plague
20:07 kid51 joined #parrot
20:07 whiteknight for instance, the sprintf implementation has a goto or two in it, but that code is a godforsaken mess
20:07 whiteknight so it's hard to say "see?!?! it works here!"
20:07 benabik I avoid the plague like I avoid goto.
20:08 soh_cah_toa the associative property of goto and the plague
20:08 soh_cah_toa commutive, sorry
20:08 tcurtis whiteknight: for a content-less example of what I mean, gist.github.com/902605
20:08 benabik Well, I find they both tend to distribute too far if you're not careful.
20:08 soh_cah_toa *commutitive
20:08 whiteknight tcurtis: Look at the API calls in frontend/main/parrot.c:main
20:09 whiteknight same situation. Each API call might have an error. We cleanup without goto
20:10 whiteknight I would rewrite that code snippet to not use goto
20:15 whiteknight tcurtis: https://gist.github.com/904441
20:15 kid51 #parrotsketch in 15
20:15 whiteknight tcurtis: using the "inline" or "static" keywords on those functions would cause the compiler to inline aggressively too
20:16 whiteknight tcurtis: breaking the complicated bits out into named functions increases readability
20:16 whiteknight tcurtis: That said, I've read the code generated by bison, and I know it makes heavy use of goto. You're going to have to duplicate much of that whether we like it or not
20:20 mikehh joined #parrot
20:21 tcurtis whiteknight: that example is cleaner. And that it doesn't do the same thing as the original further proves your point about readability.
20:22 dalek parrot/m0-spec: 23ad887 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
20:22 dalek parrot/m0-spec: update m0 spec to match prototype, note outdatedness
20:22 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/23ad8879d3
20:23 whiteknight tcurtis: it was a quick translation. I probably got something wrong
20:24 whiteknight Ah, I'm not calling foo_bar_cleanup when foo_bar_do_it succeeds
20:26 whiteknight tcurtis: improved: https://gist.github.com/904441
20:27 whiteknight the last of the three gotos is completely unneeded, but I left in the branch behavior anyway
20:27 whiteknight a fill-in the blank situation
20:29 tcurtis the last goto was just there so that adding further behavior after foo_bar_do_it() wouldn't require adding it.
20:30 mikehh #ps time
20:30 cotto_work so it would seem
20:30 tcurtis The only bug now is that foo_cleanup() gets called even if foo_init() fails.
20:31 whiteknight left #parrot
20:34 frodwith left #parrot
20:34 frodwith joined #parrot
20:38 lucian left #parrot
20:40 dodathome left #parrot
20:40 lucian joined #parrot
20:53 benabik For those not in #ps, I just updated my GSoC proposal for getting PCT to talk PBC: https://gist.github.com/899867  (Yes, I updated it on Melange too.)
20:53 tadzik oh, I didn't know you can update proposals alredy submitted
20:54 benabik I used the button labeled "update".  I hope it worked.  :-D
20:57 lucian it does work. i've given up the gist version
20:57 benabik lucian: I'm updating the gist version so people not on melange can see it.
20:58 lucian benabik: if you make it public, anyone can see it
20:58 benabik lucian: Oh.  :-/
20:59 benabik Well, I'm writing it in Markdown on my machine anyway so I don't see a reason not to copy-pasta into gist as well as melange.
20:59 tadzik benabik: hehe, your PCT slides look really similar to my Parrot slides :)
20:59 lucian benabik: sure, your proposal
21:01 benabik tadzik: Which Parrot slides?  I was thinking about doing a presentation on Parrot as a whole for a local conference, so a starting point would be useful.
21:02 bacek benabik, I like your updated proposal.
21:02 cotto_work that's a good sign
21:02 bacek aloha, melange?
21:02 aloha bacek: melange is crapping out
21:03 bacek good girl...
21:03 cotto_work aloha: melange is also http://socghop.appspot.com
21:03 aloha cotto_work: Okay.
21:03 benabik Crapping out?
21:04 cotto_work benabik: historically it hasn't run on the best of hardware.
21:04 tadzik benabik: I hid them somewhere, hold on. They're in Polish though
21:04 benabik tadzik: Ah.  Polish not so useful to me.  I'm a dirty unilingual American. ;)
21:05 tadzik benabik: http://feather.perl6.nl/~tjs/static/#1
21:05 lucian aloha: melange is http:///google-melange.com
21:05 aloha lucian: ... but melange is crapping out or http://socghop.appspot.com ...
21:05 lucian aloha: melange is also http:///google-melange.com
21:05 aloha lucian: Okay.
21:05 lucian aloha: botsnack
21:05 tadzik benabik: the funniest part was presenting the lolcode compiler
21:11 davidfetter_ joined #parrot
21:15 benabik tadzik: I should consider that. Something entertaining to show it off instead of just "look, rakudo".
21:15 davidfetter left #parrot
21:15 davidfetter_ is now known as davidfetter
21:16 soh_cah_toa left #parrot
21:17 soh_cah_toa joined #parrot
21:19 lucian benabik: brainfuck should get a few giggles too
21:21 benabik Can either of those use random PBCs?  It'd be funny to write a class in LOLCODE and run it with BF or similar.  :-D
21:21 lucian yeah! and then write unit tests for it in whitespace
21:22 NotFound I think BF isn't too oriented to external linkage.
21:22 lucian NotFound: that's a nice way of saying it's very deep in the tarpit
21:23 ambs left #parrot
21:23 lucian have you seen hello world in bf? you could generate the lolcode source code from bf
21:23 dalek winxed: r934 | NotFound++ | trunk/winxedst1.winxed:
21:23 dalek winxed: fix a problem in empty argument lists
21:23 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=934
21:23 dalek winxed: r935 | NotFound++ | trunk/winxedst1.winxed:
21:23 dalek winxed: a hard tab
21:23 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=935
21:24 benabik Use rakudo's eval to run BF to generate LOLCODE and then run it?
21:24 NotFound I'm already enough brain damage, no need exposure to bf.
21:24 mikehh left #parrot
21:24 benabik This way lies madness.
21:24 lucian benabik: yeah, like that
21:24 lucian H.P. Lovecraft would be proud
21:24 NotFound benabik: It's called BF for some reason.
21:25 lucian i have a warm place in my heart for whitespace
21:25 NotFound lucian: have you seen the proposal for whitespace overriding in C++?
21:26 lucian NotFound: no, but it sounds insane already
21:26 NotFound Well, some parts even looks reasonable at the start...
21:26 benabik You can write a program that is both valid whitespace and BF, I think.
21:26 lucian benabik: hmm
21:27 cotto_work lucian: you should get a doctor to look at that.  It sounds dangerous.
21:27 lucian after seeing how C++ parsers work (7 passes!) i want nothing to do with it
21:27 ligne joined #parrot
21:27 NotFound If I remember well, in whitespace all non white is ignored, so you should be able to be a program that is valid in whitespace and in X for any free format X-
21:28 lucian NotFound: yep. sounds as an opportunity for much evil
21:28 kid51 left #parrot
21:29 NotFound But with python, that should be fun.
21:29 lucian NotFound: the whitespace propaganda says you could print out a program and no-one would know it's there
21:29 lucian but they fail to point out that they can be hidden in existing programming languages
21:30 lucian NotFound: yeah, much harder
21:30 NotFound lucian: I can signal an exception. In an old zx-81 computer you can see the difference between whites and nothing.
21:31 lucian NotFound: as in many editors. but on paper?
21:31 NotFound On screen, but without software aid, just its hardware.
21:31 lucian i see
21:32 NotFound Its screen let empty lines empty to avoid wasting memory (it has 1K in the base version), and in the TV output the difference was viewable.
21:33 lucian i see. interesting "laziness"
21:33 lucian i've always wondered if haskell-like laziness could be pushed very, very far
21:33 NotFound The amazing thing is there are people programming for that beast even today.
21:33 benabik Hm.  If lolcode ignores +-<>[],., then it could be lolcode, ws, and bf at the same time.
21:33 benabik I should stop.
21:34 lucian benabik: no, no. you're on your way to great evil
21:34 lucian a funny polyglot on parrot would be interesting
21:35 NotFound lucian: http://megatokyo.com/strip/1161
21:38 lucian NotFound: i don't quite get it. sorry
21:39 dalek winxed: r936 | NotFound++ | trunk/pir/winxed_compiler.pir:
21:39 dalek winxed: update installable compiler
21:39 dalek winxed: review: http://code.google.com/p/w​inxed/source/detail?r=936
21:39 NotFound lucian: that's how you'll look like if you do more BF.
21:39 lucian i see. possible, i guess
21:40 NotFound Note that I don't say is bad ;)
22:04 whiteknight joined #parrot
22:07 davidfetter_ joined #parrot
22:11 davidfetter left #parrot
22:11 davidfetter_ is now known as davidfetter
22:20 bubaflub left #parrot
22:28 lucian left #parrot
22:36 * whiteknight misses #ps
22:37 * whiteknight is happy to see GSoC students participating in it
22:46 whiteknight hate t/pmc/threads.t
22:50 ligne left #parrot
22:52 atrodo aloha, insult t/pmc/threads.t
22:52 aloha atrodo: t/pmc/threads.t is nothing but a clapper-clawed thimbleful of unintelligent cold sores.
23:11 dukeleto ~~
23:11 * dukeleto backlogs to see what happened in #ps
23:14 whiteknight I'm seeing a sane test situation in the imcc_compreg_pmc branch
23:14 whiteknight I'm not sure I ever believed it would happen
23:15 whiteknight I may attempt a merge as early as tomorrow
23:16 dukeleto whiteknight++
23:17 cotto_work whiteknight++
23:18 dukeleto cotto_work: how many GSoC students do you think we can realistically mentor this summer?
23:19 dukeleto whiteknight: i am building and testing a g++ build of your imcc_compreg_pmc branch right now
23:19 cotto_work "we" being who all?
23:19 whiteknight awesome
23:20 dukeleto cotto_work: we, the Parrot community
23:21 cotto_work It depends on who's mentoring.  Not everyone will be comfortable mentoring every project.
23:21 bubaflub joined #parrot
23:21 whiteknight right, that's the kicker. It's about matching good mentors to the right projects
23:21 cotto_work My guess would be 6-8, but that's largely pulling a number out of the air.
23:22 whiteknight is it permissible for a mentor to have multiple students?
23:22 cotto_work I'm pretty sure that Google's fine with that.
23:23 Tene I expect to be able to provide intermittent or task-specific support to students, but I can't provide reliable or regular support.
23:23 whiteknight I would be willing to do two projects, if necessary
23:23 whiteknight Tene: if you keep offering, we're going to take you up on it :)
23:25 Tene :)
23:25 dukeleto mentors can mentor any number of students, but having more than 2 or 3 students is not productive
23:25 dukeleto i think we have roughly 10-15 people that can mentor part-time, so I think we could support roughtly that number of students
23:25 whiteknight dukeleto: okay, I wouldn't want more than 2. And I would do 2 under the realization that I would have less time for working on other things
23:26 dukeleto whiteknight: some students need very little help. Other require a lot of help.
23:26 whiteknight right
23:26 dukeleto whiteknight: it is uneven across mentors and orgs
23:27 dukeleto whiteknight: we have some repeat gsoc students this year. We know they are capable and they have their dev environment under control, and they are more likely to produce good stuff with little help
23:27 dukeleto whiteknight: it is just something to keep in mind
23:28 darbelo left #parrot
23:28 whiteknight Right. I don't advocate multiple students per mentor in general. I'm just saying that if we have more students than available/willing mentors, I'll spend more time on it
23:28 dukeleto the reason I ask the question is because Google will award a number of slots soon, based on how many proposals we get
23:29 dukeleto whiteknight: thanks :)
23:30 dukeleto so if they give us N slots, we then see that we have M good proposals. If M < N, we give slots back, if N > M then we have to make hard decisions (more likely)
23:30 cotto_work dukeleto: do you know when google will start making that decision?
23:30 dukeleto my best guess is that we will be awarded somewhere between 5 and 20 slots. it's hard to say. I think there algorithm changes every year.
23:31 dukeleto cotto_work: it is all on their timeline
23:31 dukeleto cotto_work: i think the week after student proposals are due, roughly
23:31 cotto_work All I see is "mentor slots are announced..." on the 12th
23:31 dukeleto cotto_work: they base slot assignments on the number of student applications to each org
23:31 dukeleto cotto_work: yes, on the 12th then :)
23:33 dukeleto cotto_work: and, *very* roughly, orgs, on average, seem to get roughly half the number of slots than the number of student applications
23:33 dukeleto cotto_work: but there is a lot of variability. non-deterministic flavinoids
23:34 dukeleto benabik: i commented on the proposal on Github
23:35 dukeleto benabik: it looks very good. Just need to add some detail to the timeline to replace "Continue working" and "bugfixes" weeks
23:40 davidfetter dukeleto, are you sure you can't make it to pgcon in ottawa next month?
23:42 dukeleto davidfetter: my talks were not accepted, and have been making other travel plans. why do you ask?
23:42 davidfetter dukeleto, i was hoping for your contribution at the PL summit on 5/17
23:42 davidfetter dukeleto, and if you can't make it in person, i'd like to see what i can do to get your concerns addressed
23:48 dukeleto davidfetter: what contribution? does the postgresql community want to hear about PL/Parrot or PL/Perl6? From the talks they chose to accept, it doesn't seem like they want to hear about what I have to talk about.
23:49 cotto_work dukeleto: did your linuxfestnw talks get accepted?
23:51 whiteknight last year google put out a preliminary count of slots early in the process, then refined to an actual count
23:52 dukeleto cotto_work: didn't submit them yet. hopefully, i am not too late
23:52 dukeleto cotto_work: i will go even if i missed the talk deadline
23:53 cotto_work dukeleto: It's getting pretty close if the deadline hasn't passed.  It's at the end of the month iirc
23:55 davidfetter dukeleto, don't take it so hard. it's cutting-edge stuff. the PL summit is about looking over the PL infrastructure and seeing what common concerns PL writers and users have, and how to address same
23:56 benabik dukeleto: Thanks for comments.  Not sure what to replace those lines with yet, but I have a couple days to think.  The "keep working" is because I expect the conversion I'm doing there to take more than a week and I'm not sure of a good mid-task goal.
23:56 davidfetter so the answer is, the community wants to hear about all kinds of PLs. heck, my talk got bounced on the first round, and i only got grandfathered in because somebody couldn't make it and they wanted to hear about this new SQL feature
23:58 dukeleto davidfetter: that sounds fine. I can send an email with my concerns about the PL infrastructure
23:58 dukeleto davidfetter: is there some actual document that describes what will happen at the PL summit?

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

Parrot | source cross referenced