Camelia, the Perl 6 bug

IRC log for #parrot, 2012-05-20

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:45 kjs left #parrot
01:09 kjs joined #parrot
02:39 * Coke stares at some .dex code.
02:44 alvis joined #parrot
02:47 adu Coke: is that the Dalvik stuff?
03:09 lucian joined #parrot
03:30 Coke adu: hai.
04:04 adu hi
05:17 mdupont joined #parrot
06:20 fperrad joined #parrot
08:36 kjs joined #parrot
08:38 treed joined #parrot
09:55 PacoAir joined #parrot
10:43 lateau joined #parrot
11:44 whiteknight joined #parrot
11:44 whiteknight good morning, #parrot
11:46 lucian joined #parrot
12:07 kjs joined #parrot
12:28 JimmyZ joined #parrot
13:12 Patterner joined #parrot
13:12 dalek parrot/whiteknight/sprintf_cleanup: 0783a03 | Whiteknight++ | / (5 files):
13:12 dalek parrot/whiteknight/sprintf_cleanup: 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 dalek parrot/whiteknight/sprintf_cleanup: review: https://github.com/parrot/parrot/commit/0783a031e7
13:12 dalek parrot/whiteknight/sprintf_cleanup: ed516f4 | Whiteknight++ | src/string/sp (2 files):
13:12 dalek parrot/whiteknight/sprintf_cleanup: Attempt to fix error messages a little bit, on request from benabik++ (GH #759)
13:12 dalek parrot/whiteknight/sprintf_cleanup: review: https://github.com/parrot/parrot/commit/ed516f4a27
13:35 mtk joined #parrot
13:42 kjs joined #parrot
13:49 dalek parrot/whiteknight/sprintf_cleanup: 5a39275 | Whiteknight++ | src/string/spf_render.c:
13:49 dalek parrot/whiteknight/sprintf_cleanup: Change a PANIC/DUMPCORE to an exception that urges the unfortunate user to file a bug report. A few small cleanups
13:49 dalek parrot/whiteknight/sprintf_cleanup: review: https://github.com/parrot/parrot/commit/5a39275696
13:49 dalek parrot/whiteknight/sprintf_cleanup: 3fc0977 | Whiteknight++ | / (2 files):
13:49 dalek parrot/whiteknight/sprintf_cleanup: 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
13:49 dalek parrot/whiteknight/sprintf_cleanup: review: https://github.com/parrot/parrot/commit/3fc09774d7
13:57 whiteknight msg benabik Can you take a look at https://github.com/parrot/parrot/issues/759? If you like it, I'll merge and close.
13:57 aloha OK. I'll deliver the message.
14:00 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
14:01 benabik Oh.  Does the output include the initial % or not?
14:15 lucian joined #parrot
14:39 Woodi joined #parrot
14:51 kjs joined #parrot
14:52 whiteknight benabik: yes
14:53 benabik Even better.  whiteknight++
14:58 adu joined #parrot
15:49 adu_ joined #parrot
16:03 kjs joined #parrot
16:30 aloha (parrot/parrot) Issues opened : 773 (typo: docs/embed_new.pod) by lateau : https://github.com/parrot/parrot/issues/773
16:58 dalek parrot: 28ab6f6 | (Daehyub Kim)++ | docs/embed_new.pod:
16:58 dalek parrot: typo: docs/embed_new.pod
16:58 dalek parrot: review: https://github.com/parrot/parrot/commit/28ab6f62e3
16:58 dalek parrot: 98f8e6e | (Will Coleda)++ | docs/embed_new.pod:
16:58 dalek parrot: Merge pull request #773 from lateau/master
16:58 dalek parrot:
16:58 dalek parrot: typo: docs/embed_new.pod
16:58 dalek parrot: review: https://github.com/parrot/parrot/commit/98f8e6e56f
17:00 aloha (parrot/parrot) Issues closed : 773 (typo: docs/embed_new.pod) by lateau : https://github.com/parrot/parrot/issues/773
17:12 dalek nqp: 770e9f2 | moritz++ | src/Regex/P6Regex/ (2 files):
17:12 dalek nqp: implement <|w> and <|c> regex assertions
17:12 dalek nqp: review: https://github.com/perl6/nqp/commit/770e9f28cc
17:12 dalek nqp: 31fdcee | moritz++ | / (3 files):
17:12 dalek nqp: oops, should have implemented <|w> in qregex right away. With basic tests this time
17:12 dalek nqp: review: https://github.com/perl6/nqp/commit/31fdceea60
17:22 dalek parrot: e3954cc | Whiteknight++ | / (7 files):
17:22 dalek parrot: 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 dalek parrot: review: https://github.com/parrot/parrot/commit/e3954cc0b5
17:22 dalek parrot: ac03ba0 | Whiteknight++ | src/string/sprintf.c:
17:22 dalek parrot: Some small doc fixes for src/string/sprintf.c
17:22 dalek parrot: review: https://github.com/parrot/parrot/commit/ac03ba0788
17:22 dalek parrot: 002b854 | Whiteknight++ | / (5 files):
17:22 dalek parrot: Add a new spf_private.h header file to hold sprintf-related private definitions.
17:22 dalek parrot: review: https://github.com/parrot/parrot/commit/002b85421b
17:22 dalek parrot: 1003f3e | Whiteknight++ | / (2 files):
17:22 dalek parrot: Fix build. Update the makefile to build the sprintf files in their new locations.
17:22 dalek parrot: review: https://github.com/parrot/parrot/commit/1003f3ec64
17:22 dalek parrot: 7865d27 | Whiteknight++ | src/string/spf_render.c:
17:22 dalek parrot: First pass cleanup of spf_render.c. Invert an if block to reduce nesting. Add a few comments
17:22 dalek parrot: review: https://github.com/parrot/parrot/commit/7865d2759c
17:22 dalek parrot: ee068e4 | Whiteknight++ | src/string/spf_render.c:
17:22 dalek parrot: 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.
17:22 dalek parrot: review: https://github.com/parrot/parrot/commit/ee068e4b1f
17:22 dalek parrot: 413d3de | Whiteknight++ | src/string/spf_render.c:
17:22 dalek parrot: a few small docs fixes
17:22 dalek parrot: review: https://github.com/parrot/parrot/commit/413d3de453
17:22 dalek parrot: a19d8b7 | Whiteknight++ | src/string/spf_render.c:
17:23 dalek parrot: A handful of nitpicky cleanups
17:23 dalek parrot: review: https://github.com/parrot/parrot/commit/a19d8b76e9
17:23 dalek parrot: 2fbc49a | Whiteknight++ | config/gen/makefiles/root.in:
17:23 dalek parrot: Fix t/src/checkdepend.t
17:23 dalek parrot: review: https://github.com/parrot/parrot/commit/2fbc49a348
17:23 dalek parrot: 49f6a6e | Whiteknight++ | / (138 files):
17:23 dalek parrot: Merge branch 'master' into whiteknight/sprintf_cleanup
17:23 dalek parrot: review: https://github.com/parrot/parrot/commit/49f6a6e311
17:23 dalek parrot: 0783a03 | Whiteknight++ | / (5 files):
17:23 dalek parrot: 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.
17:23 dalek parrot: review: https://github.com/parrot/parrot/commit/0783a031e7
17:23 dalek parrot: ed516f4 | Whiteknight++ | src/string/sp (2 files):
17:23 dalek parrot: Attempt to fix error messages a little bit, on request from benabik++ (GH #759)
17:23 dalek parrot: review: https://github.com/parrot/parrot/commit/ed516f4a27
17:23 dalek parrot: 5a39275 | Whiteknight++ | src/string/spf_render.c:
17:23 dalek parrot: Change a PANIC/DUMPCORE to an exception that urges the unfortunate user to file a bug report. A few small cleanups
17:23 dalek parrot: review: https://github.com/parrot/parrot/commit/5a39275696
17:23 dalek parrot: 3fc0977 | Whiteknight++ | / (2 files):
17:23 dalek parrot: 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
17:23 dalek parrot: review: https://github.com/parrot/parrot/commit/3fc09774d7
17:23 dalek parrot: 8013788 | Whiteknight++ | docs/embed_new.pod:
17:23 dalek parrot: Merge branch 'master' of github.com:parrot/parrot
17:23 dalek parrot: review: https://github.com/parrot/parrot/commit/8013788e35
17:35 aloha (parrot/parrot) Issues closed : 759 (sprintf error should be more awesome) by Benabik : https://github.com/parrot/parrot/issues/759
17:49 lucian joined #parrot
17:50 dalek rakudo/nom: e8480cd | moritz++ | / (2 files):
17:50 dalek rakudo/nom: bump NQP revision to get <|w>, <|c>
17:50 dalek rakudo/nom:
17:50 dalek rakudo/nom: also remove those assertions from ROADMAP
17:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/e8480cd844
18:23 crab2313 joined #parrot
18:26 schmoo joined #parrot
18:52 Coke AIGH. perl Configure.pl --prefix=~/bird -> creates ./~ on OS X.
18:52 Coke rm -rf \~ autotabs to rm -rf ~/
18:53 Coke hilarity ensues.
18:53 Coke I just lost of ton of stuff that was not backed up. :(
18:53 moritz :(
18:54 moritz Coke: linux has the same problem with ~ not expanding unless it's at the start of a word
18:55 benabik Well, it's not Linux v OS X.  It's bash in both places.
18:56 moritz right
18:56 whiteknight Coke: oh noes!
18:57 * moritz uses $HOME now in such cases
18:59 * sorear hugs Coke
18:59 Coke Even better, work laptop, hope I didn't delete anything crucial. bother.
19:00 * 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.
19:02 moritz Coke: I have a file called '0' in my home dir which isn't writable, for such occasions
19:02 moritz not sure if it would catch it before the dotfiles though
19:03 whiteknight moritz: that's very clever
19:03 benabik I think ... is safer
19:03 * benabik makes that file.
19:07 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
19:07 whiteknight highly effective, when you really want to delete the hell out of everything
19:08 moritz dd'ing to /dev/sd* is also fun
19:08 benabik uh
19:08 benabik fsvo fun
19:11 sorear y'all are assuming rm removes files in alphabetical order
19:11 sorear it would be wise to test this - I think it depends on filesystem
19:12 sorear ext3 with directory hashing definitely has non-alphabetical readdir() order
19:12 sorear I just had an evil idea
19:13 whiteknight the best kind of idea
19:13 sorear make a FUSE mount with a single file which sleeps forever on unlink attempts
19:13 sorear mount it as $HOME/\1
19:13 sorear make sure your $HOME fs does sorted readdir
19:14 moritz r
19:14 moritz or
19:14 moritz back up your data :-)
19:34 whiteknight t/run/options.t test #34 segfaults, but the test passes
19:35 whiteknight in my gc_finalize branch I've removed that option, but in master it's still live and causes segfaults
19:36 benabik Passes but segfaults?
19:36 whiteknight Segmentation fault (core dumped)
19:36 whiteknight ok 34 - --leak-test
19:37 benabik that's...  poor
19:37 whiteknight --leak-test is the option that turns on GC finalization
19:37 whiteknight so it doesn't surprise me that the fail is strong with that one
19:37 whiteknight what does surprise me is that the test ignores the segfault
19:39 whiteknight I saw it in my singletons branch, and thought I did something to cause it.
19:39 whiteknight ...which also wouldn't surprise me, because of all the get_pointer/set_pointer shenanigans with singletons
20:09 Coke whiteknight: depending on how the test is writen, it may just be checking STDOUT.
20:09 Coke STR a test like this from about... 8 years ago.
20:26 kjs joined #parrot
21:15 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
21:16 kjs havent taken the time and had the patience to check it out
21:16 kjs how much progress will be made on M0 in coming weeks?
21:17 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
21:18 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)
21:18 kjs I'll do that some other time if i'm online, going offline soon.
21:19 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.
21:19 cotto gotcha
21:19 cotto do you mind if I put it under the parrot org and give you a commit bit?
21:19 kjs not at all
21:19 kjs thanks
21:20 kjs i think it would be useful to start a discussion on the shape it's taking
21:20 kjs i'm quite pleased with how simple it was to put this thing together :-)
21:20 cotto yes
21:21 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.
21:21 kjs ok sure, it's just to show "look, this is what it does"
21:22 plobsing joined #parrot
21:27 kurahaupo joined #parrot
21:28 cotto kjs, done
21:28 kjs thanks
21:29 cotto https://github.com/parrot/m1
21:29 kjs beautiful. open for anyone to hack so :-)
21:39 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.
21:41 cotto kjs, definitely
21:41 lucian joined #parrot
22:41 whiteknight good evening, #parrot
22:43 tadzik hey whiteknight
22:43 whiteknight hello
22:48 whiteknight cotto: ping
22:56 cotto whiteknight, pong
22:56 whiteknight cotto: did you get my message yesterday?
22:56 cotto wrt i/o?
22:56 cotto yes
22:57 whiteknight yeah
22:58 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:59 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
23:00 whiteknight though it's a little suspect that I took positive inspiration from the sprintf code
23:00 cotto heh
23:00 cotto that's some special code
23:01 whiteknight my favorite is that Parrot_secret_snprintf just calls ordinary sprintf and doesn't even pretend to limit length
23:02 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.
23:02 whiteknight The readall stuff could be moved into the buffering logic
23:04 whiteknight that whole mess is going to be radically de-crapped too
23:05 cotto you're taking the io subsystem in a good direction
23:06 whiteknight I was hoping you would say that
23:06 cotto some entries are missing from the _io_vtable struct
23:06 cotto tell, peek, seek
23:06 whiteknight I thought I had those in there
23:07 cotto there's a typedef, it's just not in the struct
23:07 whiteknight oh, okay
23:07 whiteknight they will be
23:07 whiteknight and I'm sure I'll have to add one or two things for sockets and pipes
23:08 cotto where would mmap fit in?
23:08 whiteknight do we offer mmapping now?
23:09 cotto mappedbytearray does
23:09 whiteknight yeah, it does. I just found that
23:10 whiteknight That is something I could try to better integrate. It only really matters for FileHandles I think
23:10 whiteknight though that's the same for tell and seek
23:10 cotto true
23:11 cotto and thus we get back into the realm of having vtables slots that aren't always appropriate
23:12 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:16 cotto how about error handling?
23:19 whiteknight what do you mean?
23:20 whiteknight many of those typedefed function types return an INTVAL where we can return a number of chars or a status
23:22 cotto ok.  That's unsurprising.
23:28 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:29 benabik Exceptions are useful.  Give more information than "it failed"
23:32 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:33 benabik Can use errno/strerr if you haven't invoked another system function since.
23:33 benabik It's highly unreliable if you wait.  And it'd be hard to access it from inside the VM.
23:34 dalek rakudo: d7f45ff | moritz++ | src/core/Cool.pm:
23:34 dalek rakudo: Cool.eval
23:34 dalek rakudo: review: https://github.com/rakudo/rakudo/commit/d7f45ff8cf
23:36 dalek rakudo/nom: dca0fa6 | jnthn++ | docs/ROADMAP:
23:36 dalek rakudo/nom: Remove a dupe entry, remove a completed entry and a couple of tweaks.
23:36 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/dca0fa6827
23:37 cotto benabik, I was just thinking about that too.
23:37 whiteknight so, exceptions are preferred?
23:39 cotto if we can get useful information from the system, we should expose it
23:42 whiteknight okay, I'm fine with that
23:43 whiteknight 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:44 NotFound ~~
23:45 whiteknight NotFound!
23:45 NotFound Found!
23:50 NotFound 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 kid51 joined #parrot
23:51 whiteknight our current system returns eof=true when the file is not found or the handle is null or closed
23:51 whiteknight so, adding more information breaks current behavior
23:51 whiteknight I'm not arguing against breaking things, just pointing that out
23:53 whiteknight Better integrating ByteBuffer and MappedByteArray into the IO system would be a big benefit
23:53 whiteknight I'll have to do some thinking about those things
23:53 NotFound ByteBuffer as IO? Why?
23:54 whiteknight ByteBuffer to read from and write to IO
23:54 whiteknight that's what moritz++ asked for
23:54 NotFound Ah, good.
23:55 whiteknight I am imagining the needless complication of writing a ByteBuffer to a StringHandle
23:57 NotFound What complication? If some users really wants to write raw bytes to a string, they should know what they are doing.
23:59 NotFound (and if they really don't want, they must encode they desired way, not expect unreasonable magic.

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

Parrot | source cross referenced