|
Parrot 4.4.0 "Banana Fanna Fo Ferret" | parrot.org | Log: irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC Set by moderator on 15 May 2012. |
|||
|
00:45
kjs left
01:09
kjs joined
|
|||
| Coke stares at some .dex code. | 02:39 | ||
|
02:44
alvis joined
|
|||
| adu | Coke: is that the Dalvik stuff? | 02:47 | |
|
03:09
lucian joined
|
|||
| Coke | adu: hai. | 03:30 | |
| adu | hi | 04:04 | |
|
05:17
mdupont joined
06:20
fperrad joined
08:36
kjs joined
08:38
treed joined
09:55
PacoAir joined
10:43
lateau joined
11:44
whiteknight joined
|
|||
| whiteknight | good morning, #parrot | 11:44 | |
|
11:46
lucian joined
12:07
kjs joined
12:28
JimmyZ joined
13:12
Patterner joined
|
|||
| dalek | rrot/whiteknight/sprintf_cleanup: 0783a03 | Whiteknight++ | / (5 files): Fix headerizer declarations so the public sprintf-related functions are declared in string_funcs.h instead of misc.h. Change the sprintf engine to use a StringBuilder instead of repeated (wasteful) string concats. |
13:12 | |
| rrot/whiteknight/sprintf_cleanup: ed516f4 | Whiteknight++ | src/string/sp (2 files): Attempt to fix error messages a little bit, on request from benabik++ (GH #759) |
|||
|
13:35
mtk joined
13:42
kjs joined
|
|||
| dalek | rrot/whiteknight/sprintf_cleanup: 5a39275 | Whiteknight++ | src/string/spf_render.c: Change a PANIC/DUMPCORE to an exception that urges the unfortunate user to file a bug report. A few small cleanups |
13:49 | |
| rrot/whiteknight/sprintf_cleanup: 3fc0977 | Whiteknight++ | / (2 files): A few small code cleanups. Fix t/op/sprintf.t, since it is wonderfully matching on the exact text of the exception message, which is changing for GH #759 |
|||
| whiteknight | msg benabik Can you take a look at github.com/parrot/parrot/issues/759? If you like it, I'll merge and close. | 13:57 | |
| aloha | OK. I'll deliver the message. | ||
| benabik | whiteknight: I haven't, say, compiled and tested it, but the code looks good to me. | 14:00 | |
| whiteknight | benabik: I think that's about the best that the error message can be made | ||
| benabik | Oh. Does the output include the initial % or not? | 14:01 | |
|
14:15
lucian joined
14:39
Woodi joined
14:51
kjs joined
|
|||
| whiteknight | benabik: yes | 14:52 | |
| benabik | Even better. whiteknight++ | 14:53 | |
|
14:58
adu joined
15:49
adu_ joined
16:03
kjs joined
|
|||
| aloha | (parrot/parrot) Issues opened : 773 (typo: docs/embed_new.pod) by lateau : github.com/parrot/parrot/issues/773 | 16:30 | |
| dalek | rrot: 28ab6f6 | (Daehyub Kim)++ | docs/embed_new.pod: typo: docs/embed_new.pod |
16:58 | |
| rrot: 98f8e6e | (Will Coleda)++ | docs/embed_new.pod: Merge pull request #773 from lateau/master typo: docs/embed_new.pod |
|||
| aloha | (parrot/parrot) Issues closed : 773 (typo: docs/embed_new.pod) by lateau : github.com/parrot/parrot/issues/773 | 17:00 | |
| dalek | p: 770e9f2 | moritz++ | src/Regex/P6Regex/ (2 files): implement <|w> and <|c> regex assertions |
17:12 | |
| p: 31fdcee | moritz++ | / (3 files): oops, should have implemented <|w> in qregex right away. With basic tests this time |
|||
| rrot: e3954cc | Whiteknight++ | / (7 files): src/misc.c contained only sprintf-related functions, so name it something more appropriate. Move the spf_* functions to the strings/ subsystem directory |
17:22 | ||
| rrot: ac03ba0 | Whiteknight++ | src/string/sprintf.c: Some small doc fixes for src/string/sprintf.c |
|||
| rrot: 002b854 | Whiteknight++ | / (5 files): Add a new spf_private.h header file to hold sprintf-related private definitions. |
|||
| rrot: 1003f3e | Whiteknight++ | / (2 files): Fix build. Update the makefile to build the sprintf files in their new locations. |
|||
| rrot: 7865d27 | Whiteknight++ | src/string/spf_render.c: First pass cleanup of spf_render.c. Invert an if block to reduce nesting. Add a few comments |
|||
| rrot: ee068e4 | Whiteknight++ | src/string/spf_render.c: Reduce nesting one more level. Because we have more space on the right side we can fix the relative indentations of certain blocks to be less scrunched. |
|||
| rrot: 413d3de | Whiteknight++ | src/string/spf_render.c: a few small docs fixes |
|||
| rrot: a19d8b7 | Whiteknight++ | src/string/spf_render.c: A handful of nitpicky cleanups |
|||
| rrot: 2fbc49a | Whiteknight++ | config/gen/makefiles/root.in: Fix t/src/checkdepend.t |
|||
| rrot: 49f6a6e | Whiteknight++ | / (138 files): Merge branch 'master' into whiteknight/sprintf_cleanup |
|||
| rrot: 0783a03 | Whiteknight++ | / (5 files): Fix headerizer declarations so the public sprintf-related functions are declared in string_funcs.h instead of misc.h. Change the sprintf engine to use a StringBuilder instead of repeated (wasteful) string concats. |
|||
| rrot: ed516f4 | Whiteknight++ | src/string/sp (2 files): Attempt to fix error messages a little bit, on request from benabik++ (GH #759) |
|||
| rrot: 5a39275 | Whiteknight++ | src/string/spf_render.c: Change a PANIC/DUMPCORE to an exception that urges the unfortunate user to file a bug report. A few small cleanups |
|||
| rrot: 3fc0977 | Whiteknight++ | / (2 files): A few small code cleanups. Fix t/op/sprintf.t, since it is wonderfully matching on the exact text of the exception message, which is changing for GH #759 |
|||
| rrot: 8013788 | Whiteknight++ | docs/embed_new.pod: Merge branch 'master' of github.com:parrot/parrot |
|||
| aloha | (parrot/parrot) Issues closed : 759 (sprintf error should be more awesome) by Benabik : github.com/parrot/parrot/issues/759 | 17:35 | |
|
17:49
lucian joined
|
|||
| dalek | kudo/nom: e8480cd | moritz++ | / (2 files): bump NQP revision to get <|w>, <|c> also remove those assertions from ROADMAP |
17:50 | |
|
18:23
crab2313 joined
18:26
schmoo joined
|
|||
| Coke | AIGH. perl Configure.pl --prefix=~/bird -> creates ./~ on OS X. | 18:52 | |
| rm -rf \\~ autotabs to rm -rf ~/ | |||
| hilarity ensues. | 18:53 | ||
| I just lost of ton of stuff that was not backed up. :( | |||
| moritz | :( | ||
| Coke: linux has the same problem with ~ not expanding unless it's at the start of a word | 18:54 | ||
| benabik | Well, it's not Linux v OS X. It's bash in both places. | 18:55 | |
| moritz | right | 18:56 | |
| whiteknight | Coke: oh noes! | ||
| moritz uses $HOME now in such cases | 18:57 | ||
| sorear hugs Coke | 18:59 | ||
| Coke | Even better, work laptop, hope I didn't delete anything crucial. bother. | ||
| moritz hopes so too | 19:00 | ||
| Coke | (thankfully, it complained that ~/Desktop wasn't deletable at which point I canceled. still lost all my dotfiles and goodness knows what else. | ||
| moritz | Coke: I have a file called '0' in my home dir which isn't writable, for such occasions | 19:02 | |
| not sure if it would catch it before the dotfiles though | |||
| whiteknight | moritz: that's very clever | 19:03 | |
| benabik | I think ... is safer | ||
| benabik makes that file. | |||
| Coke | if I create an unwriteable .. dir, and a 'barf' dir, and do rm -rf ... barf, it complains about ... but still deletes barf. | 19:07 | |
| moritz | right, -rf is an evil combination | ||
| whiteknight | highly effective, when you really want to delete the hell out of everything | ||
| moritz | dd'ing to /dev/sd* is also fun | 19:08 | |
| benabik | uh | ||
| fsvo fun | |||
| sorear | y'all are assuming rm removes files in alphabetical order | 19:11 | |
| it would be wise to test this - I think it depends on filesystem | |||
| ext3 with directory hashing definitely has non-alphabetical readdir() order | 19:12 | ||
| I just had an evil idea | |||
| whiteknight | the best kind of idea | 19:13 | |
| sorear | make a FUSE mount with a single file which sleeps forever on unlink attempts | ||
| mount it as $HOME/\\1 | |||
| make sure your $HOME fs does sorted readdir | |||
| moritz | r | 19:14 | |
| or | |||
| back up your data :-) | |||
| whiteknight | t/run/options.t test #34 segfaults, but the test passes | 19:34 | |
| in my gc_finalize branch I've removed that option, but in master it's still live and causes segfaults | 19:35 | ||
| benabik | Passes but segfaults? | 19:36 | |
| whiteknight | Segmentation fault (core dumped) | ||
| ok 34 - --leak-test | |||
| benabik | that's... poor | 19:37 | |
| whiteknight | --leak-test is the option that turns on GC finalization | ||
| so it doesn't surprise me that the fail is strong with that one | |||
| what does surprise me is that the test ignores the segfault | |||
| I saw it in my singletons branch, and thought I did something to cause it. | 19:39 | ||
| ...which also wouldn't surprise me, because of all the get_pointer/set_pointer shenanigans with singletons | |||
| Coke | whiteknight: depending on how the test is writen, it may just be checking STDOUT. | 20:09 | |
| STR a test like this from about... 8 years ago. | |||
|
20:26
kjs joined
|
|||
| cotto | kjs, your m1 compiler needs a github repo. It's not sustainable to sling around zip files. I think you'll find it less scary than you anticipate. | 21:15 | |
| kjs | cotto: i think you're right | ||
| havent taken the time and had the patience to check it out | 21:16 | ||
| how much progress will be made on M0 in coming weeks? | |||
| cotto | in the coming week*s*, should be a significant amount. I'm basically out of commission today though. | 21:17 | |
| kjs | ok. I'm running into a few issues that I'm not sure about | ||
| cotto | on your github profile page, start with the "new repository" button. I'll be glad to help you from there. | 21:18 | |
| kjs | also, a few missing ops that I think should be there (e.g., a "neg" and a "lt" or similar op) | ||
| I'll do that some other time if i'm online, going offline soon. | |||
| cotto | ok. What happened to v2? I only see v1 and v3 on the list | 21:19 | |
| kjs | i think I sent 3 but didnt name v2 as such. | ||
| cotto | gotcha | ||
| do you mind if I put it under the parrot org and give you a commit bit? | |||
| kjs | not at all | ||
| thanks | |||
| i think it would be useful to start a discussion on the shape it's taking | 21:20 | ||
| i'm quite pleased with how simple it was to put this thing together :-) | |||
| cotto | yes | ||
| kjs | re. discussion: i think my m1 can guide a discussion on how to progress, in order to get all noses in the same direction | 21:21 | |
| cotto | I'm way too lazy to look at zip files and figure out what's changed. | ||
| kjs | ok sure, it's just to show "look, this is what it does" | ||
|
21:22
plobsing joined
21:27
kurahaupo joined
|
|||
| cotto | kjs, done | 21:28 | |
| kjs | thanks | ||
| cotto | github.com/parrot/m1 | 21:29 | |
| kjs | beautiful. open for anyone to hack so :-) | ||
| cotto | including you ;) | 21:39 | |
| kjs | cotto: whenever you're back on m0 design, could you have a look and see whether this is something that you want, or that you want to go a different approach. | ||
| cotto | kjs, definitely | 21:41 | |
|
21:41
lucian joined
|
|||
| whiteknight | good evening, #parrot | 22:41 | |
| tadzik | hey whiteknight | 22:43 | |
| whiteknight | hello | ||
| cotto: ping | 22:48 | ||
| cotto | whiteknight, pong | 22:56 | |
| whiteknight | cotto: did you get my message yesterday? | ||
| cotto | wrt i/o? | ||
| yes | |||
| whiteknight | yeah | 22:57 | |
| cotto | I'm re-reading now to make sure I didn't miss anything, but it sounds like a good way to break up the code. | 22:58 | |
| whiteknight | it's the best idea I've had about this system so far, and my track record of trying to clean it is long and uneventful | 22:59 | |
| though it's a little suspect that I took positive inspiration from the sprintf code | 23:00 | ||
| cotto | heh | ||
| that's some special code | |||
| whiteknight | my favorite is that Parrot_secret_snprintf just calls ordinary sprintf and doesn't even pretend to limit length | 23:01 | |
| cotto | why do readline and readall both need vtable slots? | 23:02 | |
| whiteknight | I wanted to get the libreadline logic out of FileHandle PMC, but that's not important. | ||
| The readall stuff could be moved into the buffering logic | |||
| that whole mess is going to be radically de-crapped too | 23:04 | ||
| cotto | you're taking the io subsystem in a good direction | 23:05 | |
| whiteknight | I was hoping you would say that | 23:06 | |
| cotto | some entries are missing from the _io_vtable struct | ||
| tell, peek, seek | |||
| whiteknight | I thought I had those in there | ||
| cotto | there's a typedef, it's just not in the struct | 23:07 | |
| whiteknight | oh, okay | ||
| they will be | |||
| and I'm sure I'll have to add one or two things for sockets and pipes | |||
| cotto | where would mmap fit in? | 23:08 | |
| whiteknight | do we offer mmapping now? | ||
| cotto | mappedbytearray does | 23:09 | |
| whiteknight | yeah, it does. I just found that | ||
| That is something I could try to better integrate. It only really matters for FileHandles I think | 23:10 | ||
| though that's the same for tell and seek | |||
| cotto | true | ||
| and thus we get back into the realm of having vtables slots that aren't always appropriate | 23:11 | ||
| whiteknight | The big important operations (read, write, open, close) will definitely be shared. The overall number of vtable slots will still be small for these types | 23:12 | |
| cotto | how about error handling? | 23:16 | |
| whiteknight | what do you mean? | 23:19 | |
| many of those typedefed function types return an INTVAL where we can return a number of chars or a status | 23:20 | ||
| cotto | ok. That's unsurprising. | 23:22 | |
| whiteknight | throwing fewer exceptions in places like this is probably a good thing. Everything else can return 0 or NULL or STRINGNULL or whatever is appropriate | 23:28 | |
| benabik | Exceptions are useful. Give more information than "it failed" | 23:29 | |
| whiteknight | benabik: sure, but there are performance issues to consider and many os-level routines aren't going to return much more actionable information | 23:32 | |
| benabik | Can use errno/strerr if you haven't invoked another system function since. | 23:33 | |
| It's highly unreliable if you wait. And it'd be hard to access it from inside the VM. | |||
| dalek | kudo: d7f45ff | moritz++ | src/core/Cool.pm: Cool.eval |
23:34 | |
| kudo/nom: dca0fa6 | jnthn++ | docs/ROADMAP: Remove a dupe entry, remove a completed entry and a couple of tweaks. |
23:36 | ||
| cotto | benabik, I was just thinking about that too. | 23:37 | |
| whiteknight | so, exceptions are preferred? | ||
| cotto | if we can get useful information from the system, we should expose it | 23:39 | |
| whiteknight | okay, I'm fine with that | 23:42 | |
| but assuming we can get an errno value, does it matter whether we return the int value to the user, or turn it into a string and throw the exception? | 23:43 | ||
| NotFound | ~~ | 23:44 | |
| whiteknight | NotFound! | 23:45 | |
| NotFound | Found! | ||
| whiteknight: values returned from system calls doesn't distinguish well exeptional conditions. For example, I consider File Not Found an exceptional situation, but Read Eof is not always exceptional. | 23:50 | ||
|
23:50
kid51 joined
|
|||
| whiteknight | our current system returns eof=true when the file is not found or the handle is null or closed | 23:51 | |
| so, adding more information breaks current behavior | |||
| I'm not arguing against breaking things, just pointing that out | |||
| Better integrating ByteBuffer and MappedByteArray into the IO system would be a big benefit | 23:53 | ||
| I'll have to do some thinking about those things | |||
| NotFound | ByteBuffer as IO? Why? | ||
| whiteknight | ByteBuffer to read from and write to IO | 23:54 | |
| that's what moritz++ asked for | |||
| NotFound | Ah, good. | ||
| whiteknight | I am imagining the needless complication of writing a ByteBuffer to a StringHandle | 23:55 | |
| NotFound | What complication? If some users really wants to write raw bytes to a string, they should know what they are doing. | 23:57 | |
| (and if they really don't want, they must encode they desired way, not expect unreasonable magic. | 23:59 | ||