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