Camelia, the Perl 6 bug

IRC log for #parrot, 2011-07-12

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:03 preflex left #parrot
00:03 logie left #parrot
00:06 preflex joined #parrot
00:07 cotto_work overall, it looks like a ~2.38% increase in performance on a simple looping Perl 6 script
00:08 dalek parrot/hllmap_fixed: 8b86b37 | cotto++ | / (2 files):
00:08 dalek parrot/hllmap_fixed: poke directly into the hll_map for an additional ~.5% performance bump
00:08 dalek parrot/hllmap_fixed: review: https://github.com/parrot/parrot/commit/8b86b37bb8
00:08 dalek parrot/hllmap_fixed: 104b3c2 | cotto++ | src/hll.c:
00:08 dalek parrot/hllmap_fixed: better variable name for the array that maps core types to HLL types
00:08 dalek parrot/hllmap_fixed: review: https://github.com/parrot/parrot/commit/104b3c2b04
00:16 kid51_at_dinner whiteknight:  Please close http://trac.parrot.org/parrot/ticket/1682
00:16 kid51_at_dinner is now known as kid51
00:16 kid51 re: vtable_substr
00:16 kid51 afk
00:16 kid51 left #parrot
00:18 whiteknight done
00:24 dukeleto cotto_work: that sounds quite nice
00:28 cotto_work dukeleto: I'm happy.
00:30 dalek TT #1682 closed by whiteknight++: VTABLE_substr is never used
00:30 dalek TT #1682: http://trac.parrot.org/parrot/ticket/1682
00:30 fivetonsflax did you get my email, cotto?
00:34 cotto_work fivetonsflax: It's likely.  I'm heading home soon, at which point I'll check.
00:36 cotto_work fivetonsflax: what timezone are you in?
00:40 dalek parrot/soh-cah-toa/hbdb: 54eac19 | soh_cah_toa++ | docs/hbdb.pod:
00:40 dalek parrot/soh-cah-toa/hbdb: Made further additions to the documentation in docs/hbdb.pod
00:40 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/54eac19a93
00:43 rurban_ joined #parrot
00:44 fivetonsflax cotto: US/Pacific
00:44 cotto_work fivetonsflax: that's good.  same here
00:45 theory left #parrot
00:45 rurban left #parrot
00:45 rurban_ is now known as rurban
00:49 cotto_work soh_cah_toa: nobody's going to fault you for not having an ascii art cat in your docs
00:51 contingencyplan left #parrot
00:56 mjc joined #parrot
00:57 cotto_work Is there any reason not to merge NotFound++'s branch before the code/feature freeze?
01:08 dalek parrot-libgit2: 83dfe79 | dukeleto++ | src/Git2/Common.winxed:
01:08 dalek parrot-libgit2: Start filling out the nested structure of a git_repository to create a StructView PMC for it
01:08 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/83dfe797e4
01:09 whiteknight cotto_work: if all tests pass, and if it doesn't break rakudo or anything, I'm +1
01:10 dukeleto msg plobsing can you tell me if I am on the right track with https://github.com/letolabs/pa​rrot-libgit2/commit/83dfe797e4 ? There are lots of nested structs in libgit2
01:10 aloha OK. I'll deliver the message.
01:12 cotto_work whiteknight: wfm.  I'll give it some testing when I get home and merge it, barring objections.
01:23 kid51 joined #parrot
01:23 whiteknight left #parrot
01:23 kid51 cotto_work: Which is the 'notfound' branch you were referring to.
01:23 kid51 ?
01:23 mjc left #parrot
01:26 kid51 msg whiteknight re t/pmc/nci.t See recently closed tickets http://trac.parrot.org/parrot/ticket/2117 and http://trac.parrot.org/parrot/ticket/2116 and http://trac.parrot.org/parrot/ticket/1979.  At the point we closed these, Smolder was down so we probably couldn't assess impact of patches on Windows.
01:26 aloha OK. I'll deliver the message.
01:30 kid51 seen Coke?
01:30 aloha Coke was last seen in #parrot 4 hours 3 mins ago saying "The commit looks reasonable, anyway. sorry about my confusion about where it landed!".
01:30 kid51 Coke ping
01:40 cotto kid51, hllmap_fixed
01:42 benabik_ joined #parrot
01:42 benabik left #parrot
01:42 benabik_ is now known as benabik
01:47 Coke pong
01:48 kid51 Coke: Do you want to comment further on http://trac.parrot.org/parrot/ticket/840 ?
01:48 Coke checking...
01:48 Coke nope. you win! ;)
01:49 kid51 Closing.
01:49 benabik kid51++ # Ticket closing machine
01:50 cotto fivetonsflax, I need to apologize for my response.  I feel like I was sarcastic and dismissive in response to a perfectly reasonable request from you.
01:53 benabik nqp/t/p6regex/01-regex.t seems to be hanging after 331 tests on Parrot master.
01:53 benabik (Also Darwin/x86)
01:54 cotto fivetonsflax, thanks for the comments on the spec.  Everything you pointed out was indeed a goof of some kind.  I'll be fixing them shortly.
01:54 cotto fivetonsflax++
01:55 benabik Good news is that there appears to be no memory leak.  Just sitting and spinning.
01:56 cotto well, almost everything.
01:56 dalek parrot/hllmap_fixed: 69c22e4 | jkeenan++ | config/gen/makefiles/root.in:
01:56 dalek parrot/hllmap_fixed: Typographic cleanup only.
01:56 dalek parrot/hllmap_fixed: review: https://github.com/parrot/parrot/commit/69c22e4837
01:58 dalek parrot/soh-cah-toa/hbdb: 79ab026 | soh_cah_toa++ | src/hbdb.c:
01:58 dalek parrot/soh-cah-toa/hbdb: Added additional calls to mem_gc_free() in hbdb_destroy() to prevent memory leaks. Not sure if the NULL assignments are actually necessary but it's better safe than sorry.
01:58 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/79ab026f67
01:58 benabik hllmap_fixed?
01:59 cotto benabik, that's a branch NotFound started in response to a potential optimization that jnthn suggested.
02:00 cotto It uses a FIA for HLL maps instead of a hash and shows about a 2.4% improvement for a simple for loop in Rakudo.
02:02 kid51 cotto: I don't object strongly to that going in before 3.6 if fully tested, including testing on all HLLs.
02:02 cotto kid51, great
02:02 kid51 cotto: But from this point forward, I would like focus to be on fixing tests on Windows.
02:02 cotto kid51, that's a good idea
02:03 kid51 In other words, any commits to directories like src/ should be very focused on getting us testing cleanly on Windows.
02:03 cotto fivetonsflax, set is different from copy_mem.  set changes what's in a register, copy mem writes to the address a register points at
02:03 cotto *copy_mem
02:04 kid51 I am getting a test failure in t/src/embed/api.t when I do "all g++/optimize" build
02:04 dalek parrot/m0-spec: 646d461 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
02:04 dalek parrot/m0-spec: fix a batch of goofs found by fivetonsflax++
02:04 kid51 This in hllmap_fixed branch -- but I got an error in master this afternoon with same configuration.
02:04 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/646d461bba
02:05 dalek TT #840 closed by jkeenan++: t/op/io.t fails on win32
02:05 dalek TT #840: http://trac.parrot.org/parrot/ticket/840
02:05 nopaste "kid51" at 192.168.1.3 pasted "t/src/embed/api.t: failure with all g++, optimized build" (20 lines) at http://nopaste.snit.ch/59801
02:09 nopaste "kid51" at 192.168.1.3 pasted "t/src/embed/api.t: Failure with all g++, optimized build" (27 lines) at http://nopaste.snit.ch/59802
02:09 cotto kid51, what do you mean by "all g++"?
02:11 cotto same failure here
02:16 Coke cotto: presumably with configure.pl --cc=g++, --link=g++, etc.
02:16 kid51 Opened http://trac.parrot.org/parrot/ticket/2149
02:17 kid51 duke was working in that file on Saturday; hope he can fix
02:17 plobsing ~~
02:18 jay plobsing: remember that thunk issue with the complex signature?
02:20 dalek TT #2149 created by jkeenan++: t/src/embed/api.t
02:20 dalek TT #2149: http://trac.parrot.org/parrot/ticket/2149
02:21 Coke oh, hey. Yah, he really should make sure that file passes before he gets his grant $$. :P
02:22 fivetonsflax cotto: if set sets what's in a register, then I found another buglet in m0-spec.  :-)
02:22 plobsing jay: yes. are you looking to resolve it?
02:22 jay Upgrading from 3.3.0 to current and/or upgrading libffi fixed it -- the code was right.  Making progress.
02:22 cotto fivetonsflax, do tell
02:23 jay Maybe bubaflub and I get the thunk generation approach working sooner or later, removing the libffi dependency.
02:23 fivetonsflax it says:
02:23 fivetonsflax set - set a register to a value
02:23 fivetonsflax Set *$1 to whatever is in *$2
02:23 fivetonsflax should the asterisks be deleted?
02:24 fivetonsflax also, dumb question: why did dalek increment me?
02:24 plobsing jay: if you'd like to know whether it was the upgrade or libffi, you can run ./parrot_config has_libffi to determine whether parrot has identified your libffi correclty
02:24 cotto fivetonsflax, I gave you karma in a commit message
02:24 cotto karma fivetonsflax
02:24 aloha fivetonsflax has karma of 2.
02:24 jay Just a sec, I'll try that on the old tree.
02:24 fivetonsflax oh, neat; thanks.
02:24 Topic for #parrot is now Parrot 3.5.0 "Menelaus" released | http://parrot.org | Log: http://irclog.perlgeek.de/parrot/today | #parrotsketch meeting Tuesday 1930 UTC
02:26 jay AH: nope, it didn't.  Easier still.  Interesting, I actually did have libffi installed, but didn't have the libffi-dev (which I added).
02:27 cotto kid51, looks like that's a fairly straightforward problem with the test.
02:27 plobsing I don't recall how parrot detects libffi, but I suspect you need the dev package for it to work
02:28 jay That must be it.  Should I propose a note on that somewhere (like the main README which has the installation instructions)?
02:29 plobsing jay: you should probably communicate that requirement somewhere. how you do that is up to you and how you expect to interact with your users.
02:30 dalek parrot/soh-cah-toa/hbdb: c446c23 | soh_cah_toa++ | src/hbdb.c:
02:30 dalek parrot/soh-cah-toa/hbdb: Added "short_help" field to hbdb_cmd_t so that the one argument form of "help" displays a short description of each command.
02:30 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/c446c23939
02:30 dalek parrot/soh-cah-toa/hbdb: 3bfaed0 | soh_cah_toa++ | src/hbdb.c:
02:30 dalek parrot/soh-cah-toa/hbdb: Added handling of two argument form of "help" command.
02:30 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/3bfaed0549
02:31 jay Ok, willdo.  Wasn't sure how common a problem this might be with other people.  Maybe my bad luck.
02:32 cotto That test is lta.
02:32 fivetonsflax whoops, found another:
02:32 fivetonsflax div_n - divide two numeric registers
02:32 fivetonsflax Treat *$2 and $*2 as integer or floating-point values, [...]
02:32 bubaflub jay: i'm checking at build time if Parrot has been configured with libffi, for what it's worth
02:32 cotto dukeleto, ping
02:33 bubaflub jay: right around https://github.com/bubaflub/parrot​-gmp/blob/master/setup.winxed#L72
02:33 fivetonsflax that's two for the price of one, in fact :-)
02:33 jay bubaflub: yes, I saw that.  Spent quite a bit of time in various places of your tree, actually.  Thx
02:34 bubaflub jay: haha, great.  by the way, this week for my project i'm going to focus on generating those NCI thunks; i'll have a write up for you assuming life doesn't interfere hopefully by Sat.
02:35 cotto fivetonsflax, what a strange typo
02:35 fivetonsflax you can find a few more by finding "$*" within the document.
02:35 jay Would be very interesting.  I'm writing a perl script to do my dirty work right now...
02:36 dukeleto cotto: pong
02:36 cotto dukeleto, the Parrot_api_get_exception_backtrace test in t/src/embed/api.t is wacky.  Can you fix it to not pass Parrot_str_t to printf("%s",...);
02:37 cotto dukeleto, it also printfs backtrace twice, which doesn't seem like dtrt
02:37 cotto (and doesn't check its output)
02:37 dukeleto cotto: yes, meant to fix that. The printfs can just be removed and the test will pass
02:38 cotto dukeleto, shouldn't it check some kind of output?
02:38 dukeleto cotto: the test didn't before I got to it, but it would be nice if it did
02:39 nopaste "plobsing" at 192.168.1.3 pasted "Common.winxed" (53 lines) at http://nopaste.snit.ch/59803
02:40 plobsing dukeleto: you are somewhat on the right track. nopaste above gives how I would do it.
02:40 dalek rakudo/nom: f84edb1 | Coke++ | t/spectest.data:
02:40 dalek rakudo/nom: add a failure reason.
02:40 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f84edb1406
02:40 dalek parrot/m0-spec: 6085d65 | cotto++ | docs/pdds/draft/pdd32_m0.pod:
02:40 dalek parrot/m0-spec: fix another batch of typos, courtesy of fivetonsflax++
02:40 dalek parrot/m0-spec: review: https://github.com/parrot/parrot/commit/6085d65411
02:42 plobsing important things to note: (1) 'git_odb *db' does not qualify as a nested struct, it is a struct pointer, (2) nested structs are represented by buffers, which use the sized datatype, not the struct datatype, (3) bits can be represented by the uint1 datatype (also its alias 'bit')
02:49 cotto dukeleto, fixed
02:49 dalek parrot: 5718bb9 | cotto++ | t/src/embed/api.t:
02:49 dalek parrot: fix an embed API test
02:49 dalek parrot: review: https://github.com/parrot/parrot/commit/5718bb97e1
02:52 dalek website: bubaflub++ | Parrot-GMP: VTABLE Overrides complete
02:52 dalek website: http://www.parrot.org/content/par​rot-gmp-vtable-overrides-complete
02:53 dalek rakudo/nom: e4f9e45 | Coke++ | t/spectest.data:
02:53 dalek rakudo/nom: minor test failure reasons updates.
02:53 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e4f9e455d7
02:59 kid51 hllmap_fixed branch make test PASS on darwin/ppc: http://smolder.parrot.org/app/​projects/report_details/17479
02:59 kid51 left #parrot
03:07 dalek TT #2149 closed by jkeenan++: t/src/embed/api.t
03:07 dalek TT #2149: http://trac.parrot.org/parrot/ticket/2149
03:09 dukeleto cotto++
03:10 cotto It makes me sad that the test passed on the C build.
03:11 dukeleto cotto: yeah, i always develop on c++ now because of stuff like that.
03:17 lichtkind left #parrot
03:18 * benabik makes g++ his default build
03:21 fivetonsflax cotto, looks like you did some rewriting on "hello, world".
03:22 cotto fivetonsflax, yes.  I realized that that code hadn't been updated in a while.
03:24 fivetonsflax Cool.  The comment still says "$I0 is 0", but now at least all the opcodes you're using are defined.
03:24 fivetonsflax So -- how can I help you move the ball forward?  Typo hunting is fun and easy, but not, I think, all that meaningful in the scheme of things.
03:27 cotto A lot of the work has to do with finding and plugging holes in the functionality of M0.  When it's complete, it should be possible to do anything that C can do in M0.
03:27 cotto aloha, m0 todo?
03:27 aloha cotto: Dunno.
03:27 cotto aloha, m0 todo is https://gist.github.com/1019986
03:27 aloha cotto: Okay.
03:28 fivetonsflax interesting.
03:28 cotto that's the list of things that remain to be done.
03:31 dalek parrot-libgit2: bed9503 | dukeleto++ | s (2 files):
03:31 dalek parrot-libgit2: Fix a syntax error in setup.winxed and correct the path to our source files
03:31 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/bed95034b3
03:35 cotto fivetonsflax, I'm using that gist primarily as a way to keep track of what I need to do, but you're welcome to ask questions and jump in if anything intrigues or makes sense to you.
03:37 fivetonsflax cotto, I'm reading the discussion of pointers linked from there.  The parts I understand are interesting.
03:38 fivetonsflax seems to be largely about m1, though
03:39 cotto fivetonsflax, yes but it's also important that M0 support whatever mole needs.
03:39 cotto (mole a.k.a m1)
03:39 * fivetonsflax nods
03:40 fivetonsflax so if I understand this right ...
03:40 fivetonsflax m1/mole is to take the place of something called PIR?
03:41 fivetonsflax which is ... taking a wild stab here ... Parrot Intermediate Representation?
03:41 soh_cah_toa fivetonsflax: have you read the m0 glossary?
03:41 cotto not quite.  mole will take the place of the majority of C as it's used to implement Parrot's internals
03:41 soh_cah_toa it clears up a lot of confusion
03:42 cotto PIR will continue to be supported as-is, though the underlying implementation will be in mole (therefore M0) rather than C.
03:42 fivetonsflax aloha, m0 glossary?
03:42 aloha fivetonsflax: I have no idea.
03:42 cotto soh_cah_toa, are you referring to the beginning of the m0 spec?
03:43 soh_cah_toa cotto: it's a gist. actually, i think it's called "glossy" which i assumed was short for glossary
03:43 cotto soh_cah_toa, ah.  "glossy" is short for "glossy brochure"
03:45 soh_cah_toa fivetonsflax: https://gist.github.com/1022340
03:45 fivetonsflax thank you
03:45 cotto aloha, m0 glossy?
03:45 aloha cotto: m0 glossy is a brief self-contained glossy brochure-like introduction to M0 or https://gist.github.com/1022340 (draft)
03:46 fivetonsflax glossy refers to PIR as built directly on m0
03:47 fivetonsflax i.e. as an example of something which could be called m1
03:47 fivetonsflax is that conception outdated?
03:48 cotto I'd say so.  The more M0 I write, the more I want mole to become a thing.
03:49 fivetonsflax where mole is something which takes the exclusive role of m1 and bumps everything else, PIR included and especially, up to m2.
03:49 fivetonsflax is that it?
03:50 cotto not necessarily exclusive, but yet
03:50 cotto *yes
03:50 cotto It'll be the first thing at the M1 level.
03:50 cotto There may or may not be others.
03:51 dalek parrot-libgit2: d8d7c2f | dukeleto++ | t/harness:
03:51 dalek parrot-libgit2: Fix the path to the tests in our harness
03:51 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/d8d7c2f3d8
03:52 fivetonsflax and the last Q/A in the glossy -- are you saying you're going to write a C-to-mole compiler to allow Parrot guts to compile unmodified or at worst slightly modified?
03:54 cotto fivetonsflax, my usage of the word "template" there caused someone else confusion too.  I don't anticipate a C to M0 compiler.  The translation from C to mole (or whatever language compiles to M0) will be a manual process.
03:54 fivetonsflax phew.
03:56 cotto Neither option is especially attractive, but writing a C compiler sounds harder than reimplementing existing code in another langauge.
03:56 fivetonsflax hence my "phew"
03:56 cotto yup
03:58 theory joined #parrot
03:59 fivetonsflax so is mole to look more like an HLL and less like disassembled bytecode?
04:00 fivetonsflax and ... pardon me if this is a dumb question, but why can't PIR be mole?
04:00 fivetonsflax I figure if I can get good answers to these questions out of you, I can write you a patch against the glossy to document your current thinking.
04:01 fivetonsflax and if I can't get good answers, then you'll know where you have some more thinking to do.
04:01 cotto so, win/win
04:02 cotto mole will be about as high-level as C
04:02 cotto I'm not sure what you mean by PIR being mole.
04:02 fivetonsflax what I mean is -- mole's an intermediate representation, right?
04:03 cotto no, mole is a language that we'll be writing directly.
04:03 fivetonsflax ah, and that's what you'll be hand-translating the C code into?
04:03 cotto exactly
04:03 fivetonsflax so Parrot will be written in mole
04:04 cotto substantially
04:04 cotto Some important systems like the runloop, GC and ffi will have to stay in C.
04:06 fivetonsflax and you're implementing m0 in perl5?
04:06 fivetonsflax I guess that's just a prototype?  Do you know what you'll use for a final reference implementation?
04:06 cotto That's the prototype we're building to shake out bugs in the spec and demonstrate that it's viable.
04:06 cotto C
04:14 soh_cah_toa cotto: regarding exceptions, have you considered using multiple return values?
04:14 soh_cah_toa like lua w/ the pcall()
04:15 sorear oops, I forgot to write mole yesterday
04:17 cotto soh_cah_toa, I think it will naturally fall out of the use of macros (or composed ops) for control flow.
04:18 soh_cah_toa ok cool
04:18 Kulag left #parrot
04:19 dukeleto blarg. PL/Parrot doesn't seem to even compile anymore due to name conflicts in Postgres internals and Parrot internals
04:19 Kulag joined #parrot
04:19 sorear cotto, how reasonable would it be to prototype mole using something other than C?
04:19 cotto sorear, why?
04:19 sorear dukeleto: are you statically linking both?  have you tried using -fvisibility?
04:20 sorear cotto: trying designs without having to deal with things like "reimplementing hash tables" and "ad-hoc debugging code"
04:20 cotto sorear, I'm fine with that.  C sucks for prototyping.
04:21 soh_cah_toa i thought perl 5 was the prototype and c would be the final implementation?
04:22 cotto soh_cah_toa, mole, not M0
04:22 soh_cah_toa gah, so many m's and 0's
04:22 dukeleto soh_cah_toa: no, i will rtfm about that right now
04:24 Drossel joined #parrot
04:24 cotto soh_cah_toa, I could have called it moo. ;)
04:24 fivetonsflax mo' m0, mo' problems
04:24 soh_cah_toa ha!
04:24 fivetonsflax (there's a high-school econ joke in there too.)
04:25 Kulag left #parrot
04:26 dukeleto ... mo C, mo problems ...
04:30 Drossel left #parrot
04:30 Kulag joined #parrot
04:31 cotto dukeleto, do you have a fork of the m0 glossy?  apparently fivetonsflax is planning on having some feedback.
04:36 dukeleto cotto: nope, i have nothing
04:36 fivetonsflax my first intention is to write a paragraph to clarify the existence and role of mole.
04:39 cotto sorear, ooc, how are you thinking about prototyping mole?
04:40 cotto fivetonsflax, good plan
04:43 dukeleto sorear: this is what I am dealing with: https://github.com/leto/plparrot/issues/35
05:02 sorear cotto: I hadn't fully decided
05:18 contingencyplan joined #parrot
05:22 fperrad joined #parrot
05:32 contingencyplan left #parrot
05:45 soh_cah_toa cotto: i just got the "run" command to work :D
05:45 soh_cah_toa which means that "continue" half works
05:46 * soh_cah_toa could not be any happier
05:47 soh_cah_toa ah...right at the perfect spot to call it a day
05:48 soh_cah_toa left #parrot
06:19 preflex left #parrot
06:22 preflex joined #parrot
06:28 mj41 joined #parrot
06:41 plobsing left #parrot
06:51 mj41 left #parrot
07:02 theory left #parrot
07:38 mj41 joined #parrot
08:18 benabik_ joined #parrot
08:18 benabik left #parrot
08:18 benabik_ is now known as benabik
08:43 rurban_ joined #parrot
08:45 rurban left #parrot
08:46 rurban_ is now known as rurban
08:50 dalek rakudo: aeb12bb | moritz++ | build/Makefile.in:
08:50 dalek rakudo: "git fetch" in t/spec, because it might be too old know about revision a14ba49
08:50 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/aeb12bbb32
08:51 ligne left #parrot
09:25 ligne joined #parrot
09:39 mikehh joined #parrot
09:43 dalek parrot: ff85543 | mikehh++ | src/dynext.c:
09:43 dalek parrot: fix codetest failure - trailing whitespace
09:43 dalek parrot: review: https://github.com/parrot/parrot/commit/ff85543386
09:43 dngor left #parrot
09:59 contingencyplan joined #parrot
10:02 daniel-s left #parrot
10:06 contingencyplan left #parrot
10:14 daniel-s joined #parrot
10:20 daniel-s_ joined #parrot
10:20 daniel-s left #parrot
10:25 daniel-s__ joined #parrot
10:25 daniel-s_ left #parrot
10:30 _daniel-s__ joined #parrot
10:32 daniel-s__ left #parrot
10:35 mikehh t/pmc/packfileview.t is failing in make corevm/make coretest - passes make test after make world
10:36 daniel-s joined #parrot
10:37 mikehh t/pmc/packfileview.t - Failed test:  5 - Non-zero wait status: 11 - Parse errors: Bad plan.  You planned 8 tests but ran 5.
10:37 _daniel-s__ left #parrot
10:38 mikehh that looks like a Segfault - something missing dependency wise
10:41 daniel-s_ joined #parrot
10:41 daniel-s left #parrot
10:46 daniel-s__ joined #parrot
10:47 daniel-s_ left #parrot
10:51 _daniel-s__ joined #parrot
10:52 daniel-s__ left #parrot
10:57 daniel-s joined #parrot
10:58 _daniel-s__ left #parrot
11:02 daniel-s_ joined #parrot
11:03 daniel-s left #parrot
11:06 ambs joined #parrot
11:07 daniel-s__ joined #parrot
11:08 daniel-s__ left #parrot
11:10 daniel-s_ left #parrot
11:10 mikehh t/pmc/packfileview.t FAILs in make corevm/make coretest
11:10 mikehh all other tests PASS (pre/post-config, make corevm/make coretest, smoke (#17502), fulltest) at 3_5_0-168-gff85543
11:10 mikehh Kubuntu 11.04 amd64 (g++)
11:21 SHODAN joined #parrot
11:25 JimmyZ joined #parrot
11:36 PerlJam left #parrot
11:36 tadzik left #parrot
11:36 Util left #parrot
11:36 pmichaud left #parrot
11:40 mtk left #parrot
11:46 mtk joined #parrot
11:46 ambs left #parrot
11:46 PerlJam joined #parrot
11:46 tadzik joined #parrot
11:47 Util joined #parrot
11:47 pmichaud joined #parrot
11:56 daniel-s joined #parrot
11:59 ambs joined #parrot
12:00 daniel-s_ joined #parrot
12:02 daniel-s left #parrot
12:05 daniel-s__ joined #parrot
12:06 daniel-s_ left #parrot
12:10 _daniel-s__ joined #parrot
12:11 _daniel-s__ left #parrot
12:13 daniel-s__ left #parrot
12:13 daniel-s joined #parrot
12:18 daniel-s_ joined #parrot
12:21 daniel-s left #parrot
12:24 daniel-s__ joined #parrot
12:24 daniel-s_ left #parrot
12:25 smash joined #parrot
12:25 smash hello everyone
12:33 whiteknight joined #parrot
12:34 whiteknight good morning, #parrot
12:38 * whiteknight is running smoke on win64 again
12:39 whiteknight the results should be a little better than yesterday
12:44 bluescreen joined #parrot
12:46 daniel-s__ left #parrot
12:47 daniel-s joined #parrot
12:48 daniel-s left #parrot
12:50 PerlJam left #parrot
12:52 PerlJam joined #parrot
13:07 bubaflub ~
13:08 whiteknight ah, okay. I've figured out why t/library/nciutils.t is failing on windows
13:08 tadzik hi bubaflub
13:08 bubaflub hi tadzik.  how's the project going?
13:10 tadzik very nice. I've implemented tables recently, which was probably the toughest part of the project so far. Everything's progressing nicely :) How is yours?
13:11 bubaflub Sounds great!  Mine is doing well - slightly ahead of schedule.
13:11 dngor joined #parrot
13:11 tadzik cool :)
13:12 tadzik I've had a little bit of blockers on my way recently, mostly the serialization stuff and the infamous "bouble bacon" bug
13:13 tadzik erm, * double
13:13 daniel-s joined #parrot
13:13 daniel-s left #parrot
13:13 moritz luckily pmichaud and jnthn__ were helpful there... still it costed time
13:14 tadzik yeah
13:14 tadzik it was one funny experience too :)
13:15 jnthn__ tadzik++ was really the first consumer of the SC stuff besides the original implementor :)
13:16 * jnthn__ looks forward to implementing the full-blown serialization
13:16 bubaflub reminder for GSoC people - the mid-term evaluations are due by the end of this week.
13:16 tadzik jnthn__: I wrote a plenty of helpers for this in some recent commit of mine
13:17 tadzik subs like serialize_array(), serialize_object(), which would probably be removed once we have it
13:17 jnthn__ yeah
13:17 jnthn__ the real thing will probably involve the reprs helping out
13:24 dalek TT #2148 closed by whiteknight++: t/pmc/nci.t fails on windows
13:24 dalek TT #2148: http://trac.parrot.org/parrot/ticket/2148
13:25 whiteknight what's the double-bacon bug?
13:26 tadzik my $a = Array.new("bacon"); say $a printed "bacon bacon"
13:26 tadzik if the Array was reified by something external it was reified twice, or something of this sort
13:26 dalek parrot: 7a695c0 | Whiteknight++ | t/dynpmc/os.t:
13:26 dalek parrot: t/dynpmc/os.t passes all tests on win32, so remove TODO marker
13:27 dalek parrot: review: https://github.com/parrot/parrot/commit/7a695c0d2d
13:27 tadzik pmichaud++ was able to fix it quite quickly
13:27 moritz but I have to say that "double bacon bug" is quite a cool name, compared to most other software bugs :-)
13:31 whiteknight msg plobsing when you get a chance can you look at TT #2150? passing PMCNULL as the first arg to dlfunc creates problems because windows can't really (that I can find) duplicate the behavior on linux.
13:31 aloha OK. I'll deliver the message.
13:40 dalek TT #2150 created by whiteknight++: t/library/nciutils.t fails on windows
13:40 dalek TT #2150: http://trac.parrot.org/parrot/ticket/2150
13:43 plobsing joined #parrot
13:57 daniel-s joined #parrot
14:02 daniel-s_ joined #parrot
14:03 daniel-s left #parrot
14:04 daniel-s_ left #parrot
14:05 whiteknight I'm going to submit another smoke report for the platform
14:06 daniel-s joined #parrot
14:08 daniel-s_ joined #parrot
14:11 jay mmm... bacon...   good morning, #parrot!
14:12 daniel-s__ joined #parrot
14:12 daniel-s left #parrot
14:13 whiteknight good morning jay
14:14 daniel-s_ left #parrot
14:14 jay morning whiteknight!
14:15 daniel-s__ left #parrot
14:15 whiteknight how are you doing today?
14:16 hercynium_ joined #parrot
14:16 jay Great (I think).  Exploring bubaflub's stuff.  As I understand it, the GMT thingy is a 'package'?  Is a 'package' technically a kind of HLL, but designed for the purpose of providing the low-level bindings?
14:17 whiteknight package? I'm not sure what that word would mean. HLL is typically only used to separate out semantics for different programming languages, not language-neutral libraries like GMP
14:18 whiteknight GMP probably just uses a regular namespace to organize itself under the generic "parrot" HLL
14:18 bubaflub jay: not exactly - i have low level (PIR) bindings to all of the functions in GMP then i have a more Object Oriented wrapper in Winxed for the Integer functions
14:19 jay Ah, then my memory is fuzzy.  I see now that the term 'package' was used at the top of the .nci files... not a parrot term.
14:19 whiteknight yes, our terminology needs to become much more consistent in many places
14:22 jay bubaflub: good morning!  (should have said that, first...)
14:22 bubaflub jay: that is correct - i've namspaced all my PIR binding functions
14:22 bubaflub jay: though i doubt it will clobber any others, i'd rather not put everything into the global namespace
14:23 jay bubaflub: does your setup.pir actually generate setup.winxed?
14:23 bubaflub jay: well, that's not *entirely* true - the GMP Integer functions do go into the global namespace - but that's because that's how the C library works
14:23 bubaflub jay: all of the PIR included in the repo is generated from the corresponding Winxed files
14:24 jay So I need to look up .annotate
14:25 bubaflub jay: annotate is pretty general - allows you to just to store some value per key
14:25 whiteknight .annotate just includes some metadata at certain places in a file. It's mostly used for things like associating file/line information in generated files
14:25 bubaflub jay: in generated PIR from winxed, annotate will tells us what line from the original Winxed source a line or several lines of PIR correspond to
14:26 jay AH.  Thanks.  I had been guessing that the PIR was generating the winxed file and that .annotate was like a write...
14:27 Coke left #parrot
14:27 Coke joined #parrot
14:27 bubaflub jay: nope.  I use Winxed because the syntax is a bit cleaner and OO stuff is *much* easier.  you can generate pir from winxed by running `winxed -o output.pir -c input.winxed`
14:27 jay bubaflub: and I hadn't looked at the winxed (trying to avoid looking at yet another language).  I see now.
14:28 whiteknight Winxed is highly inspired by things like JavaScript and C++. It should be readable if you have background in either of those
14:29 jay Interesting.  I was about to write a perl script to generate a pir file.  Would probably suffice for a basic working version, but in the long term might be a waste of time.
14:30 bubaflub jay: one of my scripts, in bin/gmpdoc2winxed.pl does something simliar - it reads the GMP docs (as a single file of HTML) and generates basic the Winxed class
14:30 autark joined #parrot
14:32 NotFound whiteknight: and C# too
14:32 whiteknight oh, okay
14:33 NotFound The modifier syntax is borrwed from C# attributes
14:33 jay Hmm...  so I have a script that parses the GMT header files together with the output of 'nm', giving me the information I need for the function signatures.  Productive day.  Maybe I should stop coding and spend more time thinking about the next steps.  Looks like I have a good example to consider following in GMP.
14:33 jay correction... first line, GMT should have been GSL.
14:35 dukeleto ~~
14:36 dukeleto jay: great to hear
14:36 dukeleto bubaflub: the nested structs in libgit2 are FIERCE
14:37 daniel-s joined #parrot
14:37 bubaflub dukeleto: i saw that - if you never need to poke at the guts of the struct, you might be able just to get away with a PTR
14:37 bubaflub (that's how i dealt with the GMP Random struct)
14:38 bubaflub jay: yeah, parsing the header is always tricky as each project does it a bit differently.  but once you've got your function signatures, you can get an NCI def which gets you PIR bindings.
14:38 PacoLinux left #parrot
14:38 dukeleto bubaflub: hmm. Sounds interesting, but I am assuming that when I create a new git_repository object, some initialization code will want structs to actually be structs, or bad things will happen
14:39 jay dukeleto: sorry I'm so slow.  But I think I can get this GSL thing going, anyway.  Maybe even finished.
14:39 dukeleto bubaflub: also, libgit2 headers are harder to parse, so my nci file is still LTA
14:42 PacoLinux joined #parrot
14:45 dukeleto jay: no apologies needed. Work at whatever pace keeps you from burning out.
14:46 cotto ~~
14:46 dukeleto jay: "finished" is a big word. I started hacking on the Math::GSL perl module many years ago, and it still isn't "finished"
14:46 jay lol  fair enough.  Ok, modest goal: finished enough so I have access to all of the statistics bindings so I can use them in NQR.
14:47 dukeleto jay: some parts of GSL are very easy to bind to (stuff with simple function sigs). Some is very hard (wacky function sigs)
14:47 dukeleto jay: exactly which stats bindings? CDFs? PDFs? Others?
14:47 bubaflub dukeleto: yeah, that's true.  my random struct was a unique case - there is a unique struct and then type itself is #defined as an 1 item array.  that's why i can fudge my struct.
14:47 jay dukeleto: all the statistics bindings are easy, yes things like CDFs and PDFs and random number generation.
14:48 jay I can see why others would be more difficult, though.
14:48 bubaflub jay: passing things by reference require some extra care, and i haven't done bindings for functions with varargs yet.
14:48 jay "easy" probably means "easy for guys like you" and "I think I can do it and will learn a lot in the process."
14:49 dukeleto jay: yes :)
14:49 dukeleto jay: pdf, cdf and special functions are the simplest subsystems. RNGs are slightly harder because then you need to deal with some structs
14:50 dukeleto jay: also, special functions come in two flavors, "plain" which just returns a number, and "result" which returns a result struct with error/accuracy information
14:50 dukeleto jay: you can get away with just the plain version, probably
14:51 dukeleto jay: when you are bored with stats functions, try for the FFT stuff :) I still need to make those work in Perl 5.
14:52 tadzik huh, I seem to get compilation error on parrot mater
14:52 tadzik http://wklej.org/id/560947/
14:52 dukeleto jay: i didn't have anybody to help me with Math::GSL. I had to reinvent many a wheel. You have bubaflub++ and me to guide you :)
14:53 jay I think I'll be better off ignoring this for now if it isn't an issue in the statistics functions.  AH: I see now that the random number generation stuff is not inside statistics.  Good to be aware of, though, thanks.
14:53 dukeleto tadzik: does that persist after a "git clean -fdx" and a reconfig ?
14:53 dukeleto tadzik: make sure you don't have any files laying around that you want, of course
14:54 dukeleto jay: yes, there is rng and qrng in gsl
14:54 dukeleto jay: is your code on github yet?
14:54 dukeleto jay: we publish early and often. "publish or perish" is taken very seriously in our circles :)
14:55 tadzik dukeleto: seems that make clean fixed it
14:55 dukeleto tadzik: yeah, partial recompiles occasionally will have gremlins. It is the price we pay for progress.
14:55 jay https://github.com/NQRCore.  I hope my ex-grad student Mike will be helping on some things eventually, but at the moment everything here is my fault.
14:56 dukeleto jay: congrats! the first step is accepting fault ;)
14:57 jay Coding with a sense of humor is much better for the ego than taking it too seriously.
14:57 dukeleto jay: very cool! you have a github org. would you like for commits in those repos to be announced in here?
14:57 logie joined #parrot
14:58 jay Nah, give me a few days.  !_)  Thanks, though, I will at some point fairly soon.
15:00 dukeleto jay: don't be shy. We are all very excited that you are developing on top of parrot, and announcing commits in here helps everyone see activity and make suggestions. But of course, when you are ready.
15:01 dukeleto jay: when you are ready. On each github repo, go to: Admin -> Service Hooks -> Post-receive URLS : then add http://host04.appflux.net:​5000/dalek?t=magnet,parrot
15:02 dukeleto jay: my parrot-libgit2 project isn't even close to functional, but I still announce commits in here, just for reference :)
15:02 jay I'd be pretty happy if I had the binding for GSL:statistics done in GSL and working in NQR.
15:03 jay That is, a 'stable' master that isn't silly and doesn't barf.
15:03 jay Right now, it's silly and barfs, two for the price of one.
15:04 whiteknight it's easier to do them together
15:04 dalek parrot: 729a5d6 | NotFound++ | t/src/embed/api.t:
15:04 dalek parrot: main must return
15:04 dalek parrot: review: https://github.com/parrot/parrot/commit/729a5d66e7
15:04 dukeleto jay: yep. parrot-libgit2 is quite barfy right now as well. libgit2 has about 17 levels of nested structs that parrot-libgit2 has to understand before a single function call works
15:04 bubaflub dukeleto: but once that's done...
15:05 dukeleto WORLD DOMINATION
15:05 dmalcolm joined #parrot
15:06 dukeleto i think gsoc midterms are going on now
15:06 dukeleto I should be on top of that.
15:06 whiteknight oh yes, I think we should send out an email about that
15:06 moritz aye, you should :-)
15:07 NotFound Is a wonder that imcc even works. I've just located a bunch of dead code.
15:08 whiteknight which code?
15:09 jsut joined #parrot
15:09 NotFound push_namespace, pop_namespace, the member namespace_stack in _imc_info_t
15:10 NotFound And the place that checked that such member is not null, because is alway null.
15:11 NotFound And some unneeded string copies based on that
15:11 plobsing dukeleto: I'm not sure if you've seen my pull-request on parrot-libgit2. turns out you don't need to implement all of the structs (git_repository included) because they are implementation details
15:12 nopaste "NotFound" at 192.168.1.3 pasted "kill_imcc__namespace_stack.patch" (161 lines) at http://nopaste.snit.ch/59960
15:12 NotFound Here is
15:14 jsut_ left #parrot
15:18 dukeleto plobsing: oooh, i didn't see it yet
15:18 dukeleto NotFound++ # gutting imcc
15:20 theory joined #parrot
15:21 NotFound Not sure, but it looks like this patch improves a lot the speed of make test
15:21 dukeleto plobsing: looking at your pr now
15:22 bubaflub NotFound++
15:22 dukeleto NotFound: if make fulltest passes, i suggest commiting that patch to master
15:22 moritz so many - and so few +? I like that patch :-)
15:23 NotFound Rebuliding now to measure i
15:23 NotFound it
15:23 bubaflub i dunno - aren't we cutting a release soon?  might want to run it by the release manager first
15:25 dukeleto next tuesday is the release, right? A week out doesn't seem too soon, especially if we are just deleting unused code
15:25 NotFound bubaflub: I think that if someone is abusing imcc internals outside of parrot core, he or she deserves anyhhing.
15:25 bubaflub NotFound: true
15:25 dukeleto also, this code is purely internal, nobody outside parrot core should ever think about touching it
15:25 dukeleto plobsing: you are amazing! It is like the code fairy came to visit me and left me passing tests under my pillow :)
15:27 whiteknight dukeleto: and you're only missing a few teeth!
15:27 NotFound Uh... not as much, but measurable: 140 wallclock secs vs 142 unpatched
15:28 jay Need to go and give a lecture.  Back later.
15:28 bubaflub NotFound: 1.4% speed up?
15:29 whiteknight lots of little things add up
15:29 theory left #parrot
15:29 NotFound Doing again to be more sure.
15:30 dukeleto even a 1% speedup for deleting some code is quite a bargain
15:30 NotFound Even a 0%
15:33 hercynium_ is now known as hercynium
15:33 dukeleto plobsing: just wondering, did you use the 'development' branch of libgit2, or a tagged version ? i.e. which version of the header files were you looking at?
15:34 dalek parrot-libgit2: 1e7760d | plobsing++ | src/Git2/Common.winxed:
15:34 dalek parrot-libgit2: provide structview bindings for all public API structs
15:34 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/1e7760d3f3
15:34 dalek parrot-libgit2: aa5d936 | plobsing++ | t/001_load.pir:
15:34 dalek parrot-libgit2: update test with working git_repository_open() calls
15:34 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/aa5d936018
15:34 dalek parrot-libgit2: aa58775 | plobsing++ | src/Git2/Common.pir:
15:34 dalek parrot-libgit2: remove generated file from repo
15:34 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/aa58775c5d
15:34 dalek parrot-libgit2: d723067 | dukeleto++ | / (3 files):
15:34 dalek parrot-libgit2: Merge pull request #1 from plobsing/master
15:34 dalek parrot-libgit2:
15:34 dalek parrot-libgit2: struct definitions and correct repository open
15:34 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/d723067fee
15:34 cotto NotFound++ # great patch
15:34 whiteknight NotFound++ has been kicking butt lately in the patch department
15:34 dalek parrot-libgit2: 7d2b729 | dukeleto++ | CREDITS:
15:34 dalek parrot-libgit2: Remove junk from CREDITS
15:34 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/7d2b72910d
15:35 dukeleto whiteknight: did you see the rosella issue I created?
15:35 dukeleto whiteknight: also, i am looking for a way to package rosella along with a project, so it isn't an external dep
15:36 NotFound The funny thing is that I was looking for the make coretest problem reported by mikehh, failed to solve but got in instead.
15:36 dukeleto whiteknight: i attempted to copy all rosella.pbc files into my repo, but rosella still attempts to load pbc files from a different path
15:36 dukeleto whiteknight: is there a way you can create a single-pbc version of rosella? Or make it easy for people to include rosella wholesale into another repo ?
15:36 whiteknight dukeleto: try "rm -rf rosella"
15:37 whiteknight delete the generated .pbc files
15:37 dukeleto whiteknight: hmm. i thought i did a "git clean -fdx" but I will try with a fresh repo on another machine
15:37 whiteknight git clean -xdf should work fine too
15:38 whiteknight it attempts to bootstrap the distutils library wrapper, and if you updated Parrot things can become incompatible
15:38 dukeleto whiteknight: yeah, that is what happened.
15:38 whiteknight I really need to figure out how to detect that and work around it
15:38 dalek parrot: 09a73a7 | NotFound++ | compilers/imcc/ (3 files):
15:38 dalek parrot: delete some imcc dead code in its namespace and symbols handling
15:38 dalek parrot: review: https://github.com/parrot/parrot/commit/09a73a72ad
15:38 bubaflub whiteknight: i ran into that exact problem as well
15:38 whiteknight or, maybe I should stop bootstrapping
15:40 plobsing dukeleto: I used whatever the libgit2-git AUR package uses. checking...
15:40 dalek Rosella: 092461d | Whiteknight++ | setup.winxed:
15:40 dalek Rosella: Don't bootstrap, until I can figure out the problems with it
15:40 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/092461d74e
15:41 whiteknight dukeleto: I can try to put together a complete one-stop binary for you. What libraries do you need specifically?
15:41 whiteknight all of them, or only a few?
15:42 dalek Heuristic branch merge: pushed 44 commits to nqp/qregex by pmichaud
15:42 plobsing dukeleto: yes, I used the development branch of libgit2.
15:47 dalek parrot-libgit2: 766435c | dukeleto++ | / (3 files):
15:47 dalek parrot-libgit2: Give our test a .t extension and gitignore some generated files
15:47 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/766435c4a9
15:47 dukeleto plobsing: awesome
15:48 dukeleto whiteknight: i really only need the test harness stuff currently
15:48 whiteknight dukeleto: It tries to load libraries from the path "rosella/<libname>.pbc", so if you have a "rosella" subdir in your dev environment, or if you install the rosella .pbc files globally it should all work
15:48 whiteknight dukeleto: Sure thing. I'll bundle up the Test, Harness, and MockObject stuff into a standalone library
15:48 dukeleto whiteknight: ah. I attempted to put stuff in ext/rosella and it barfed
15:48 dukeleto whiteknight: that would be hella useful
15:48 whiteknight will do
15:52 dod left #parrot
15:53 NotFound You can use the env var PARROT_LIBRARY in such cases
15:54 dukeleto woooooot. parrot-libgit2 has passing tests!
15:54 dalek parrot-libgit2: c6c69b1 | dukeleto++ | t/ (3 files):
15:54 dalek parrot-libgit2: Create test directories for PIR and Winxed tests and tell the harness which is which
15:54 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/c6c69b1ca1
15:55 NotFound Out for a while
15:55 NotFound left #parrot
15:55 dukeleto plobsing++ # libgit2 code fairy
15:56 dalek website: rohit_nsit08++ | corellaScript : git push
15:56 dalek website: http://www.parrot.org/cont​ent/corellascript-git-push
16:04 benabik_ joined #parrot
16:04 benabik left #parrot
16:04 benabik_ is now known as benabik
16:04 daniel-s left #parrot
16:07 theory joined #parrot
16:07 dalek Rosella: ab0e4ed | Whiteknight++ | s (3 files):
16:07 dalek Rosella: Add a new set node to be able to set a value to a new named temporary.
16:07 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/ab0e4ed02d
16:11 daniel-s joined #parrot
16:12 NotFound joined #parrot
16:13 cotto_work ~~
16:15 daniel-s left #parrot
16:23 JimmyZ left #parrot
16:29 simcop2387 left #parrot
16:29 zby_home joined #parrot
16:30 simcop2387 joined #parrot
16:34 Eclesia joined #parrot
16:34 Eclesia hi
16:35 darbelo_ joined #parrot
16:35 darbelo left #parrot
16:43 rurban_ joined #parrot
16:45 rurban left #parrot
16:45 rurban_ is now known as rurban
16:49 dalek parrot-libgit2: 1b5d760 | dukeleto++ | README.md:
16:49 dalek parrot-libgit2: Update the readme
16:49 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/1b5d760f03
16:50 benabik #ps moved forward an hour starting this week, yes?
16:51 dukeleto benabik: methinks yes
16:52 dalek parrot-libgit2: f5dc4b2 | dukeleto++ | README.md:
16:52 dalek parrot-libgit2: Be more specific in our readme
16:52 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/f5dc4b264c
17:01 mj41 left #parrot
17:01 contingencyplan joined #parrot
17:08 Coke benabik: see the calendar linked to off the main parrot site.
17:31 dalek nqp: ad0564e | benabik++ | tools/build/Makefile.in:
17:31 dalek nqp: [install] Create all directories before use
17:31 dalek nqp:
17:31 dalek nqp: This mostly matters if someone is using DESTDIR
17:31 dalek nqp: review: https://github.com/perl6/nqp/commit/ad0564e9ce
17:31 dalek nqp: 9764cc7 | benabik++ | tools/build/Makefile.in:
17:31 dalek nqp: [Makefile] Remove NQP_LANG_DIR variable
17:31 dalek nqp:
17:31 dalek nqp: It doesn't seem to be used anywhere.
17:31 dalek nqp: review: https://github.com/perl6/nqp/commit/9764cc7e1c
17:31 dalek nqp: 845d921 | moritz++ | tools/build/Makefile.in:
17:31 dalek nqp: Merge pull request #17 from Benabik/master
17:31 dalek nqp:
17:32 dalek nqp: make install fixes
17:32 dalek nqp: review: https://github.com/perl6/nqp/commit/845d921b05
17:37 mj41 joined #parrot
17:45 cotto_work #ps in 1:45
17:45 sorear #ps is on Mondays now?
17:46 Coke shouldn't be, no.
17:46 sorear oh
17:46 jnthn__ sorear: it's...Tuesday :)
17:46 Coke oh, I assumed I had screwed up the parrot.org calendar. ;)
17:47 NotFound the whole day down, down, down...
17:48 Coke whiteknight++ #try to, instead of try and
17:50 whiteknight ???
17:56 Eclesia hi whiteknight, quick question : are there some zip utility classes in rosella ?
17:59 whiteknight no Zip in rosella.  There is a gziphandle PMC type in parrot
17:59 whiteknight it's a separate library, but it ships with Parrot
18:00 Eclesia ok
18:04 dukeleto benabik: nice blarg toats
18:04 atrodo dukeleto++
18:08 rohit_nsit08 joined #parrot
18:12 rohitnsit08 joined #parrot
18:13 mro joined #parrot
18:24 dalek nqp/qregex: b5a80bf | pmichaud++ | src/QRegex/P6Regex/Actions.nqp:
18:24 dalek nqp/qregex: Add named and numbered aliases to subrules.
18:24 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/b5a80bff22
18:24 dalek nqp/qregex: ec4c7a3 | pmichaud++ | src/QAST/Compiler.nqp:
18:24 dalek nqp/qregex: Refactor regex_peek; make it easier to recover backtracking frame information.
18:24 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/ec4c7a34ad
18:24 dalek nqp/qregex: 22b4fa8 | pmichaud++ | src/Q (2 files):
18:24 dalek nqp/qregex: Add subcaptures.
18:24 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/22b4fa8ff3
18:25 dalek rakudo/nom: a9511b9 | jonathan++ | src/Perl6/SymbolTable.pm:
18:25 dalek rakudo/nom: Flesh out BEGIN-time/CHECK-time handling a bit. While there's a larger refactor to come, this means that at least declarative things in the lexical scope of code run at BEGIN time are visible and/or callable. Main limitation is non-declaratives are not available (so no assigning to variables in outer scopes yet). Still way better than master. :-)
18:25 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a9511b945f
18:27 dalek parrot: 4591566 | cotto++ | / (2 files):
18:27 dalek parrot: Merge branch 'hllmap_fixed'
18:27 dalek parrot: review: https://github.com/parrot/parrot/commit/459156647a
18:29 bluescreen left #parrot
18:34 lucian joined #parrot
18:44 bluescreen joined #parrot
18:52 dalek parrot-libgit2/rosella_harness_bug: 98db75e | dukeleto++ | t/harness:
18:52 dalek parrot-libgit2/rosella_harness_bug: this commit triggers a Null PMC access from Rosella
18:52 dalek parrot-libgit2/rosella_harness_bug: review: https://github.com/letolabs/pa​rrot-libgit2/commit/98db75e50c
18:53 whiteknight ...poop
18:53 whiteknight oh, rosella doesn't handle wildcards
18:54 dukeleto whiteknight: ah
18:54 whiteknight but it should still not throw unhandled  exceptions like that
18:54 dukeleto whiteknight: you still want an issue with the backtrace ?
18:54 whiteknight yeah, sure.
18:54 whiteknight Like I said, it shouldn't fail that poorly
18:57 dukeleto whiteknight: https://github.com/Whiteknight/Rosella/issues/22
18:57 whiteknight thanks
18:57 whiteknight the great thing about having users for the software besides myself is that these kinds of things I would have never tried get shaken out
19:01 dukeleto whiteknight: rosella allowed the parrot-libgit2 and parrot-gmp project to quickly come into existence without having to re-invent the test harness wheel, and that is very valuable
19:03 whiteknight dukeleto: That's exactly the intent of it. Building blocks to get other projects moving faster
19:09 dalek Rosella: 2179dc2 | Whiteknight++ | src/harness/testrun/Factory.winxed:
19:09 dalek Rosella: Fix a typo where we are using the wrong variable to look up the testfile loader.
19:09 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/2179dc26f8
19:10 Eclesia whiteknight: something I'm starting to use more and more for my parser is Reflexion. since I'm not familiar with pir that much and often forget opcodes I wrote a small class for them. manipulating a function is much easier then diving in parrot internal mecanism :D but It must be written by someone who knows parrot well ... which is not my case
19:10 Eclesia so here is the code, if you want to improve it and add it in rosella :
19:10 nopaste "Eclesia" at 192.168.1.3 pasted "winxed reflexion" (68 lines) at http://nopaste.snit.ch/59961
19:11 whiteknight Eclesia: yes, that does look useful
19:11 whiteknight Rosella has some of that kind of stuff, but not all in one place
19:13 NotFound You don't need the getaattribute builtin, now you can use: candidate.*attName
19:15 Eclesia NotFound: don't add to much syntax sugar in winxed ;)
19:15 whiteknight NotFound: If we use the library from other languages, we still need a wrapper
19:15 whiteknight plus, a good consistent API is valuable
19:16 NotFound Eclesia: is easier to optimize operators than builtins.
19:16 NotFound whiteknight: yeah, but I mean in the implementation.
19:19 smash left #parrot
19:19 Eclesia rahhh, damn opengl module still skipped ...
19:20 cotto_work #ps in 10
19:22 Eclesia whiteknight: you might know, was does need the opengl module (mesa, glu) , anything else ?
19:23 whiteknight I have no idea
19:25 rohit_nsit08 left #parrot
19:32 Eclesia hm .. Is there a UUID generator somewhere ?
19:33 whiteknight no. But that is something that might be valuable to create
19:34 cotto_work I thought we had one.
19:35 * Eclesia has the feeling he ask always the worse questions ^^
19:37 benabik What is the "supported" development environment for Parrot on Windows?  Cygwin?  MSYS?  MSVC?
19:38 darbelo_ left #parrot
19:42 jay ping bubaflub
19:42 bubaflub pong jay
19:42 jay I take the following from your nci file as an example:  v __gmpz_sqrt pp # mpz_sqrt
19:43 jay Now, in GMP I think there is a function mpz_sqrt which is void and takes two arguments of type p.  Fine.
19:43 jay Now is the name __gmpz_sqrt simply the name you chose for use, e.g. the name of the 'low-level binding'?
19:43 bubaflub jay: not quite.  GMP is kinda crazy
19:43 benabik GMP is very crazy.  #defines EVERYWHERE
19:44 bubaflub jay: in the docs the function is named mpz_sqrt, returns void and takes two pointers
19:44 bubaflub jay: but it's actually a #define - the *real* name of the function is __gmpz_sqrt
19:44 bubaflub jay: and since we're not a C parser we can't use #define'd stuff
19:45 jay I see.  bubaflub++.  Sounds crazy to me (I mean, what they did).
19:45 bubaflub jay: yeah, took me a while to figure out.  i have a comment on that line just to remind me what the what is.
19:45 bubaflub jay: so my PIR bindings use the ugly internal names and do no type checking
19:45 bubaflub jay: the Winxed class will do type checking, has inline docs, and has the nice name
19:45 jay Great.  You just answered by next question about nci.  The comment is really just a comment.
19:45 bubaflub jay: yeah, the way the script works it'll just ignore that
19:46 jay Ok!  Back to work... thanks!
19:47 bubaflub jay: no prob. feel free to ping my IRC or email me if you have any questions.
19:48 jay Willdo, thx
19:50 jay bubaflub: one more... where is the best table to look for things like the single-character I should use for the nci file, for type short, say?
19:51 daniel-s joined #parrot
19:51 daniel-s left #parrot
19:51 bubaflub jay: docs/pdds/draft/pdd16_native_call.pod
19:51 jay bubaflub++
19:51 bubaflub jay: there may be lists in other parts as well
19:52 whiteknight I think there is a list in src/nci/extra_thunks.nci
19:52 whiteknight if the two lists differ, I don't know which is true
19:52 whiteknight if they differ, it's a bug
19:52 bubaflub whiteknight and jay: i'd lean towards the .nci - that code is actually used and compiled
19:52 bubaflub the pdd doesn't get much love
19:52 bubaflub in fact, lemme check now to see if they are different
19:53 bubaflub looks about the same to me
19:54 nopaste "Eclesia" at 192.168.1.3 pasted "whiteknight : debug utils winxed" (199 lines) at http://nopaste.snit.ch/59982
19:55 Eclesia whiteknight: small bonus
19:55 jay Hmm...   unsigned long int?  Just use "l"?
19:55 whiteknight Eclesia++
19:58 bubaflub jay: lemme check.
19:58 bubaflub yep
19:59 jay ok -- where did you find that, though?  I didn't see that in that extra_thunks.nci file.
20:00 bubaflub jay: ah, that was just in my code
20:01 jay bubaflub: ok
20:01 bubaflub jay: i mean, it works.  i remember running into the same problem.  i did some guess and check / asked plobsing
20:02 mro left #parrot
20:05 jay bubaflub: maybe the only issue that is checked it the right size in bytes, nothing more... buyer beware when using?
20:06 bubaflub jay: i wouldn't be surprised if that were the case
20:06 bubaflub jay: i've segfaulted a few times
20:06 dukeleto mmmm, segfaults
20:06 darbelo joined #parrot
20:09 dukeleto whiteknight: i get the same null pmc backtrace when not using globs in add_test_file
20:10 whiteknight yeah, that function is definitely broken. I committed a fix a little while ago, but I haven't been able to test it
20:10 dukeleto whiteknight: https://gist.github.com/1078861 causes the same problem.
20:10 dukeleto whiteknight: okey dokey
20:11 dukeleto whiteknight: i will attempt to beat you to writing a test and fix for that, but I plan on failing and letting you beat me ;)
20:11 whiteknight yeah, I'll get to it tonight
20:11 * dukeleto does errands and will probably miss a bit of #ps
20:11 whiteknight I don't have many tests for the Harness library itself, which is a weakness
20:12 dukeleto whiteknight: i will help fix that. it is right up my dark, dark alley
20:12 jay bubaflub: one more if I can impose, because you're probably in the right place:  long double?
20:12 bubaflub jay: not entire sure cause i don't have one in my repo, but maybe l?
20:12 bubaflub i think that's a good one to ping plobsing with
20:12 dukeleto jay: i would try l
20:13 dukeleto whiteknight: i ran into this problem, because recurse(1) was attempting to test vim swap files
20:13 dukeleto whiteknight: and that was annoying
20:13 jay Ok, willdo.  I'm a long way from even segfaulting.
20:13 whiteknight ah yes, I have a really lazy heuristic in there that checks for the substring ".t" in the name, but doesn't check that it's at the end of the filename
20:13 whiteknight I'll fix that
20:14 dukeleto woot
20:14 whiteknight it's my punishment to you for using vim
20:18 bubaflub whiteknight: haha, yeah it was picking up my .swp files as well
20:19 Eclesia whiteknight: another bonus for rosella (bonus day):
20:19 nopaste "Eclesia" at 192.168.1.3 pasted "String utilities" (88 lines) at http://nopaste.snit.ch/60023
20:20 soh_cah_toa joined #parrot
20:22 dalek rakudo/nom: fad32e6 | moritz++ | t/spectest.data:
20:22 dalek rakudo/nom: three more passing test files
20:22 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fad32e6fb8
20:23 jay ping bubaflub
20:23 bubaflub pong jay
20:23 whiteknight Eclesia: Rosella already has a string library with most of these things. I'll look at your versions to make sure I am doing it all the right way
20:23 jay I think in your GMP README, 'how it works' item 2, should be tools/dev/ncidef2pir.pl... typo, you are missing the 'pir'?
20:24 Eclesia whiteknight: mine might not handle correctly everything, I just regroup stuffs I often use
20:25 bubaflub jay: lemme check
20:25 whiteknight Eclesia: https://github.com/Whiteknight/Rosella​/blob/master/src/string/String.winxed
20:25 dalek parrot-gmp: 0c21ac7 | bubaflub++ | README.md:
20:25 dalek parrot-gmp: fix typo, jay++
20:25 dalek parrot-gmp: review: https://github.com/bubaflub/​parrot-gmp/commit/0c21ac7594
20:25 bubaflub jay, you're absolutely right
20:26 jay Nice having good docs to read, bubaflub++
20:28 jay Looking at the utility, ncidef2pir.pl, the header docs indicate signatures with spaces, like i i i i rather than iiii, I assume it can handle both formats, given your nci file.
20:28 dalek rakudo/podparser: c33a153 | tadzik++ | / (2 files):
20:28 dalek rakudo/podparser: Tune table tests, add some new and fix bugs detected by them
20:28 dalek rakudo/podparser: review: https://github.com/rakudo/rakudo/commit/c33a153018
20:29 hercynium left #parrot
20:29 contingencyplan left #parrot
20:30 hercynium joined #parrot
20:31 jay bubaflub: WOW!  I have a 754 line .pir file generated from my nci file (I did my own script parsing the headers) for only the statistics part of GSL.  I'm that much closer to being able to segfault.  !_)
20:32 bubaflub jay: very nice.  automation and laziness for the win.
20:32 contingencyplan joined #parrot
20:32 hercynium_ joined #parrot
20:32 whiteknight left #parrot
20:34 darbelo_ joined #parrot
20:34 darbelo left #parrot
20:34 dalek rakudo/nom: 38b4f24 | jonathan++ | src/Perl6/Metamodel/RoleToClassApplier.pm:
20:34 dalek rakudo/nom: Make sure we can compose NQP methods into a Perl 6 class (doesn't make NQP roles work yet from nom, but a necesary step).
20:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/38b4f245a0
20:34 dalek rakudo/nom: fd4005c | jonathan++ | src/Perl6/SymbolTable.pm:
20:34 dalek rakudo/nom: Little fix to BEGIN-time symbol handling.
20:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/fd4005c9ad
20:35 benabik Guh.  NQP compiled a moment ago.
20:36 hercynium left #parrot
20:36 hercynium_ is now known as hercynium
20:38 mtk left #parrot
20:43 dalek nqp/qregex: 05d1982 | pmichaud++ | src/QRegex/Cursor.nqp:
20:43 dalek nqp/qregex: Add Cursor.ws .
20:43 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/05d1982fd2
20:43 dalek nqp/qregex: 060dc92 | pmichaud++ | src/QRegex/P6Regex/Actions.nqp:
20:43 dalek nqp/qregex: Enable :sigspace modifier.
20:43 dalek nqp/qregex: review: https://github.com/perl6/nqp/commit/060dc9286c
20:46 dalek parrot: 21b41be | NotFound++ | src/pmc/mappedbytearray.pmc:
20:46 dalek parrot: delete an #ifdef that serves no purpose other than to make windows fail tests
20:46 dalek parrot: review: https://github.com/parrot/parrot/commit/21b41bee94
20:53 Eclesia left #parrot
20:54 dalek rakudo/nom: 2d5a72b | moritz++ | t/spectest.data:
20:54 dalek rakudo/nom: run assign.t
20:54 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/2d5a72ba66
20:55 dalek parrot: 093885c | NotFound++ | t/pmc/mappedbytearray.t:
20:55 dalek parrot: take into account possible text file conversions in MappedByteArray tests
20:55 dalek parrot: review: https://github.com/parrot/parrot/commit/093885cf6d
20:56 NotFound Don't know what happened with MappedFileArray init_pmc, possibly got mangled on some merging.
20:57 rohitnsit08 left #parrot
20:57 NotFound Tests pass now on XP home with Strawberry
20:58 rohitnsit08 joined #parrot
20:58 fperrad left #parrot
20:58 darbelo_ tcurtis: ping
20:59 tcurtis darbelo_: pong
21:02 darbelo_ Hey, I wanted to get some status updates, see how the project is going now we're at the halfway mark.
21:02 SHODAN left #parrot
21:04 tcurtis I'm still rather behind, partly due to things being tricky and partly due to my failing to manage my time well.
21:05 tcurtis I think that all that remains to get LR(0) grammars done is to fix some bugs in my lookback-adding and add a few fairly trivial-seeming transformations.
21:06 tcurtis (I need to modify the CFSM building so that the states generated for nonterminals push their names onto the stack, for example.)
21:06 tcurtis And remove transitions under the empty string.
21:08 bluescreen left #parrot
21:09 zby_home left #parrot
21:12 darbelo_ That doesn't sound like an excessive amount of work to get LR(0) done.
21:15 tcurtis More than I should have at this point, though.
21:15 darbelo_ Yeah, but it seems to me that even though the timetable didn't survive the encounter with the implementation the plan mostly did.
21:16 darbelo_ It's a case of "took longer than expected" as opposed to "had to throw the plan away"
21:18 soh_cah_toa tcurtis: don't feel bad about being behind. i'm way behind too. in fact, i'm too scared to look at my original proposal ;)
21:18 soh_cah_toa tcurtis: just gotta keep trucking. darbelo_'s right
21:20 darbelo_ We'll probably have to cut some of the later goals, but the overall plan still seems sound to me.
21:23 tcurtis Yeah.
21:28 soh_cah_toa tcurtis: i've actually been meaning to talk to you. i don't know much about your project
21:29 soh_cah_toa tcurtis: i know you're writing a LALR parser but what is it for? is it to replace parrot's current parser for pct? for just one language?
21:30 darbelo_ Its a parser generator actually. Think of yacc or bison.
21:30 soh_cah_toa yeah
21:30 tcurtis soh_cah_toa: I'm writing an LALR parser generator. It's not to replace NQP's regexes; but it's an alternative to it.
21:31 NotFound Found a problem with NCI/Utils ncifunc: it always return a Closure, so its result can't be checked for definedness
21:32 soh_cah_toa oh i see. so if a language dev wanted to implement a language using pct, he could either use the traditional nqp Grammar/Actions, etc or use LALRskate?
21:33 darbelo_ tcurtis: Before I forget, you should probably try and get a parrot.org blog post together for the midterms. As a kind of mid-project retrospective.
21:36 ambs left #parrot
21:36 tcurtis darbelo_: Indeed.
21:37 dalek rakudo/nom: 399c991 | jonathan++ | src/Perl6/ (2 files):
21:37 dalek rakudo/nom: Fix the crony.t regression, as well as other roles and lexicals related issues.
21:37 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/399c991464
21:37 tcurtis soh_cah_toa: Yes. Both approaches have some advantages.
21:40 darbelo_ LALR has a big advantage in that it's a very widely known technique.
21:40 soh_cah_toa tcurits: that's pretty neat. i was just reading about parser generator algorithms the other day in the dragon book. transition diagrams, dfa, nfa, etc
21:40 tcurtis For example, IIUC, LALR(k) parsing has better algorithmic complexity than PEGs (which Perl 6 regexes are quite similar to).
21:41 soh_cah_toa interesting. that's pretty exciting
21:42 soh_cah_toa i think that will attract a lot compiler devs who aren't crazy about writing perl6-like code
21:42 Psyche^ joined #parrot
21:43 particle joined #parrot
21:44 tadzik tcurtis: your parser generator will be an alternative to the current Grammar.pm solution, or Grammar+Actions as well? (if you know what I mean)
21:46 particle1 left #parrot
21:46 tadzik you might be interested in this, seems that Parrot does some forbidden in C rituals: http://wklej.org/id/561124/
21:46 tcurtis tadzik: in the interests of language-independence, I'm planning to seperate the semantic actions from the grammar specification, so it will still use an Actions class.
21:47 tadzik tcurtis: that's cool
21:47 Patterner left #parrot
21:47 Psyche^ is now known as Patterner
21:48 daniel-s joined #parrot
21:50 daniel-s left #parrot
21:50 daniel-s joined #parrot
21:51 contingencyplan left #parrot
22:02 rdesfo joined #parrot
22:06 darbelo_ left #parrot
22:08 rdesfo left #parrot
22:10 dalek parrot: 77bd7c8 | tadzik++ | CREDITS:
22:10 dalek parrot: Add flussence++ to CREDITS
22:10 dalek parrot: review: https://github.com/parrot/parrot/commit/77bd7c8ebd
22:10 lucian left #parrot
22:13 rdesfo joined #parrot
22:13 writtencode joined #parrot
22:15 rdesfo left #parrot
22:26 logie left #parrot
22:35 hercynium left #parrot
22:36 dalek parrot: f8d8ea6 | NotFound++ | runtime/parrot/library/NCI/Utils.pir:
22:36 dalek parrot: don't wrap a not found dlfunc, we should be able to check the result
22:36 dalek parrot: review: https://github.com/parrot/parrot/commit/f8d8ea6439
22:37 whiteknight joined #parrot
22:38 logie joined #parrot
22:39 writtencode Hello; would this be a good irc to inquire about Parrot, or is this only for Parrot devs?
22:41 sorear There's a difference?
22:42 whiteknight writtencode: this is *the* place to inquire about Parrot. Welcome!
22:42 dalek parrot: 42dc7a7 | NotFound++ | t/library/nciutils.t:
22:42 dalek parrot: check several dlfuncs before testing them
22:42 dalek parrot: review: https://github.com/parrot/parrot/commit/42dc7a7e31
22:42 writtencode That's why I asked. Developers talking about developing their product might not be interested in talking to people who want to use it :/
22:42 writtencode However, if this is the place to be, I have a question or two
22:42 whiteknight writtencode: ask away! We love to answer questions
22:43 writtencode First off: I'm interested in developing a small language as a tool and also a hobby task
22:44 writtencode I'm looking for Jit, which I know parrot and LLVM have; I'm also looking for nice functional tools, like closures and anonymous functions; would Parrot be decent for such things?
22:44 sorear parrot does *not* have a Jit
22:44 whiteknight We don't have JIT right now
22:44 writtencode oh, I apologize
22:44 writtencode thanks for telling me
22:44 whiteknight we are working towards it, but right now we don't have a working one
22:44 NotFound whiteknight: now at least the nciutils test results are a bit more meaningful
22:44 tadzik yeah, someone ought to fix the wikipedia entry
22:45 writtencode hahah, that's were I got that from :P
22:45 sorear Parrot does however have far better support for closures and anonymous functions than LLVM does
22:45 whiteknight writtencode: Next summer we should have it in, or a draft
22:45 writtencode Mm'k, thanks
22:45 sorear wikipedians don't like it much when people involved in Foo edit the Foo article
22:46 writtencode really? I could see that in some cases, but in OSS it seems like there shouldn't be a conflict of interest
22:46 whiteknight sorear: they just don't like it if you don't cite sources
22:46 writtencode Ah, I see.
22:46 whiteknight they won't take your word for it, they only take citations
22:47 whiteknight writtencode: So what kind of language are you interested in?
22:47 writtencode So -if I understand correctly - were I to write a language, I wouldn't be able to write a REPL for it until Parrot was able to perform JIT?
22:47 cotto_work Languages built with PCT get a REPL for free.
22:48 whiteknight writtencode: we have REPL
22:48 writtencode PCT? Is that short for Parrot? Also, just to make sure, when I say REPL, I mean the ability to actively write and run code, such as in cliojure/python
22:48 whiteknight writtencode: We compile code to bytecode and execute bytecode directly. a JIT would turn bytecode into native machine code
22:48 writtencode Ahhh, I see
22:48 tadzik writtencode: What is your definition of repl?
22:49 jnthn__ writtencode: There's languages running on Parrot with a REPL.
22:49 whiteknight writtencode: PCT is a compiler-building toolkit for Parrot.
22:49 NotFound Parrot Compiler Tools
22:49 writtencode whiteknight: that makes sense, thanks
22:49 tadzik okay, misunderstanding solved it seems
22:49 writtencode I'm thinking a functional language, mainly to be used as a tool to make multithreading applications easier on myself
22:50 dmalcolm left #parrot
22:50 whiteknight writtencode: threading is a bit of a problem right now. It's another thing we are in the process of re-designing and re-implementing
22:50 writtencode Variables are immutable unless declared mutable, and state is avoided as much as possible - the language conventions would put you in a threading state of mind
22:50 writtencode Mm'k
22:50 writtencode would you say it is currently workable, however?
22:51 whiteknight writtencode: We don't have any real users of the current code, so it isn't exercised at all
22:51 writtencode Ah, I see.
22:52 whiteknight writtencode: sorry to disappoint. Threading is one of our biggest weaknesses right now
22:52 writtencode Well, thanks for your help. I'm going to look at the documentation on the web, and I may pop back in here and there for some help. Thanks for your help so far, you've been great :)
22:52 whiteknight but I would rather tell you now before you start implementing anything
22:53 whiteknight writtencode: We are looking for input about threading to help direct our designs. If you have any ideas you would like to see in our system when it's finished, let us know
22:53 whiteknight We definitely want to support the kinds of functional systems you are talking about
22:54 writtencode Yeah, I'm glad I asked. I think I might start looking at Parrot anyway, seeing as you have good functional support. I'll also look at LLVM, and see what they have as well. I'll give you feedback for sure if I decide to use Parrot.
22:55 whiteknight excellent. I look forward to seeing you around
22:56 mj41 left #parrot
23:05 sorear writtencode: how will your system differ from Haskell?
23:13 whiteknight left #parrot
23:21 daniel-s left #parrot
23:25 rohitnsit08 left #parrot
23:31 logie left #parrot
23:31 logie joined #parrot
23:42 dalek parrot-libgit2: 4716391 | dukeleto++ | t/winxed/001_load.t:
23:42 dalek parrot-libgit2: Add a failing test which accesses libgit2 from Winxed
23:42 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/4716391eb7
23:48 NotFound Found another silly thing in windows platform
23:49 NotFound A TODO not done
23:49 NotFound In error.c: /* TODO: Support Unicode error messages */
23:50 NotFound I expect an hommage to my humble old laptop from all windows-parrot users ;)
23:58 aloha left #parrot
23:59 aloha joined #parrot

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

Parrot | source cross referenced