Camelia, the Perl 6 bug

IRC log for #parrot, 2011-07-11

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:06 Kulag left #parrot
00:06 Kulag joined #parrot
00:21 kid51 joined #parrot
00:36 preflex left #parrot
00:39 preflex joined #parrot
00:42 rurban_ joined #parrot
00:44 rurban left #parrot
00:45 rurban_ is now known as rurban
00:51 davidfetter joined #parrot
00:52 whiteknight For anybody who follows python-related stuff, here's an extremely embarrassing story: http://www.zdnet.com/blog/violetblue/when-softwa​re-offends-the-pantyshot-package-controversy/509
00:52 whiteknight I sincerely hope that nothing like that filters into the Parrot world
00:52 davidfetter left #parrot
01:04 daniel-s joined #parrot
01:21 soh_cah_toa eh, yeah...i'm no prude but that is a bit inappropriate
01:36 dalek parrot/soh-cah-toa/hbdb: f2c195e | soh_cah_toa++ | frontend/hbdb/main.c:
01:36 dalek parrot/soh-cah-toa/hbdb: Fixed compilation of .pir files by comparing file extension against '.pbc' instead of 'pbc' and calling Parrot_api_load_bytecode_file() inside an 'else' clause (whiteknight++)
01:36 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/f2c195eaa9
01:36 dalek parrot/soh-cah-toa/hbdb: c8334be | soh_cah_toa++ | / (5 files):
01:36 dalek parrot/soh-cah-toa/hbdb: Defined hbdb_load_source() and its associated Parrot_api_* wrapper for loading source files into memory
01:36 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/c8334be66a
01:36 dalek parrot/soh-cah-toa/hbdb: d01a192 | soh_cah_toa++ | / (2 files):
01:36 dalek parrot/soh-cah-toa/hbdb: Added initial implementation of 'list' command and defined get_cmd_argument() for parsing numerical command arguments. Also temporarily de-consted a few declarations to avoid present and future headaches.
01:36 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/d01a1921f2
01:36 whiteknight soh_cah_toa:
01:36 whiteknight soh_cah_toa++
01:37 soh_cah_toa yeah, i'm making some headway
01:37 soh_cah_toa some
01:37 whiteknight awesome
01:37 whiteknight okay, I'm off to bed. Back to work tomorrow, which I am not looking forward to
01:38 soh_cah_toa see ya
01:38 whiteknight later. Keep up the good work!
01:38 whiteknight left #parrot
02:12 dalek rakudo/nom: 4336ba9 | Coke++ | t/spectest.data:
02:12 dalek rakudo/nom: note more spectest failure modes.
02:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4336ba9170
02:19 dalek parrot-libgit2: a29694c | dukeleto++ | t/001_load.pir:
02:19 dalek parrot-libgit2: Add a test which loads git2.pbc
02:19 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/a29694c624
02:22 kid51 left #parrot
02:34 Coke msg cotto if inspect_str can return anything... what is the point? why are attributes not sufficient?
02:34 aloha OK. I'll deliver the message.
02:35 Coke msg cotto I recommend just deprecating the whole mess and removing it, unless there's a compelling use case for HLL users.
02:35 aloha OK. I'll deliver the message.
02:35 dalek parrot: 27cc427 | util++ | PLATFORMS:
02:35 dalek parrot: Update PLATFORMS for new gcc version
02:35 dalek parrot: review: https://github.com/parrot/parrot/commit/27cc427bb1
02:38 dalek TT #840 reopened by coke++: t/op/io.t fails on win32
02:38 dalek TT #840: http://trac.parrot.org/parrot/ticket/840
02:40 dalek parrot-libgit2: 5d32e71 | dukeleto++ | t/001_load.pir:
02:40 dalek parrot-libgit2: Start a test for git_repository_open
02:40 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/5d32e71d56
02:47 lichtkind left #parrot
03:03 cotto dukeleto++
03:14 dalek parrot/soh-cah-toa/hbdb: f8d245d | soh_cah_toa++ | frontend/hbdb/main.c:
03:14 dalek parrot/soh-cah-toa/hbdb: Renamed fail() to show_last_error_and_exit(). As much as I hate the name, it is more consistent with the rest of Parrot's other frontend programs.
03:14 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/f8d245d0a8
03:14 bubaflub joined #parrot
03:17 bubaflub ~
03:18 bubaflub msg jay great!  i'll be working on generating NCI thunks soon.  i'll write up some detailed docs on how exactly to do it so two of us won't have to trailblaze.
03:18 aloha OK. I'll deliver the message.
03:18 jay Still here.
03:19 jay Quickie:  'vppi'  I assume v is void, i is integer, but p?  I thought I had a page explaining it but lost track of where it was.
03:19 cotto I need to teach aloha about that.
03:20 plobsing jay: p is for pointer
03:20 cotto compilers/pct/src/PAST/Compiler.pir
03:20 jay ah.  Thanks, will copy that.
03:21 dalek parrot-libgit2: e968f76 | dukeleto++ | / (3 files):
03:21 dalek parrot-libgit2: Add some tests and update the NCI file for the new dev API
03:21 dalek parrot-libgit2:
03:21 dalek parrot-libgit2: This commit uses the API on the 'development' branch of libgit2, adds
03:21 dalek parrot-libgit2: a test which actually gets far enough for libgit2 to core dump Parrot
03:21 dalek parrot-libgit2: in git_repository_open (repo_out=0x0, path=0x13f5538 "") at /home/leto/git/libgit2/src/repository.c:347
03:21 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/e968f7639f
03:21 dalek parrot-libgit2: d04e023 | dukeleto++ | / (5 files):
03:21 dalek parrot-libgit2: Tweak our header-reading regex and reap more function bindings
03:21 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/d04e023387
03:21 dalek parrot-libgit2: f75cb2e | dukeleto++ | t/001_load.pir:
03:21 dalek parrot-libgit2: Correct the function signature of git_repository_open in our test
03:21 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/f75cb2e70d
03:25 bluescreen left #parrot
03:30 simcop2387_ joined #parrot
03:31 simcop2387 left #parrot
03:31 simcop2387_ is now known as simcop2387
03:58 cotto seen mro
03:58 aloha mro was last seen in #parrot 8 hours 29 mins ago saying "cotto: okay. I'm heading out now. Have a nice day!".
04:15 dalek parrot-libgit2: 830e0fd | dukeleto++ | src/git2.winxed:
04:15 dalek parrot-libgit2: Add a stub winxed class that generates a StructView for a git_repository data structure
04:15 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/830e0fd120
04:17 dalek parrot/m0-prototype: 436416b | mro++ | t/m0/integration/m0_ (4 files):
04:17 dalek parrot/m0-prototype: Add tests for M0 register ops.
04:17 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/436416b797
04:17 dalek parrot/m0-prototype: c8ff7a0 | mro++ | t/m0/integration/m0_ (7 files):
04:17 dalek parrot/m0-prototype: Fix TAP output from M0 integration tests.
04:17 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/c8ff7a04a5
04:17 dalek parrot/m0-prototype: e7365ae | cotto++ | t/m0/integration/m0_set_ref.m0:
04:17 dalek parrot/m0-prototype: remove a bit of apparently dead code
04:17 dalek parrot/m0-prototype: review: https://github.com/parrot/parrot/commit/e7365ae1be
04:17 cotto msg mro I pulled your m0-test branch.  Thanks!
04:17 aloha OK. I'll deliver the message.
04:27 cotto dukeleto, ping
04:29 dalek parrot-libgit2: a891178 | dukeleto++ | src/ (3 files):
04:29 dalek parrot-libgit2: Move Winxed code to a new subdir along with generated PIR
04:29 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/a8911782fa
04:34 logie joined #parrot
04:58 dukeleto cotto: pong
04:59 cotto dukeleto, I'm thinking about M0 strings.  If M0 is based on words, I'm having a hard time avoiding the conclusion that strings manipulation will need to based on blocks of multiple characters.
05:01 cotto dukeleto, not sure if there's a question in there.  I'm just trying to figure out what string and character manipulation will look like in that context.
05:02 dukeleto cotto: ok. padding to the nearest word should be possible
05:03 cotto dukeleto, sure.  chromatic actually suggested that at os bridge.
05:03 cotto it'd make hashing simpler
05:07 cotto I'm tempted to add a couple ops to deal with individual characters.
05:12 zby_home joined #parrot
05:16 fperrad joined #parrot
05:21 dalek parrot/soh-cah-toa/hbdb: 907e660 | soh_cah_toa++ | frontend/hbdb/main.c:
05:21 dalek parrot/soh-cah-toa/hbdb: Moved definition of show_last_error_and_exit() to preserve alphabetical order of functions. Wrapped Parrot_api_destroy_interpreter() inside an 'if' statement. Also, cleaned up POD documentation a little bit.
05:21 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/907e6602f5
05:21 dalek parrot/soh-cah-toa/hbdb: c99d54b | soh_cah_toa++ | / (4 files):
05:21 dalek parrot/soh-cah-toa/hbdb: Added initial version of HBDB tutorial in docs/hbdb.pod. It is still in the making.
05:21 dalek parrot/soh-cah-toa/hbdb: review: https://github.com/parrot/parrot/commit/c99d54b0e4
05:28 soh_cah_toa left #parrot
05:29 logie left #parrot
05:34 dalek rakudo/nom: 6d53c0a | moritz++ | / (2 files):
05:34 dalek rakudo/nom: fix chomp
05:34 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6d53c0a758
05:40 logie joined #parrot
05:50 logie left #parrot
05:54 theory left #parrot
06:10 dalek rakudo/nom: b901bc0 | moritz++ | / (2 files):
06:10 dalek rakudo/nom: implement &keys, &values, &kv, &pairs
06:10 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/b901bc0f4e
06:12 luben left #parrot
06:36 zby_home left #parrot
07:43 mj41 joined #parrot
08:08 dalek rakudo/nom: 1bb2883 | moritz++ | / (5 files):
08:08 dalek rakudo/nom: Hash.invert, List.end, tests
08:08 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1bb288311e
08:42 rurban_ joined #parrot
08:44 rurban left #parrot
08:44 rurban_ is now known as rurban
09:26 dalek rakudo/nom: 9d969c0 | moritz++ | / (3 files):
09:26 dalek rakudo/nom: classify
09:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/9d969c02c0
09:56 simcop2387_ joined #parrot
09:57 simcop2387 left #parrot
09:57 simcop2387_ is now known as simcop2387
10:25 Drossel joined #parrot
10:26 dalek rakudo/nom: 1478b35 | pmichaud++ | src/core/ (2 files):
10:26 dalek rakudo/nom: Let Parcel.values fall back to Any.values.
10:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1478b3506a
10:27 Kulag left #parrot
11:32 dod joined #parrot
11:38 contingencyplan left #parrot
11:50 dalek rakudo/nom: d9fcb90 | moritz++ | / (2 files):
11:50 dalek rakudo/nom: Port Hash.push over from master
11:50 dalek rakudo/nom:
11:50 dalek rakudo/nom: This doesn't quite work yet, running S32-hash/push.t causes infinite recursion
11:50 dalek rakudo/nom: involving some List methods - maybe something that pmichaud++ can investigate?
11:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d9fcb90d7e
11:50 dalek rakudo/nom: acda02a | moritz++ | t/spectest.data:
11:50 dalek rakudo/nom: end.t did not pass, my mistake. Sorry.
11:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/acda02a8f8
12:19 mtk joined #parrot
12:24 JimmyZ joined #parrot
12:25 mtk left #parrot
12:31 mtk joined #parrot
12:35 bluescreen joined #parrot
12:40 whiteknight joined #parrot
12:45 ambs joined #parrot
12:46 whiteknight good morning, #parrot
12:47 Coke left #parrot
12:48 Coke joined #parrot
12:49 tadzik good morning whiteknight
12:51 JimmyZ left #parrot
12:51 whiteknight hello tadzik, how are you doing today?
12:51 tadzik pretty fine. I've just started refactoring yesterday's beast commit
12:52 JimmyZ joined #parrot
12:53 whiteknight beast commit?  I'll have to take a look at that
12:53 tadzik oh, don't worry. That's just mine, and to rakudo/podparser
12:54 tadzik I officialy... well, maybe just dislike, Pod tables
12:55 whiteknight I've never been a fan of the syntax
12:55 whiteknight not that there are many good alternatives
13:01 Coke left #parrot
13:01 Coke joined #parrot
13:01 * whiteknight is running smoke on win64 now
13:37 whiteknight okay, I've got the spawnw.t failures fixed. I'm tracking down the nci failures now
13:37 bubaflub ~
13:39 whiteknight $P0 = dlfunc <null>, "func", "sig" returns an Undef
13:39 whiteknight passing in PMCNULL as the first in-arg to dlfunc doesn't seem to work on windows
13:51 logie joined #parrot
13:51 whiteknight http://trac.parrot.org/parrot/ticket/2148
13:52 dalek parrot: fa9e3a3 | Whiteknight++ | t/op/spawnw.t:
13:52 dalek parrot: On windows, the path to the perl binary contains backslashes. Changes double quotes to single quotes so the backslashes don't create weird string problems. This fixes spawnw.t on windows
13:52 dalek parrot: review: https://github.com/parrot/parrot/commit/fa9e3a3b03
13:53 PacoLinux joined #parrot
13:54 Coke pmichaud: o/
13:55 jay ping bubaflub
13:55 bubaflub jay: pong
13:56 jay bubaflub: If I understand correctly: GMP uses various scripts to get Raw.pir, and you use libffi to get things working?  You aren't using the parrot_nci_thunk_gen utility at this point?
13:56 bubaflub jay: yep, that's correct.
13:57 bubaflub jay: i will eventually use parrot_nci_thunk_gen to generate all the signatures that aren't currently included with Parrot and remove the libffi dependency.  but for now, it's there.
13:57 jay < phew >  Thanks.  I'm trying to write some docs with a concise example and discussion of these issues as I learn.
13:58 jay Right.  I'm minimalist with dependencies.  Don't like them if I can avoid them.  Would rather get to a 'best practices' solution sooner rather than later.
13:58 bubaflub jay: yeah.  i think libffi is good for development because it's just one less piece you have to worry about.
13:58 dalek TT #2148 created by whiteknight++: t/pmc/nci.t fails on windows
13:58 dalek TT #2148: http://trac.parrot.org/parrot/ticket/2148
13:59 jay bubaflub++.  Will keep you posted on progress.
14:00 bubaflub jay: great.  and if i figure out parrot_nci_thunk_gen stuff i'll write up something as well
14:00 whiteknight soh_cah_toa: ping
14:01 whiteknight msg soh_cah_toa t/dynoplibs/debug.t is failing on windows, and I can't figure out why. Do you have any particular insight?
14:01 aloha OK. I'll deliver the message.
14:10 perl left #parrot
14:24 dalek rakudo/podparser: 597985d | tadzik++ | src/Perl6/Pod.pm:
14:24 dalek rakudo/podparser: Refactor Pod.pm
14:24 dalek rakudo/podparser: review: https://github.com/rakudo/rakudo/commit/597985d528
14:29 logie left #parrot
14:34 hercynium joined #parrot
14:42 logie joined #parrot
14:49 cotto ~~
14:57 whiteknight good morning, cotto
14:59 dukeleto ~~
15:01 cotto hi whiteknight
15:03 dalek parrot: 2940c80 | Whiteknight++ | src/ (2 files):
15:03 dalek parrot: On win32, if we don't have a valid library handle in Parrot_dlsym we can try to look up the module handle for 'libparrot'. This fixes t/pmc/nci.t on my system, and shouldn't make anything else any worse
15:03 dalek parrot: review: https://github.com/parrot/parrot/commit/2940c8015f
15:06 ligne joined #parrot
15:12 whiteknight hmmm... that fixes t/pmc/nci.t, but doesn't fix t/library/nciutils.t for some reason
15:12 whiteknight that's disheartening
15:14 whiteknight it looks like exactly the same kind of failure
15:15 cotto Could there be something hanging around that didn't get rebuilt?
15:17 whiteknight I'm doing a reclean+rebuild now
15:17 whiteknight I really wish we had more devs on windows
15:17 whiteknight as a linux user, I am very sympathetic to the reasons why more of our devs don't do their hacking on that platform, but I wish there were more
15:22 dukeleto whiteknight: this may be relevant: http://perlbuzz.com/2008/12/microso​ft-will-support-cpan-authors-with-f​ree-access-to-windows-machines.html
15:22 dukeleto i am not sure if it still exists
15:24 cotto I think that's still going on.
15:27 cotto If anyone has the tuits to use it, I know who to talk to to find out.
15:27 whiteknight I have windows at work, so I can do some limited testing stuff here
15:27 whiteknight I also have a windows VM on my home computer, but I haven't set that up for hacking yet
15:27 whiteknight I only use it for itunes
15:28 whiteknight Although, I'm getting extremely close to blasting away my current ubuntu install, so that might take the VM with it
15:29 cotto What's wrong with it?
15:29 whiteknight The mouse stopped working correctly after a software update. I can't figure out which update caused the error, and can't get it workign right
15:30 whiteknight so I'm going to try and reinstall Ubuntu 10.04, or something else that was known-good
15:30 whiteknight of course, with my laptop there's always a chance it's a hardware failure too, so if the software bit fails I don't know what I will do
15:30 cotto that sounds like it might be difficult to work around
15:31 cotto you can at least see if the same thing happens with a live cd
15:31 whiteknight yeah, that's true. I could try that
15:31 cotto those are great
15:31 whiteknight The trackpad is no longer recognized as a trackpad, so I can't turn off things like the super-sensitive tap-to-click
15:32 whiteknight so if my palm gets anywhere near it while typing, bad things happen.
15:32 Kulag joined #parrot
15:32 whiteknight Also, it's very jumpy and inconsistent. Sometimes it will work fine for a stretch. Sometimes the mouse won't work at all, and sometimes when I touch it it jumps around and activates all sorts of random shortcuts
15:33 benabik That's exactly the sort of thing I use live CDs for.  I'd try 10.10 and 11.04.  It might be that some config got screwed up with the upgrade.
15:33 * benabik doesn't trust Linux distro upgrades.
15:33 whiteknight so I go to click on a hyperlink, but the mouse stops moving, so I try again and it bounces all the way to the left side of the screen, the browser minimizes, the volume dialog opens, and I get asked if I really want to shut down my computer
15:33 whiteknight benabik: I'm getting to that point myself.
15:34 whiteknight I've had more hardware-related problems from routine-looking software upgrades than I care to admit
15:34 Drossel left #parrot
15:34 whiteknight Last time this happened I used a little bit of forethought and partitioned up my disk to handle just this kind of situation
15:35 whiteknight so /home is on one partition that I shouldn't need to delete. I have two smaller partitions around for installing an OS on. so I should be able to install a new version of Ubuntu on the second of my smaller partitions and update grup
15:35 whiteknight grub
15:35 whiteknight *should*
15:38 TimToady .oO("You have a semipredicate problem.  You decide to solve it by throwing an exception.  Now you have two problems.")
15:40 whiteknight TimToady: are you referring to our conversation from last night?
15:40 TimToady yes
15:40 TimToady I would urge y'all to get out the exception-happy mindset and do something more like Go does
15:40 whiteknight yeah, not easy problems to solve
15:41 whiteknight and what does go do?
15:41 TimToady exceptions don't solve the must-be-handled part, and they destroy control flow, and with it, any hope for parallelism
15:42 TimToady Go returns two values, which is clunky, but you'll notice they're really good at parallelism now
15:42 whiteknight so, to take that as our template, we would have a find_method op that returned (status, value)?
15:42 TimToady (p6 solves it a different way)
15:42 whiteknight At the PIR/PASM level, everythying is clunky and that's fine because humans shouldn't be writing it
15:43 TimToady it's one way to do it
15:43 whiteknight I'm perfectly happy with that approach, by the way. I don't like throwing exceptions from C code
15:45 atrodo how does p6 solve it?
15:48 whiteknight The idea of a dedicated Failure PMC type has been growing on me as well
15:48 whiteknight although that would require some non-trivial code slinging
15:49 TimToady p6 does it by having lazy exceptions that are returned inband but are pretty easy to tell from normal
15:49 TimToady (phone)
15:49 TimToady returning an exception with fail is different from with return
15:50 whiteknight Okay right, so a Failure type could be that. It's easy to differentiate, it would contain an error message, and would have a .throw() method to convert to a real thrown exception
15:50 TimToady it's magic, but knows it needs to be handled
15:50 whiteknight We would need to differentiate Failures in most codepaths, however. We run back into the semipredicate problem if we allow set_attr_str with a Failure value
15:51 whiteknight or we simply ignore that hassle and tell users to "don't do that" as hard as they can
15:53 awwaiid dukeleto: non-terminated quote error in 3rd paragraph of TPF grant update
15:56 TimToady anyway, I'm okay with anything that preserves control flow
15:57 whiteknight We're going to get to a point where we need something besides PIR to deal with all the changes we need to make to PIR
16:00 plobsing why do you need to change PIR for this? isn't it just an op change?
16:00 whiteknight depends how consistent we want to be
16:01 whiteknight could be changes to many ops
16:01 plobsing so change the op(s), then bump the oplib version (that's what versions are for no?)
16:02 whiteknight deprecation policy. Can't just do that on a dime
16:02 plobsing ah
16:03 plobsing well, if you go the multi-return route, the signatures on the ops will be different and there will be no conflict in the interim period
16:03 whiteknight unless we had a way to have multiple core oplibs in a single parrot binary, and select between them at runtime
16:04 dukeleto awwaiid: danke
16:04 whiteknight that's true. We could add more op variants for this
16:05 whiteknight but the thought of "more ops" really gives me chills
16:05 lkundrak left #parrot
16:05 plobsing the increase is only transitional. we'd deprecate the replaced ops.
16:06 plobsing and more ops aren't really that big of a problem
16:06 * JimmyZ didn't any language follows monthly deprecation policy, since most language is unactive, except NPQ and Rakudo.
16:07 plobsing JimmyZ: the dep policy allows for HLL authors to upgrade versions at their own speed
16:07 plobsing but not making changes because HLL authors aren't ready is a recipe for stagnation
16:08 theory joined #parrot
16:11 JimmyZ plobsing: well the only HLL authors are jnthn++ and pmichaud++, anyone else now?
16:12 plobsing you forget NotFound++ and several of our gsocers
16:13 JimmyZ well, Winxed  uses pir, not parrot API
16:13 dukeleto JimmyZ: and fperrad++'s Lua and Coke++'s partcl
16:13 whiteknight PIR is one of our APIs
16:14 JimmyZ partcl doesn't follow policy, and may migrate to new NQP
16:14 JimmyZ whiteknight:  well, PRI never is in dep policy
16:14 dukeleto also, all parrot-based libraries could be affected by API changes, not just HLL's
16:14 dukeleto JimmyZ: huh? have you read api.yaml ?
16:15 JimmyZ I am not saying dep policy is bad
16:15 dukeleto and we increasingly have lots more libraries, such as parrot-gmp and friends
16:15 dukeleto JimmyZ: no one took it that way, but what you said definitely is confusing. what do you mean "PIR is never in dep policy" ?
16:15 JimmyZ I am say dep policy now is a more like a blocker.
16:16 whiteknight yes
16:16 whiteknight deprecation policy is a blocker
16:16 benabik Depreciation slows the pace of change.  That's somewhat the point.
16:16 dukeleto seemingly, it is *meant* to be a blocker.
16:17 JimmyZ It's useful in the near future, but now it's as usefule as you want
16:17 dukeleto benabik: indeed. It makes the pace of internal development slow enough that our users have a chance of keeping up
16:17 dukeleto whiteknight: more feedback on http://whiteknight.github.com/2011/​07/07/packfiles_work_continues.html
16:17 benabik And with git, we can maintain branches where we do catastrophic changes without injuring our users.
16:17 dukeleto whiteknight: near init_top, some code formatting junk
16:17 JimmyZ yes, deprecation policy is useful in the near future, but now it's not as usefule as you guys want
16:18 whiteknight fuz
16:18 dukeleto whiteknight: and you have a 3. ??? where is seemingly shouldn't be
16:18 plobsing JimmyZ: it isn't perfect, but we need some framework for managing changes. unmanaged changes tend to be unpleasant.
16:19 dukeleto whiteknight: also, i really like $P0 = load_bytecode "foo.pbc"   # NEW version (GOOD)
16:19 dukeleto whiteknight: what does that do when foo.pbc can't be found?
16:19 dukeleto whiteknight: i hate that currently load_bytecode silently fails
16:19 whiteknight dukeleto: At the moment, I think it's an exception
16:20 mj41_nb joined #parrot
16:20 dukeleto mj41_nb: howdy
16:20 whiteknight I could change it to return PMCNULL or something similar
16:20 dukeleto whiteknight: anything is better than silent failure
16:21 dukeleto JimmyZ: we have refactored our dep policy before (from 6 to 3 months), so if you have suggestions for improving it, please let us know
16:21 JimmyZ dukeleto: yes, I know that :)
16:21 dukeleto JimmyZ: just reminding you :)
16:23 * JimmyZ reads irclog everyday
16:24 dalek nqp: 5335b5b | jonathan++ | src/pmc/sixmodelobject.pmc:
16:24 dalek nqp: Fix to make sure --trace=1 output is more useful (pmichaud++ for noticing the issue).
16:24 dalek nqp: review: https://github.com/perl6/nqp/commit/5335b5b4a2
16:24 Coke "partcl doesn't follow policy" excuse me?
16:25 * dukeleto gets popcorn
16:25 dukeleto JimmyZ: i think there may have been some "lost in translation" regarding what you meant about partcl
16:26 benabik I'm noticing in PIRate that there's some commentary on the difficulty of loading generated bytecode?  Has that changed?  bacek just wrote the packfile to a tempfile.  Is there a way to load it into the interp immediately now?
16:26 dukeleto benabik: have you read http://whiteknight.github.com/2011/​07/07/packfiles_work_continues.html ?
16:26 JimmyZ dukeleto: well, that's most because of my poor english :)
16:26 dukeleto benabik: seems like that stuff just changed a bit, for the better
16:26 benabik dukeleto: It's in my reading list...
16:27 benabik dukeleto: I never quite caught up after YAPC, so I'm a few days behind in my articles.
16:27 dukeleto JimmyZ: yes. I am trying to make sure no one feels offended. Can you explain more about what you meant by that? Coke would appreciate it.
16:27 whiteknight it hasn't changed yet. I haven't merged my latest branch
16:27 whiteknight I'm waiting till after 3.6 release
16:27 benabik whiteknight++
16:27 Coke I'm not offended, btw. I'm just very confused. ;)
16:31 dukeleto docs with no examples make me angry, case in point src/pmc/structview.pmc
16:32 JimmyZ I love lua, and tcl, though I didn't use them much or at all.  so I'd say partcl doesn't follow policy, just because it's unactive recently
16:32 benabik whiteknight: It looks like a PIR example continues after the code block stops.  `init_top:`
16:33 JimmyZ s/so//g
16:35 mj41_nb left #parrot
16:35 mj41 left #parrot
16:35 plobsing dukeleto: what are tests but examples by another name?
16:37 dalek parrot-libgit2: 061f14f | dukeleto++ | / (2 files):
16:37 dalek parrot-libgit2: Attempt to initialize our StructView for git_repository correctly and add winxed->pbc to makefile
16:37 dalek parrot-libgit2: review: https://github.com/letolabs/pa​rrot-libgit2/commit/061f14fa9c
16:37 dukeleto plobsing: for me and you and parrot core devs, yes. But the argument does not hold water for "real" end-users
16:37 dukeleto plobsing: also, reading t/pmc/structview.t did not enlightenment as much as I wanted
16:38 dukeleto plobsing: i currently have https://github.com/letolabs/parrot-li​bgit2/blob/061f14fa9c94450332fe411e67​01438d6785bee1/src/Git2/Common.winxed
16:39 JimmyZ left #parrot
16:39 ambs left #parrot
16:39 ambs joined #parrot
16:39 cotto_work ~~
16:39 dukeleto plobsing: and I want to create a structview for this: https://github.com/libgit2/libgit2/b​lob/development/src/repository.h#L27
16:40 dukeleto plobsing: can you please give me some guidance?
16:41 whiteknight benabik: fixed. Thanks
16:42 Coke partcl-nqp isn't failing any new tests.
16:42 plobsing dukeleto: it should be telling you it doesn't know how to handle the 'struct' element type. which it does not.
16:42 plobsing StructView does not magically support nesting
16:42 rurban_ joined #parrot
16:43 plobsing to support nested structs, you can either inline them, or represent them as buffers
16:44 Coke and neither is partcl-old.
16:44 dukeleto plobsing: ok. is there an example of "represent them as buffers" ? Inlining is fine for now, but I don't quite know what you mean about buffers
16:44 Coke (and man does the old partcl seem to be faster than the nqp-rx one. :(
16:44 Coke so, \o/ - it's been months since I tested that, and nothing major has broken.
16:44 rurban left #parrot
16:45 rurban_ is now known as rurban
16:45 whiteknight that's a good sign
16:46 whiteknight Coke: how long are you planning to have both?
16:46 Coke setting up benchmarking is hard, but partcl's speed has always been bad.
16:46 plobsing dukeleto: there is no example of buffers currently, but its use is documented in src/pmc/structview.pmc.
16:46 Coke whiteknight: the plan was: until the -nqp version could do everything the PIR version could.
16:46 plobsing and the use is similar to other types
16:47 Coke ... which is probably never, given that nqp-rx is now obsolete.
16:47 whiteknight Coke: okay, so how far away is that milestone?
16:47 whiteknight is nqp-rx obsolete? We're not getting rid of it or anything
16:47 Coke so, next step: get partcl-nqp running on nqp (not nqp-rx), or on perl6 itself.
16:47 Coke whiteknight: given that perl6 is moving to nqp, I can't see we're going to keep it long term.
16:48 whiteknight Coke: maybe not. Depends what we need from it. If we decide to keep it around as a Parrot-run system language, it could hang around for a while
16:48 whiteknight it doesn't conflict with newer NQP, there's no reason we can't have both
16:48 Coke (though we still have TGE/PGE, so who can say. I'm not sure why we still need so many toolsets)
16:49 atrodo So many, very similar, toolsets
16:49 Coke whiteknight: why? because we only have so many support tuits, mainly.
16:49 NotFound Benchmarkig is hard, let's go shopping!
16:49 whiteknight Coke: We have TGE/PGE because people still use them. They hardly eat up any support tuits
16:50 whiteknight Breaking lua because we don't like the code but aren't really supporting it is hardly worthwhile
16:50 Coke anyway, hacking on partcl hasn't been fun in ages. I can't imagine any serious work on that front until the tools (and parrot) settle down and get faster.
16:50 Coke (and provide better debug and profiling support)
16:52 benabik whiteknight: After using it for a bit, I don't see much value in NQP as a system language.  It spends a decent amount of time enforcing Perlesque semantics on top of Parrot, which many people don't need.
16:52 whiteknight benabik: that's always sort of been my impression too. Too much perl semantics, not enough parrot semantics
16:52 Coke ... or if something catches my eye.
16:52 whiteknight That's why I do all my hacking now in Winxed
16:53 Coke Given how perl5-ish parrot has tried to be, that's amusing to me. ;)
16:53 atrodo whiteknight> winxed is a much better fit
16:53 Coke but, I can't see writing everything yet again in winxed, either.
16:53 whiteknight Parrot doesn't try to be perl5-ish anymore. In fact, we're doing our damndest to deprecate and remove everything from those times
16:53 benabik Does winxed store variables in registers?  And how does it handle lexicals?
16:53 whiteknight benabik: yes and well
16:54 whiteknight it doesn't have the built-in parser functionality that nqp has
16:54 Coke does winxed have .hll support?
16:54 whiteknight yes
16:54 whiteknight plobsing wrote an o-meta port for winxed. I assume that is still working well
16:54 Coke (Given that I need regexes, I think I'll still with nqp of some variety.)
16:55 plobsing dukeleto: the jist of representing nested structs as buffers is that StructView supports opaque nested objects (when provided with size and alignment specification). Access is performed through PtrBuf PMCs. Getting returns a PtrBuf to the buffer region, setting performs a memcpy.
16:55 benabik winxed.org needs some updating...  It should point at github instead of code.google and a link to whiteknight++ intro stuff would be handy.
16:55 plobsing whiteknight: it may need some fixups, but, like winxed, it is very flexible and hard to break.
17:00 NotFound The .hll support needs some care, is almost unuseful right now.
17:00 dalek rakudo/nom: 6849c6f | jonathan++ | src/core/ (2 files):
17:00 dalek rakudo/nom: Implement nextwith and lastcall.
17:00 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6849c6f0e4
17:01 NotFound benabik: there was some problem in the server, I think they used an old backup to restore it.
17:01 NotFound I can't fix it yet, it seems that my ssh key is not restored.
17:01 benabik NotFound: Ah.  Fair enough.
17:02 benabik Hmmmm... server backups.  That might be a good idea.  >.>  <.<
17:03 NotFound Lexicals: it now allows string, int an float lexicals, following recent parrot changes.
17:04 whiteknight once we get 6model and native attribute types, I think many things will become a lot faster
17:05 whiteknight that is certainly going to require some PIR op additions to leverage it
17:06 dukeleto NotFound: how do you feel about making the winxed.org site something that everyone in the parrot github org can edit and improve?
17:07 mj41_nb joined #parrot
17:07 mj41 joined #parrot
17:08 atrodo cotto_work> ping
17:09 NotFound dukeleto: that server is shared and I use for free, I can't put much load on it.
17:09 cotto_work atrodo: pong
17:10 whiteknight NotFound: You can create a webpage on github pages, and forward the winxed.org domain there
17:12 NotFound Yes, but if I spend time administering wikis ot the lke, less time for winxed itself.
17:12 atrodo cotto_work> I'm thinking more about how m0 will affect, and wanted to pick you brain a little since it's a little blurry to me
17:13 cotto_work atrodo: how M0 will affect what?
17:13 atrodo yea, had a hard time explaining that...
17:13 atrodo basically, once m0 is "complete", how will it be integrated into parrot
17:14 cotto_work That's something that I've been meaning to blog about for a while.
17:14 atrodo ( since i don't have time for hacking, i end up thinking)
17:14 whiteknight cotto_work: please do
17:16 cotto_work I also came up with a new batch of M0 issues to work on.  Tonight is looking to be a good night for M0 hacking.
17:17 atrodo cotto_work> how much of parrot will be compiled to m0?  the runcore? PMCs? All of the C code?
17:17 cotto_work atrodo: as much as we can convert
17:18 darbelo joined #parrot
17:18 cotto_work I expect C code to become the minority.
17:18 atrodo initially or eventually?
17:18 cotto_work eventually
17:18 atrodo what about initially then?  There will be a time when there will be m0 and C at the same time, or not?
17:19 atrodo or do you mean "compile c to m0" by convert?
17:19 cotto_work atrodo: yes.  That's part of what needs to be planned.
17:19 cotto_work (C + M0 living together)
17:19 cotto_work I don't anticipate compiling C to M0.
17:20 atrodo And that's the part that I'm having a hard time conceptualizing, the C + m0 odd couple
17:21 cotto_work It'll require some hackery.
17:23 whiteknight The runcore probably has to remain in C. That's the thing that runs the M0
17:23 whiteknight After that, it's actually not too hard conceptually to make the switch
17:24 whiteknight There are probably going to be some very big chunks we will want to do as atomic wholes: PMCs for instance might benefit from doing the whole shebang at once
17:24 cotto_work A self-hosted runcore would be tricky.
17:24 benabik M0 runcore, GC, some FFI stuff?
17:24 whiteknight tricky and no apparent benefit
17:24 cotto_work yes
17:25 cotto_work benabik: that's about the extent of it, assuming you include ops as part of the runcore
17:25 whiteknight PIR ops probably need to be rewritten in M0 first, I would imagine
17:25 whiteknight to avoid the need for two runcores
17:25 benabik cotto_work: Since M0 has a static set of ops, I would.  :-)
17:26 benabik I imagine there'd be some level of OS abstraction in C as well.  Seems easier to do at that level.
17:26 atrodo whiteknight> That's actually the easier part, thanks to bacek++ work on ops2c_llvm
17:26 whiteknight atrodo: yes, I don't suspect it will be hard, only that it should be done early and in one big swoop
17:27 atrodo whiteknight> It's the rest of the C code that is core to parrot, not even considering PMCs
17:27 cotto_work I want to plan around avoiding big monolithic changes.
17:27 whiteknight cotto_work: I'm not sure how you're going to be able to in some places
17:27 cotto_work whiteknight: where possible
17:28 whiteknight PIR ops being the big example of something that needs to be done at once. Core PMC types likewise
17:28 atrodo whiteknight> Actually, I would think that PMCs would be doable piece-wise, but that's a gut feeling
17:28 whiteknight I don't know how we're going to handle PMC types which are written in M0 trying to coexist with PMCs written in C.
17:29 whiteknight atrodo: Something like VTABLE_foo needs to know how to dispatch itself. If there's not a common dispatch mechanism, we need to insert decision logic there
17:29 atrodo Well, that is part of the whole issue tho
17:31 whiteknight If you convert all PIR ops and all PMCs to M0 in one big go, you'll have a much better idea of what to do next. Things that call C -> VTABLE will be causing some of the most obvious slowdowns, so those things can be rewritten first. PCC is probably a good example of something to do early
17:32 whiteknight PCC would be a hell of a lot easier to convert if I can do those refactors I am talking about, because then all op processing happens in PIR anyway and there will be nothing to be converted
17:32 whiteknight If we do that refactor first, I think a lot of things actually get much easier
17:32 atrodo whiteknight> That's a lot of code to convert in one swoop, and I'd be concerned about timeline
17:33 whiteknight atrodo: It is a lot, but if you do those big pieces bit by bit, the intermediate results are going to be unmanagably slow because of an increased number of context switches
17:34 whiteknight Unless the M0 runloop machinery becomes a hell of a lot less expensive
17:34 whiteknight In any case, I cant imagine any of this work is mergable into master early on. A lot of it is going to have to be done in branches until we reach a point that is both stable and performant enough to be mergable
17:36 whiteknight Maybe migrating the PIR ops would be a good starting point. That could be done and merged into master pretty quick because it doesn't fundamentally change the abstraction layer or the number of context switches
17:36 atrodo whiteknight> And that's why i'm trying to pick brains.  I can't see how having pre-lorito and post-lorito code can live in parallel
17:36 cotto_work The first step is to figure out how to make M0 and C interact sanely.
17:36 whiteknight but I'm starting to get the feeling like IMCC is going to be a huge impediment
17:36 atrodo whiteknight> You may not have seen this: https://gist.github.com/1062861
17:37 whiteknight atrodo: nice
17:37 atrodo it's mostly bacek++ code to parse the C, I just wrote the code to output lasm
17:38 atrodo karma bacek
17:38 aloha bacek has karma of 1674.
17:38 whiteknight cotto: We may want a macroized preparser like ops2c. We could have M0 code fragments inlined into C source code files with something like M0_BEGIN/M0_END. Precompile M0 into C, then compile like normal
17:38 whiteknight once we have entire files converted, we remove the macros and change the file extension, and built it entirely through the M0 assembler
17:40 jnthn__ Anyone know offhand if Parrot does :call_sig on the caller side, or just callee?
17:40 dukeleto i see m0 being a long-lived git branch that will not be merged to master for a long-while, until the most basic parts of parrot internals are all m0bified
17:40 dukeleto jnthn__: my gut tells me everything is done callee side, but i don't have evidence
17:40 jnthn__ dukeleto: no no :)
17:41 jnthn__ dukeleto: The option is potentially valid on both sides :)
17:41 jnthn__ dukeleto: On the callee side as in "just give me the call sig"
17:41 jnthn__ (that certainly works since Rakudo relies on it)
17:41 jnthn__ And on the caller side as "just use this as the sig"
17:41 dukeleto jnthn__: i misunderstood your question
17:41 jnthn__ no worries
17:42 jnthn__ I kinda asked badly :)
17:43 jnthn__ Aww, it parses it but ignores it
17:46 atrodo cotto_work, whiteknight> take for instance get_params_pc ( https://github.com/parrot/parrot/​blob/master/src/ops/core.ops#L467 )
17:46 atrodo That uses several core parrot calls and conventions and raises a few questions.  For instance, in a M0 world, how does it handle fill_params?
17:47 whiteknight jnthn__: I don't believe it is implemented on the caller side
17:47 whiteknight I think it's only implemented on callee right now
17:47 whiteknight I could probably fix that pretty quick. I'll play around with it in a branch tonight and see what comes of it
17:48 fivetonsflax joined #parrot
17:49 whiteknight well, I could add the ability. Adding the syntax to IMCC is always the more tricky beast
17:50 jnthn__ whiteknight: It's already parsed
17:50 jnthn__ whiteknight: So it may not be so bad.
17:51 jnthn__ whiteknight: I'm not going to block on it, but I could probably also use it :)
17:52 whiteknight jnthn__: I'm planning to fix up a lot of PCC stuff eventually, and that will definitely be a big part of the refactors if it doesn't happen before that
17:53 whiteknight basically, I'm planning a new invokecc op which takes a preassembled CallContext op as an additional argument, and a new getcontext op which retrieves the CallContext op without going through fill_params, for custom processing
17:53 whiteknight then, if everything goes my way, I'm planning to rip out everything that isn't what I just mentioned :)
17:58 dalek rakudo/nom: da00ab7 | moritz++ | / (2 files):
17:58 dalek rakudo/nom: Str.lines
17:58 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/da00ab7343
17:59 dmalcolm joined #parrot
18:03 zby_home joined #parrot
18:04 whiteknight jnthn__: that refactor should be a performance win for Rakudo, since you do all your own processing right now anyway. We should be able to cut down significantly on the number of constants in your packfiles and improve call performance
18:07 jnthn__ whiteknight: Sound good. :)
18:08 jnthn__ whiteknight: At some point I'll refactor our processing to resolve lexical names to register numbers and get faster binds too.
18:08 whiteknight "our" = Rakudo's?
18:08 zby_home left #parrot
18:09 jnthn__ whiteknight: yes
18:09 whiteknight are those capabilities which can be backported into Parrot?
18:09 whiteknight faster binds is nice for everybody, even if not everybody makes use of it
18:09 jnthn__ whiteknight: I think Parrot already does bind directly into registers.
18:09 whiteknight oh, Rakudo doesn't use Parrot's lexicals implementation?
18:10 jnthn__ whiteknight: It does, but not as optimally as it could in this case.
18:10 whiteknight okay
18:10 jnthn__ whiteknight: It doesn't show up high in the profiles at the moment really. But every little helps.
18:10 jnthn__ whiteknight: What does show up in my profiles these days is that HLL map is *slow*.
18:10 jnthn__ whiteknight: In nom and nqp we hll map Lexpad.
18:11 whiteknight yeah, I always assumed that wasn't an optimal codepath
18:11 jnthn__ whiteknight: So that slowness hits every time we invoke something
18:11 jnthn__ It'd be better if HLL map just had an array
18:11 jnthn__ Right now it's a hash, but I dunno why
18:11 jnthn__ We only have 70 or so built-in PMCs and it's one array per HLL
18:12 whiteknight urg, I would really like to have a lot fewer built-in PMC types
18:12 whiteknight but that's neither here nor there
18:13 jnthn__ Well, I was guessing at the number
18:13 whiteknight either way, I know it's too many
18:13 jnthn__ But the point is we don't win anything by it being a hash, and we lose plenty.
18:13 whiteknight okay, so let's make the change
18:13 jnthn__ Generally, anything that improves Sub invocation is helpful though.
18:13 whiteknight it's just a hash idx -> idx, right? No names involved?
18:14 jnthn__ That's one of the things we bottleneck on a load.
18:14 jnthn__ Right, it's a hash mapping ints to ints
18:14 whiteknight it seems like that's the kind of thing we could cache somewhere
18:14 jnthn__ But we know those ints like in the range 0 < x < PMCs
18:14 jnthn__ *lie
18:14 jnthn__ So an array is fine, and far faster
18:15 whiteknight if only C had efficient closures.
18:16 contingencyplan joined #parrot
18:19 NotFound whiteknight: note that there are several unused functions in pcc, deleting them will mean less things to fix/change
18:22 NotFound http://tapir2.ro.vutbr.cz/cover/co​ver-results/2011-07/2011-07-11-27c​c427/c_cover/src-call-args-c.html
18:28 mj41_nb left #parrot
18:28 whiteknight NotFound: I'm not sure if all those can be removed. Some of them look useful for extensions
18:29 NotFound whiteknight: then they need tests.
18:29 whiteknight no argument
18:33 Eclesia joined #parrot
18:33 Eclesia hi
18:44 dalek rakudo/nom: 3d5e16b | jonathan++ | src/ (4 files):
18:44 dalek rakudo/nom: Implement nextsame and callsame.
18:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3d5e16b776
18:54 lucian joined #parrot
18:59 nopaste "NotFound" at 192.168.1.3 pasted "patch: use a FixedIntegerArray for HLL map" (60 lines) at http://nopaste.snit.ch/59611
18:59 NotFound This pass all tests
19:01 whiteknight NotFound++
19:01 jnthn__ nice
19:01 whiteknight I don't think we should merge that before the release. Create a branch for it for testing
19:01 NotFound whiteknight: I suck at benchmarking, and even more with HLLs
19:02 whiteknight NotFound: just create that branch. Other people will benchmark and test it
19:04 NotFound Every time I create a branch, Shiva kills a dinosaur.
19:04 whiteknight You've created many branches, I guess. I don't see many Dinosaurs left
19:05 * Eclesia *save dinosaurs, cut branchs*
19:07 dukeleto NotFound: that is svn branch, not git branch, right?
19:07 soh_cah_toa joined #parrot
19:07 NotFound dukeleto: don't know, haven't learned enough theology.
19:07 dukeleto NotFound: also, a test for that patch would be awesomesauce
19:08 NotFound dukeleto: What kinf of test?
19:08 NotFound I hope we already have tests for hll mapping
19:09 dukeleto NotFound: a test that covers that code
19:10 dukeleto NotFound: we might, but we might not for that PMC
19:12 NotFound dukeleto: I don't understand. If HLL map works, that code is necesarily used.
19:13 dukeleto NotFound: "if hll map works", does that mean the code works
19:13 dukeleto and is tested? or just that it works?
19:14 dukeleto NotFound: it would be interesting to see the coverage output of that patch
19:17 NotFound You guys ask too much for a quick test.
19:18 whiteknight :)
19:18 whiteknight just create a branch! We'll do the rest!
19:18 SHODAN joined #parrot
19:21 dukeleto NotFound: no good deed goes unpunished ;) Thanks for the patch.
19:22 dukeleto NotFound: if you create a branch for it, we can take care of the rest, as whiteknight++ says.
19:24 NotFound That's better :)
19:24 dukeleto Seems like everybody and their grandma has a LOLCODE interpreter http://code.google.com/p/mai​lchimp-lolcode-interpreter/
19:24 dukeleto * POOPONIT! - analogous to PHP's var_dump() for variable inspection
19:24 dukeleto wow.
19:28 dalek parrot/hllmap_fixed: fd7880a | NotFound++ | src/hll.c:
19:28 dalek parrot/hllmap_fixed: use a FixedIntegerArray instead of a Hash for HLL mappings
19:28 dalek parrot/hllmap_fixed: as suugested by jnthn__++
19:28 dalek parrot/hllmap_fixed: the array is created when the first HLLmap is done
19:28 dalek parrot/hllmap_fixed: review: https://github.com/parrot/parrot/commit/fd7880aa67
19:29 dukeleto NotFound: it would be interesting to use the GCC compile farm to run tests or code coverage for a list of specified branches
19:31 NotFound dukeleto: in all tests I've done the speed of the farm machines is less than awesome, we should be careful with automated usages.
19:31 dukeleto NotFound: which machines are you using?
19:31 dukeleto NotFound: some of them have 32 cores or more
19:31 dukeleto NotFound: but yes, some of them are dog-slow
19:32 NotFound dukeleto: I'm mostly interested in the architectures less available. But you're right, we can use the more powerful ones for that kind of tasks.
19:37 whiteknight right now, the "architectures less available" includes Windows
19:37 whiteknight it would be nice if we could get more hackage on that platform
19:38 NotFound The only windows machine I have available is an old laptop with XP home. I've done some fixes in it on the past, but is not exactly my favorite sport.
19:39 whiteknight yeah, same. I have a windows XP home VM on my laptop. I can fire it up but it doesn't have much power
19:39 whiteknight and I have to install git on it, compilers, etc
19:40 NotFound Specially considering that when someone does a fix with Strawberry, people complain that it fails with VC++ or something.
19:40 whiteknight right
19:40 whiteknight I'm bummed that my fix to NCI this morning didn't fix all the nciutils.t tests
19:40 whiteknight I can't figure out why, and that's bugging me
19:41 NotFound I wonder: Why people want to be buildable with VC++ if they aren't unable to do even a minimal fix on it?
19:42 whiteknight Well, that's a good question. Some of these windows test failures have been around for a while. We're looking at two releases at least where they would have been a problem
19:43 whiteknight so the question is, is Windows/VC++ still able to be listed as a "supported" platform? Can we support it?
19:43 whiteknight without a platform champion, it's hard to say that we really need to keep kicking the horse over it
19:46 NotFound The only usefulnes I see is that ttbot quickly shows ugly old C violations.
19:47 Coke note one of the 2 primary rakudo developers is using windows.
19:47 NotFound Coke: with VC++?
19:49 Coke believe so.
19:52 whiteknight a person who might be willing to jump in and save the day before a release is different from a "platform champion"
19:55 Coke we need to support it. if we don't have someone on the team, we need to advertise for a volunteer.
19:56 Coke It used to be particle, but i think he quit.
19:57 whiteknight I can do a limited amount of testing and fixing. I'm sure jnthn__ could do the same in a pinch. If we need more than that, and we clearly do, we need another person
19:57 dalek rakudo/nom: 68a64d7 | moritz++ | t/spectest.data:
19:57 dalek rakudo/nom: more passing test files
19:57 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/68a64d7f30
20:00 dalek winxed/include_2: 2f249e5 | NotFound++ | / (3 files):
20:00 dalek winxed/include_2: Merge branch 'include' into include_2
20:00 dalek winxed/include_2: review: https://github.com/NotFoun​d/winxed/commit/2f249e5335
20:03 dalek winxed: 2f249e5 | NotFound++ | / (3 files):
20:03 dalek winxed: Merge branch 'include' into include_2
20:03 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/2f249e5335
20:06 whiteknight left #parrot
20:09 dalek winxed: 68b0302 | NotFound++ | winxedst1.winxed:
20:09 dalek winxed: oops... set utf8 encoding on included files
20:09 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/68b0302fa5
20:10 jay I just upgraded from 3.3.0 to the master branch (I think) and my HLL built and tested, no problem.
20:13 dalek rakudo/nom: 0056aeb | jonathan++ | src/Perl6/SymbolTable.pm:
20:13 dalek rakudo/nom: Avoid breaking encapsulation of Code objects in SymbolTable.pm.
20:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/0056aeb626
20:13 dalek rakudo/nom: 6c57fa9 | jonathan++ | src/ (5 files):
20:13 dalek rakudo/nom: Finish up (hopefully) dispatcher for multis, so we can [next|call][same|with] over those too. Makes the sub case work, which never did in master.
20:13 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/6c57fa9edc
20:25 hercynium left #parrot
20:26 cotto_work ~~
20:30 jay NCI: recall I had trouble with a function call to a shared library with a non-trivial signature.  After upgrading my libffi and upgrading from 3.3.0 to the current, the same code (previously failing) now works.  Thanks, whoever, for that fix.
20:31 dalek winxed: 8d4f28d | NotFound++ | pir/winxed_compiler.pir:
20:31 dalek winxed: update installable compiler
20:31 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/8d4f28d18e
20:33 lichtkind joined #parrot
20:35 * lucian should write a blog post about not doing much work ...
20:37 * Eclesia Victory . made the "HelloWorld" example working for Eria : http://nopaste.snit.ch/59666
20:37 * Eclesia ... in three weeks :x ...
20:39 NotFound Eclesia++
20:41 Eclesia I have the felling I reinvented the pct tools ... parser, token, pir binding, past tree lol
20:43 NotFound dukeleto++ final grant update
20:46 dalek parrot: f359882 | NotFound++ | ext/winxed/compiler.pir:
20:46 dalek parrot: update winxed snapshot:
20:46 dalek parrot: * some new builtins
20:46 dalek parrot: * builtins are now looked up as ordinary functions
20:46 dalek parrot: * $include
20:46 dalek parrot: review: https://github.com/parrot/parrot/commit/f359882e79
20:49 Eclesia left #parrot
20:53 dukeleto NotFound: thanks. time to write more grants!
20:59 logie left #parrot
21:04 logie joined #parrot
21:05 simcop2387 left #parrot
21:09 nnunley left #parrot
21:10 ambs left #parrot
21:14 simcop2387 joined #parrot
21:19 Coke dukeleto: speaking of grants, can you point at a code coverage run for me?
21:20 Coke Ah: http://tapir2.ro.vutbr.cz/cover/la​test-c_cover/src-embed-api-c.html
21:22 cotto_work unsurprisingly, the code that NotFound++ modified has test coverage, apart from a few error conditions
21:22 cotto_work aloha: coverage?
21:22 aloha cotto_work: coverage is http://cv.perl6.cz or http://tapir2.ro.vutbr.cz/cover/cover-results/
21:23 Coke I thought fd7880aa6706fca4fd2d2a716827081d92f99a98 was not going to make it into this release?
21:24 Coke (notfound's hll FIA instead of Hash patch)
21:24 NotFound Coke: is a branch
21:25 NotFound parrot/hllmap_fixed
21:25 Coke blargh. looking at the URL for the commit, is the branch it's on listed anywhere?
21:26 Coke The commit looks reasonable, anyway. sorry about my confusion about where it landed!
21:27 fperrad left #parrot
21:27 NotFound whithenight and dukeleto said "We'll do the rest!", ask them ;)
21:27 cotto_work Coke: no.  It's listed in the message to parrot-commits, but not on the page since there's not necessarily a one-to-one mapping between commits and branches.
21:29 NotFound Coke: is supposed to be an optimization, so there is no point in merging it before benmarching confirm (or denies) the intuition.
21:31 NotFound I'm not chromatic, I can't give you numbers with 3 decimals.
21:32 cotto_work First question: Do we have a benchmark that exercises hllmaps heavily enough to show a change?
21:32 cotto_work I don't think there's one in Parrot's tests.
21:33 jnthn__ cotto_work: nom and nqp HLL-map LexPad, but I guess you're thinking a Parrot benchmark.
21:33 jnthn__ cotto_work: The HLL mapping of LexPad was showing up as more expensive than I'd have expected in the profiling results I was looking at.
21:34 simcop2387_ joined #parrot
21:34 particle1 joined #parrot
21:36 particle left #parrot
21:36 cotto_work jnthn__: can you recommend a benchmark, or will any long-running nqp code show an change?
21:36 simcop2387 left #parrot
21:36 simcop2387_ is now known as simcop2387
21:37 jnthn__ cotto_work: Just something invocation heavy.
21:38 jnthn__ cotto_work: http://6guts.wordpress.com/2011/​06/28/another-little-nom-update/ - the integer one here
21:38 Kulag left #parrot
21:38 Kulag joined #parrot
21:38 jnthn__ That's the one I profiled a bunch
21:38 jnthn__ Eventually we'll optimize away a lot of the calls, but at the moment we do a bunch.
21:39 perlite_ joined #parrot
21:42 cotto_work jnthn__: sounds like a plan
21:42 cotto_work or enough of one to work with
21:42 perlite left #parrot
21:42 perlite_ is now known as perlite
21:42 Psyche^ joined #parrot
21:43 mj41 left #parrot
21:46 Kulag left #parrot
21:46 hercynium joined #parrot
21:46 Kulag joined #parrot
21:47 Patterner left #parrot
21:47 Psyche^ is now known as Patterner
21:50 SHODAN left #parrot
22:00 bluescreen left #parrot
22:04 whiteknight joined #parrot
22:07 whiteknight good afternoon, #parrot
22:08 bubaflub afternoon whiteknight
22:17 darbelo o/
22:24 cotto_work (4340513910-4252558577)/4340513910
22:24 aloha 0.0202638062735756
22:25 cotto_work That's the result of my terribly unscientific testing of the impact of NotFound's patch on one of the snippets of Perl 6 from jnthn's blog post.
22:25 cotto_work modest improvement, nothing amazing
22:26 cotto_work but 2% for a straightforward change is definitely worthwhile
22:27 lucian left #parrot
22:32 jnthn__ cotto_work: 2% is around what I was expecting.
22:32 kid51 joined #parrot
22:32 jnthn__ cotto_work: That we spent 2% of runtime deciding what lexpad to create is kinda scary :)
22:32 jnthn__ That's not even creating it :)
22:33 cotto_work jnthn__: not the best use of time
22:33 cotto_work thanks for the suggestion
22:33 cotto_work jnthn++
22:33 jnthn__ It kinda stood out in the profile.
22:33 jnthn__ Sub's invoke v-table is a real hotpath generally
22:34 jnthn__ Anything that helps us in there is gonna be good overall
22:34 jnthn__ This was just the most obvious saving.
22:34 dalek winxed: dfd1b7d | NotFound++ | winxed (2 files):
22:34 dalek winxed: fix the checking for include file not open
22:34 dalek winxed: and pass -I option to the stage in the non installed driver
22:34 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/dfd1b7d222
22:38 cotto_work jnthn__: is it worth running spectest_regression on Rakudo nom to make sure that the branch doesn't have any unintended side-effects?
22:38 jnthn__ You can (though it's just "spectest" these days)
22:38 jnthn__ Though I suspect it's highly unlikely there'll be any
22:39 dalek parrot: 1794255 | NotFound++ | ext/winxed/compiler.pir:
22:39 dalek parrot: Update winxed snapshot to dfd1b7d222:
22:39 dalek parrot: fixes for include directives
22:39 dalek parrot: review: https://github.com/parrot/parrot/commit/179425591a
22:39 cotto_work Me too, but I don't like surprises.
22:39 dalek winxed: 420d3d2 | NotFound++ | pir/winxed_compiler.pir:
22:39 dalek winxed: update installable compiler
22:39 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/420d3d2280
22:40 dalek tracwiki: v80 | tadzik++ | ParrotQuotes
22:40 dalek tracwiki: http://trac.parrot.org/parrot/wiki/Pa​rrotQuotes?version=80&amp;action=diff
22:41 tadzik SCNR :)
22:43 NotFound Yesterday I was wondering with an idea: Parrot_ext_call can check if the pmc to invoke is a NativePCCMethod and take a shortcut avoiding to create a context in that case.
22:43 NotFound Don't know if the difference will be noticeable
22:46 whiteknight NotFound: if the check is cheap enough, it should be fine
22:46 whiteknight NativePCCMethod and NCI too
22:46 cotto_work tadzik++ #that page hasn't been getting enough love lately.
22:48 NotFound The check itself is cheap, but the shorcut is to copy around ren of lines from call/args.c
22:48 NotFound s/ren/ten
22:48 cotto_work I wonder if we could get another .5% by poking into the FIA
22:50 whiteknight what FIA?
22:54 cotto_work the one that notfound added in his branch
22:55 kid51 whiteknight: Is http://smolder.parrot.org/app/​projects/report_details/17429 your most recent smolder on Windows?
22:55 whiteknight kid51: it is my most recent smolder. I have since fixed t/pmc/nci.t
22:55 whiteknight I didn't smolder after that
22:56 kid51 Would you be able to smolder that?
22:56 whiteknight tomorrow morning I can
22:56 whiteknight kid51: what time are you planning to cut the release?
22:57 kid51 okay.  Your report has the fewest number of failing files, so getting fewer failures there is probably as good as we can do.
22:57 kid51 release: Next week!
22:58 kid51 But since I don't have a Win32 box, I need to rely on the kindness of strangers with Windows boxes.
23:00 whiteknight oh shoot. I thought the release was tomorrow
23:00 whiteknight I really should learn how to read a calendar
23:01 dalek rakudo/podparser: 06f1c95 | tadzik++ | src/Perl6/ (3 files):
23:01 dalek rakudo/podparser: Get rid of table_row_notempty insanity
23:01 dalek rakudo/podparser: review: https://github.com/rakudo/rakudo/commit/06f1c9587b
23:02 whiteknight I'll take a look at it tomorrow morning too
23:04 nopaste "NotFound" at 192.168.1.3 pasted "patch: shortcut in Parrot_ext_call" (31 lines) at http://nopaste.snit.ch/59745
23:04 NotFound whiteknight: here is
23:04 whiteknight yeah, that's what I was thinking about
23:05 NotFound Pass all tests
23:07 whiteknight nice
23:10 cotto_work (4340513910-4233745181)/4340513910
23:10 aloha 0.024598176901131
23:11 cotto_work about .4% by poking into the FIA directly
23:11 NotFound I think it were more lines when I tested yesterday, but I lost it by mistake. This new attempts is a bit shorter :?
23:13 NotFound NM, I always get confused when poking around PCC
23:14 NotFound cotto_work: comparing with master, or with the branch?
23:17 cotto_work NotFound: it's a ~2.5% improvement over master and about .4% over branch
23:18 NotFound Ah, yes, I see now.
23:18 cotto_work (4340513910-4233376894)/4340513910
23:18 aloha 0.0246830256097486
23:18 cotto_work (different run)
23:24 kid51 is now known as kid51_at_dinner
23:24 dalek Heuristic branch merge: pushed 203 commits to parrot/nqp_pct by Benabik
23:28 whiteknight holycrap
23:28 benabik Merge with master.
23:29 benabik master ran ahead of me before and during YAPC
23:33 hercynium left #parrot
23:34 dmalcolm left #parrot
23:34 darbelo left #parrot
23:34 darbelo joined #parrot
23:49 whiteknight did the vtable_substr branch merge?
23:49 whiteknight I can't remember
23:49 whiteknight yes, I think it did. Deleting it
23:49 daniel-s left #parrot
23:50 daniel-s joined #parrot
23:50 benabik whiteknight: `git branch --contains origin/vtable_substr` says "master"
23:51 whiteknight yeah

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

Parrot | source cross referenced