Camelia, the Perl 6 bug

IRC log for #parrot, 2012-05-23

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:00 dalek m1: e46ca53 | (kj, kjs)++ | m1parser.h:
00:00 dalek m1: dont need generated file
00:00 dalek m1: review: https://github.com/parrot/m1/commit/e46ca53f80
00:00 dalek m1: 9db097f | (kj, kjs)++ | m1lexer.h:
00:00 dalek m1: dont need generated file
00:00 cotto much better
00:00 dalek m1: review: https://github.com/parrot/m1/commit/9db097fa7d
00:00 dalek m1: 95915c7 | (kj, kjs)++ | Makefile:
00:00 dalek m1: add dependency for m1.l/flex
00:00 dalek m1: review: https://github.com/parrot/m1/commit/95915c7c8d
00:13 whiteknight joined #parrot
00:13 whiteknight good evening, #parrot
00:14 diakopter joined #parrot
00:15 cotto hio whiteknight
00:21 whiteknight hello cotto
00:25 whiteknight moritz: ping
00:45 diakopter left #parrot
00:47 whiteknight t/codingstd/pod_description.t tells us that we have 240 files without DESCRIPTION sections
00:47 whiteknight I humbly submit to whoever is listening that this is an insurmountable problem to which we will not devote any concerted effort
00:48 whiteknight Instead I suggest that we declare DESCRIPTION sections to be non-required, and remove the test
00:52 cotto They're nice when they exist.
00:53 dalek parrot: 195402a | Whiteknight++ | / (6 files):
00:53 dalek parrot: Add a new Parrot_io_socket_recv_to_buffer to read from a socket to a preexisting buffer. Refactor most of the guts of the FileHandle.read_bytes method into a new Parrot_io_read_byte_buffer_pmc. Move the read_bytes method from FileHandle to Handle to we can inherit it to Socket too.
00:53 dalek parrot: review: https://github.com/parrot/parrot/commit/195402ad34
00:53 dalek parrot: 3747017 | Whiteknight++ | / (4 files):
00:53 dalek parrot: Add a new .write_bytes() method to Handle, which will be inherited by FileHandle and Socket. This method reads bytes from a ByteBuffer and outputs to the handle. Untested and several codestd problems.
00:53 dalek parrot: review: https://github.com/parrot/parrot/commit/3747017b76
00:53 dalek parrot: 93584d0 | Whiteknight++ | / (17 files):
00:53 dalek parrot: Merge branch 'master' into whiteknight/gh_610
00:53 mtk joined #parrot
00:53 dalek parrot: review: https://github.com/parrot/parrot/commit/93584d0568
00:53 dalek parrot: c93f492 | Whiteknight++ | api.yaml:
00:53 dalek parrot: Add note about .read_bytes and .write_bytes to api.yaml
00:53 dalek parrot: review: https://github.com/parrot/parrot/commit/c93f492265
00:53 dalek parrot: 968bb3d | Whiteknight++ | src/io/ (2 files):
00:53 dalek parrot: Fix several codetests
00:53 dalek parrot: review: https://github.com/parrot/parrot/commit/968bb3da82
00:53 dalek parrot: 8ce52c0 | Whiteknight++ | ChangeLog:
00:53 dalek parrot: Update ChangeLog with some of my activities since 4.4.0.
00:53 dalek parrot: review: https://github.com/parrot/parrot/commit/8ce52c0741
00:53 whiteknight sure are, but missing it from 240 files? That's like saying "we don't do this"
00:56 cotto some of them do have a description
00:56 cotto just not all caps
00:58 cotto I wonder how much would break if the code were made to not care about case
01:00 cotto 231
01:00 cotto so no big win there
01:00 cotto actually, the first one I checked has a description
01:01 cotto clearly a lta test
01:01 cotto *an
01:03 whiteknight If you're looking for me to say "yes, this is all worth while!", you're going to be waiting for a while
01:03 cotto I'm not
01:03 whiteknight The test doesn't waste too much time, but it's clearly not testing for something we enforce. or care about at all
01:03 cotto It'd be a good newbie issue.
01:04 cotto I'm content to file an issue and leave it at that.
01:04 travis-ci joined #parrot
01:04 travis-ci [travis-ci] parrot/parrot#380 (master - 8ce52c0 : Whiteknight): The build was broken.
01:04 travis-ci [travis-ci] Change view : https://github.com/parrot/par​rot/compare/68fed26...8ce52c0
01:04 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/1406626
01:04 travis-ci left #parrot
01:04 whiteknight F you, travis
01:05 dalek parrot: 43531db | Whiteknight++ | / (2 files):
01:05 dalek parrot: Add a test for .FileHandle.write_bytes. Already found (and fixed) a bug where we initialize ByteBuffer with a String instead of a raw char*
01:05 dalek parrot: review: https://github.com/parrot/parrot/commit/43531db8bd
01:05 dalek Heuristic branch merge: pushed 29 commits to parrot/whiteknight/gh_610 by Whiteknight
01:05 whiteknight cotto: yeah, a ticket works well here. It's obviously not a big enough problem that I'm going to fix it now
01:07 whiteknight somehow, I don't think the program is going to care if I pass an "unsigned char *" to a function instead of a "char *"
01:08 whiteknight I suspect things will keep on working as if nothing was wrong
01:12 dalek parrot: 758cf9e | Whiteknight++ | / (2 files):
01:12 dalek parrot: Fix the number of tests. Add a cast to make g++ happy
01:12 dalek parrot: review: https://github.com/parrot/parrot/commit/758cf9e89f
01:12 kid51 joined #parrot
01:16 dalek parrot: 8c6f9b8 | Whiteknight++ | t/pmc/filehandle.t:
01:16 dalek parrot: + a test for FileHandle.read_bytes, modeled after other FileHandle tests
01:16 dalek parrot: review: https://github.com/parrot/parrot/commit/8c6f9b8592
01:25 aloha (parrot/parrot) Issues opened : 774 (pod_description.t TODOs) by cotto : https://github.com/parrot/parrot/issues/774
01:26 whiteknight If we have input buffers, we could have a semantic where we close a FileHandle but are still able to read from it because there's still data in the buffer
01:26 whiteknight It's a little bit weird to think about, but it makes sense in such a system
01:27 cotto what'd be a use case for that?
01:27 whiteknight of course, we also end up with cool situations with e.g. threads, where we read from a buffer quickly, and the buffer is replenished in the background
01:27 travis-ci joined #parrot
01:27 travis-ci [travis-ci] parrot/parrot#382 (master - 758cf9e : Whiteknight): The build was fixed.
01:27 travis-ci [travis-ci] Change view : https://github.com/parrot/par​rot/compare/43531db...758cf9e
01:27 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/1406703
01:27 travis-ci left #parrot
01:28 whiteknight cotto: Well, if there's data in the buffer we have to decide what to do with it. Trash it when we close the handle? Hold onto it until the handle is re-opened? Make it readable anyway?
01:28 whiteknight I guess we just need to decide what we want to do (or make it configurable)
01:36 whiteknight And, I suppose, mmap can just be a transparent feature of the buffer
01:36 whiteknight or, have a flag somewhere
01:37 whiteknight If we set it up correctly, an in-memory buffer struct could be isomorphic with an mmap-based buffer
01:37 whiteknight it looks like our system is supposed to have some sort of support for this kind of stuff
01:37 whiteknight but, as usual, I suspect the reality falls far short of the mark
01:50 dalek Heuristic branch merge: pushed 39 commits to parrot/whiteknight/io_cleanup1 by Whiteknight
02:01 whiteknight whiteknight, out!
02:18 bacek_at_work ~~
02:30 benabik joined #parrot
02:36 benabik ~~
03:31 kurahaupo joined #parrot
05:19 nbrown joined #parrot
05:29 bacek_at_work joined #parrot
05:53 fperrad joined #parrot
06:04 brrt joined #parrot
06:37 brrt left #parrot
06:50 dngor joined #parrot
07:06 brrt joined #parrot
07:30 kjs joined #parrot
08:11 lucian joined #parrot
08:48 kjs joined #parrot
08:52 dalek rakudo/nom: a90efc7 | moritz++ | src/Perl6/Grammar.pm:
08:52 dalek rakudo/nom: unbreak -M command line option
08:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/a90efc7730
08:53 brrt aloha: tell whiteknight i found a method to use parrot libraries with apxs, greatly simplifying building
08:53 brrt aloha: msg whiteknight i found a method to use parrot libraries with apxs, which makes building much simpler
08:53 aloha brrt: OK. I'll deliver the message.
08:54 moritz \o/
09:09 bacek_at_work joined #parrot
09:11 dalek m1: 4caa405 | (kj, kjs)++ | m1.y:
09:11 dalek m1: add new expr
09:11 dalek m1: review: https://github.com/parrot/m1/commit/4caa405b61
09:11 dalek m1: ccc1e9e | (kj, kjs)++ | m1_ast.c:
09:11 dalek m1: fix new expr
09:11 dalek m1: review: https://github.com/parrot/m1/commit/ccc1e9eb3c
09:11 dalek m1: 16eab45 | (kj, kjs)++ | m1_ast.h:
09:11 dalek m1: fix new expr
09:11 dalek m1: review: https://github.com/parrot/m1/commit/16eab45ef5
09:19 bacek_at_work joined #parrot
10:24 donaldh joined #parrot
11:00 JimmyZ joined #parrot
12:12 whiteknight joined #parrot
12:12 whiteknight good morning, #parrot
12:13 brrt noon
12:13 whiteknight good noon, brrt
12:13 brrt :-)
12:13 brrt just pushed a commit to mod_bart
12:14 brrt am now testing the waters with regards to StringHandle
12:15 brrt but anyway, i can link parrot using apxs, which makes building a huge amount simpler
12:15 brrt i'm so happy about that fact i have repeated it at least three times
12:16 whiteknight good!
12:18 donaldh joined #parrot
12:19 brrt also found out empircally that underclocking doesn't do much good when compiling
12:19 JimmyZ there was a mod_parrot project and some codes. seem it was lost?
12:19 brrt JimmyZ: mine or the old one?
12:19 whiteknight JimmyZ: bitrotten. Very old, too old to salvage
12:19 brrt also, rather complex
12:20 * JimmyZ agrees
12:20 brrt i want to make something that is simple for administrators to understand
12:20 brrt the drag-and-drop thing of cgi / php, that would be nice
12:20 brrt more power for those that need /want it
12:20 moritz brrt: you should really set up commit notifications for that repo in here
12:21 brrt you mean using the bot?
12:21 brrt dalek: help
12:21 moritz yes
12:21 moritz brrt: https://github.com/perl6/mu/bl​ob/master/misc/dalek-push.txt
12:22 brrt will do
12:25 dalek mod_bart: d6b6a00 | (Bart Wiegmans)++ | / (7 files):
12:25 dalek mod_bart: A mess of files
12:25 dalek mod_bart: review: https://github.com/bdw/mod_bart/commit/d6b6a0045e
12:25 dalek mod_bart: b8afe3f | (Bart Wiegmans)++ | / (2 files):
12:25 dalek mod_bart: Apache handling script
12:25 dalek mod_bart: review: https://github.com/bdw/mod_bart/commit/b8afe3ff70
12:25 dalek mod_bart: c6c76ba | (Bart Wiegmans)++ | / (4 files):
12:25 dalek mod_bart: Link mod_parrot.c to parrot
12:25 dalek mod_bart: review: https://github.com/bdw/mod_bart/commit/c6c76ba7a1
12:25 brrt it works
12:25 moritz \o/
12:26 tadzik nice :)
12:28 kjs joined #parrot
12:43 bluescreen joined #parrot
12:44 whiteknight brrt++
12:48 whiteknight brrt: You should probably have your name added to the CREDITS file in the Parrot repo. Fork Parrot, edit that file and open a pull request
12:49 dalek m1: e91fce7 | (kj, kjs)++ | m1 (5 files):
12:49 dalek m1: various updates. Still a few things to fix to get hello world running
12:49 dalek m1: review: https://github.com/parrot/m1/commit/e91fce7dfa
12:52 PacoAir joined #parrot
13:04 brrt whiteknight: how do i get a result string from the parrot api when i call a method
13:05 Util joined #parrot
13:06 brrt and, is there a way in github to 'update' my fork to recent?
13:07 Psyche^ joined #parrot
13:07 moritz git pull parrot; git push origin; # or so
13:08 moritz http://help.github.com/fork-a-repo/ section 'Pull in upstream changes'
13:10 bluescreen joined #parrot
13:10 brrt moritz++
13:20 aloha (parrot/parrot) Issues opened : 775 (Add my name) by bdw : https://github.com/parrot/parrot/issues/775
13:23 dalek parrot: 452cfd1 | (Bart Wiegmans)++ | CREDITS:
13:23 dalek parrot: Added myself to credits
13:23 dalek parrot: review: https://github.com/parrot/parrot/commit/452cfd1ed9
13:23 dalek parrot: 0d41939 | moritz++ | CREDITS:
13:23 dalek parrot: Merge pull request #775 from bdw/master
13:23 dalek parrot:
13:23 dalek parrot: Add my name
13:23 dalek parrot: review: https://github.com/parrot/parrot/commit/0d41939bd0
13:23 dalek mod_bart: 74ae59a | (Bart Wiegmans)++ | Makefile:
13:23 dalek mod_bart: Add cleanup to makefile
13:23 dalek mod_bart: review: https://github.com/bdw/mod_bart/commit/74ae59abb6
13:23 dalek mod_bart: f53a121 | (Bart Wiegmans)++ | / (3 files):
13:23 dalek mod_bart: Clean up makefile, test StringHandle PMC
13:23 dalek mod_bart: review: https://github.com/bdw/mod_bart/commit/f53a121a02
13:25 aloha (parrot/parrot) Issues closed : 775 (Add my name) by bdw : https://github.com/parrot/parrot/issues/775
13:35 whiteknight brrt: After the invoke, the CallContext object should contain the return values
13:35 whiteknight if there's a single return CallContext[0] should be it.
13:35 whiteknight it doesn't look like we have any tests for that. I need to add some
13:36 moritz is a CallContext a C array?
13:36 whiteknight no, it's a PMC
13:36 whiteknight so you'd do a get_*_keyed_int on it
13:36 moritz ah, so it's a vtable call
13:36 whiteknight right
13:37 brrt oh, clearly
13:38 whiteknight moritz: we couldn't just use a C array here, because Subs can return named parameters, etc
13:39 moritz whiteknight: I thought so; I was just surprised about your use of [0], because I was thinking of C level at that time, not PIR
13:39 whiteknight I meant that like the PIR syntax. Sorry about the confusion
13:52 nbrown joined #parrot
13:56 dalek m1: 9e9b0b6 | (kj, kjs)++ | m1_gencode.c:
13:56 dalek m1: hello world now works; compile with m1, assemble and run with m0. yay.
13:56 dalek m1: review: https://github.com/parrot/m1/commit/9e9b0b66b0
13:57 JimmyZ kjs++
13:58 tadzik niice
13:59 dalek m1: 20d17c0 | (kj, kjs)++ | hello.m1:
13:59 dalek m1: add hello.m1 as example for lazy people
13:59 dalek m1: review: https://github.com/parrot/m1/commit/20d17c07c6
14:05 JimmyZ congratulations, a new language! m1 is born.
14:09 kjs JimmyZ: weren't you invovled in M0?
14:11 JimmyZ kjs: yeah, but didn't do much
14:11 kjs you want to step up one level? :-)
14:13 JimmyZ just interesting
14:13 kjs it's easy to contribute ;-)
14:17 JimmyZ \o, just build a m1
14:18 kjs yay :-)
14:18 kjs you're the first customer!
14:20 JimmyZ yep
14:20 kjs I'll write a proper README and HOW TO HELP document soon
14:21 kjs meanwhile, if you're interested in hacking, let me know. A few things are not too difficult but need fixing.
14:22 JimmyZ will do, though I'm not sure now
14:33 brrt note to self: wrong file signature specifications means segmentation faults]
14:34 whiteknight brrt: Yeah, therein lies the problem
14:38 brrt s/file/method
14:41 mtk joined #parrot
14:41 Coke whiteknight: is wanting DESCRIPTIONs a ticket, or a wiki wishlist?
14:42 whiteknight Coke: I don't know. We have a TODO'd codetest for it which tells us we have 240+ files without that section
14:42 whiteknight and that number implies we aren't working towards fixing it, and might not be able to fix it with any reasonable effort
14:43 whiteknight I mean, 240 files is a heck of a lot of effort for something that's just "nice to have"
14:44 whiteknight cotto suspects the test might be bonkers with false positives and the real number may be lower
14:48 dalek mod_bart: 5f3e2cb | (Bart Wiegmans)++ | / (3 files):
14:48 dalek mod_bart: Can't write to stringhandle (and i don't know why)
14:48 dalek mod_bart: review: https://github.com/bdw/mod_bart/commit/5f3e2cb66a
14:49 whiteknight brrt: What's the output there? What error are you getting?
14:51 dalek nqp/toqast: 694648e | masak++ | / (2 files):
14:51 dalek nqp/toqast: [qast] implement while/until
14:51 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/694648e1b8
14:53 brrt Cannot write to a filehandle not opened for write
14:53 brrt current instr.: 'main' pc 0 (bar.pir:11)
14:55 dmalcolm joined #parrot
14:55 contingencyplan joined #parrot
14:56 isBEKaml joined #parrot
14:56 brrt where that line of the file is just 'say "hello, world"
14:57 brrt hmm, wait
14:57 brrt ah, whats more
14:58 brrt if I change the signature to PiSS and add the arguments "", "w" then it fails
14:59 isBEKaml it's a pissed signature?
15:00 isBEKaml hello, btw :)
15:00 whiteknight try something stupid for the first argument, like "foo.txt"
15:00 whiteknight I have to go back and look at stringhandle
15:00 whiteknight good morning isBEKaml
15:00 brrt in Parrot_io_parse_open_flags
15:00 brrt is probably it
15:01 isBEKaml whiteknight: cursed timezones! :D it's 2030 hrs here. :)
15:01 brrt (gdb is awesome btw)
15:01 isBEKaml whiteknight: good mornin', whiteknight.
15:01 whiteknight isBEKaml: no worries, it will be morning soon. Where do you live?
15:01 isBEKaml whiteknight: India
15:02 whiteknight isBEKaml: ah, nice. Where in india? We have a few contributors from there
15:03 isBEKaml whiteknight: down south. I have seen the CREDITS file. There were quite a few Indian names. :)
15:03 davidfetter joined #parrot
15:03 brrt const INTVAL s = STRING_ord(interp, mode_str, i);
15:03 brrt is the line of evil
15:04 isBEKaml whiteknight: that was so long ago when I was looking over my single (and only) contribution to rakudo. :) Btw, I'm from Chennai.
15:04 whiteknight isBEKaml: oh, nice. I don't think we have any others from Chennai
15:05 whiteknight brrt: what's wrong there, is mode_str null?
15:06 isBEKaml whiteknight: I just saw the chatlogs from y'day. If I were you, I wouldn't fret too much over language/familiarity issues. As long as we have competent folks to help newbies.
15:07 isBEKaml erm, s/language/programming &/
15:08 brrt no, mode_str is a constant (unimported) char*
15:08 brrt it works when i pre-import the thing
15:08 isBEKaml whiteknight: I may not be a data point, but I didn't have much difficulty navigating parrot source.
15:09 isBEKaml brrt: what does pre-import mean in C?
15:09 whiteknight isBEKaml: that's good to hear. Some of the source is still a little messy, but much of it has been cleaned
15:10 brrt that is to say, i import the string with Parrot_api_string_import_ascii()
15:10 brrt and pass that (instead of the raw char *)
15:10 brrt in which case
15:11 brrt the thing runs without a hitch
15:11 isBEKaml brrt: Just a guess, isn't that defined somewhere via a header file? why not #include that header file?
15:11 isBEKaml brrt: if it's a const char*, that is.
15:11 whiteknight brrt: good. We like no hitches
15:12 whiteknight brrt: depending on what compiler you are using, you might be able to add a flag to catch those kinds of pointer differences and turn them into errors so the compiler can catch them for you
15:12 brrt no, its defined in my sourcecode :-) when you call a function with a string literal, the type is a const char *
15:12 brrt i'm using gcc
15:12 whiteknight Parrot has a whole horde of flags for that purpose
15:12 brrt also, Makefile is really intelligent about compiling
15:13 brrt at least when you are using c
15:13 brrt can you check the arguments to a varargs method?
15:14 whiteknight not that I know of
15:14 benabik joined #parrot
15:15 isBEKaml whiteknight: messy source code - is that part of your io_cleanup activity?
15:15 benabik ~~
15:15 isBEKaml hello, benabik.
15:15 benabik o/ isBEKaml
15:16 brrt its probably my own confusion, then
15:16 alester oooh hoooboy http://blogs.perl.org/users/rurban/2012/05/​llvm-31-with-addresssanitizer-released.html
15:18 whiteknight isBEKaml: part of it. IO is poorly designed right now.
15:19 isBEKaml alester: wasn't address sanitizer originally from Google?
15:20 isBEKaml whiteknight: ah, I see.
15:20 alester isBEKaml: Yes, it is.
15:20 whiteknight alester: rurban++ has already run it on Parrot a few times. There is one outstanding ticket related to it but otherwise I think we should be clean
15:21 alester whiteknight: I know, but this makes me happy because asan seems to be bundled with LLVM, and I wasn't able to get the two to play together in the past.
15:21 whiteknight oh, okay
15:21 whiteknight I actually had a lot of trouble last time I tried to use it on Parrot. I need to revisit
15:22 lucian joined #parrot
15:50 kjs joined #parrot
15:57 jsut_ joined #parrot
16:06 dalek m1: a2fe603 | (kj, kjs)++ | m1_instr.c:
16:06 dalek m1: start with write_xxx functions for instructions. Easy to finish; easy to get started hacking on M1! Contributors welcome
16:06 dalek m1: review: https://github.com/parrot/m1/commit/a2fe60301a
16:06 tadzik that sounds tempting
16:07 dalek mod_bart: 2ceac18 | (Bart Wiegmans)++ | / (2 files):
16:07 dalek mod_bart: Read strings from StringHandle
16:07 dalek mod_bart: review: https://github.com/bdw/mod_bart/commit/2ceac18d33
16:14 whiteknight kjs++ # the salesman!
16:17 benabik What is mod_bart?
16:25 whiteknight it's brrt's current GSoC repo
16:25 whiteknight I think it's currently a testing platform to prep for mod_parrot
16:26 crab2313 joined #parrot
16:33 benabik cool
16:38 crab2313 joined #parrot
17:00 PacoAir joined #parrot
17:05 cotto ~~
17:06 benabik Hm.  Awesome, my installed parrot is pre-4.4.  Now I get to rebuild parrot, NQP, and Rakudo.  That'll occupy my computer for a while.
17:06 cotto if you're cold, make -j will warm you up pretty quick
17:06 benabik My build scripts all default to parallel.
17:07 benabik I'm actually currently doing parallel git and Parrot tests.  (The two of them in parallel both running tests in parallel.)  My computer is getting a little laggy.
17:10 whiteknight that will show your computer who's boss
17:11 whiteknight do this and this and this. ALL OF IT
17:11 benabik It would be even better if I was at home and Time Machine kicked in.  :-D
17:11 benabik The biggest cause of lag on my MacBook Pro is disk I/O.  The whole system bogs down if I have too much disk access going on.
17:12 benabik I started running git tests on a ramdisk to ease the pressure quite a while ago.
17:16 benabik Hm.  That's new.  Hanging in alarm.t
17:16 benabik Well, new for me.
17:17 whiteknight on master?
17:17 benabik Yes.
17:17 whiteknight blah
17:17 davidfetter joined #parrot
17:18 benabik Hm.  Just re-ran it without hanging.  Must be timing sensitive.
17:19 estrabd joined #parrot
17:19 whiteknight suboptimal
17:24 benabik Yeah, just ran the full test suite without problems.
17:25 benabik Just have been some timing glitch with running both parrot and git and whatever else was running.
17:26 whiteknight I'm sure that test has a timeout somewhere, that I'm sure is set just high enough that it *shoudn't* be a problem
17:36 benabik Hm.  Parrot didn't grab ICU.  I wonder how that happened.
17:37 benabik Got it this time.
17:37 * benabik sighs.
17:37 cotto https://github.com/jashkenas/coffee-script​/wiki/List-of-languages-that-compile-to-JS
17:46 benabik Huh.
17:46 benabik Compiling Rakudo: "/usr/local/include/parrot/4.4.​0-devel/parrot/parrot.h:94:19: error: ffi.h: No such file or directory"
17:47 benabik It seems to be spelled ffi/ffi.h on my machine...  But why did rebuilding Parrot cause this to break?
18:07 benabik "GMP version 5.0.5 is buggy with huge digit multiply - please upgrade"  Upgrade to what?
18:12 benabik What versions is this test _trying_ to warn about?
18:14 benabik I _think_ it's trying to warn about GMP < 4.1.4
18:15 benabik This code, it does not do what you think it does.
18:19 Coke benabik: did you rebuild parrot but not rakudo?
18:19 benabik Coke: That was me trying to rebuild rakudo after rebuilding parrot.  I think my build script got goofed.
18:27 dalek parrot: 2ec5d01 | benabik++ | t/pmc/bignum.t:
18:27 dalek parrot: Fix warning in t/pmc/bignum.t for GMP 5
18:27 dalek parrot:
18:27 dalek parrot: This code was trying to warn about GMP prior to 4.1.4, but instead was
18:27 dalek parrot: warning about any version before x.1.4.  I rearranged the logic to
18:27 dalek parrot: make the intent more clear and to not warn about GMP 5+.
18:27 dalek parrot: review: https://github.com/parrot/parrot/commit/2ec5d016fa
18:29 kjs joined #parrot
18:32 benabik Hm.  bignum.t fails on my machine with --optimize
18:41 whiteknight blah
18:54 benabik test "35 - set overflow Integer" fails with "error:imcc:add_1_const:Integer overflow '9223372036854775808'"
19:01 benabik Ah.  dukeleto also got the same error on Ubuntu - gh744
19:05 benabik Okay, after some sidetracking with optimize and bignum, I have Rakudo building again.  Problem was with the build script.
19:06 whiteknight fun
19:26 brrt joined #parrot
19:36 brrt left #parrot
19:36 dalek m1: 404eae4 | (kj, kjs)++ | m1 (7 files):
19:36 dalek m1: fixes for making it reentrant, and also trying to get funcalls working. Crashes M0 interp at moment.
19:36 dalek m1: review: https://github.com/parrot/m1/commit/404eae48de
19:39 cotto wheee
19:40 kjs ah. i found the problem
19:40 kjs constants need to be sorted
19:40 kjs but then funcalls work! woohoo
19:41 cotto that's ... big
19:41 kjs (for documenting purposes on this IRC log: constants in the M0b format for M0 interpreter need to be sorted, from 0 to n. not random 3, 2, 0, 1.)
19:41 kjs this is the easy part :-) assignments would be BIG.
19:42 cotto actually the numbers are for documentation only
19:42 kjs m0 crashes on it, the C interp
19:42 kjs apparently...
19:42 kjs also it complained about memory being freed that wasnt allocated. I removed all calls to free() for the time being.
19:43 kjs (in the m0 interp)
19:45 kjs cotto: since there's no stack, the implementation of pointers may be a bit lame, as in, not possible for local variables.
19:47 cotto are you implementing function calls in the same way as the poke_caller test?
19:47 kjs i looked at m0_chunk_test something
19:47 cotto (I should actually rewrite that now that register names are implemented)
19:47 kjs in the t/ folder
19:48 kjs aloha ,nopast?
19:48 aloha kjs: Dunno.
19:48 kjs aloha, nopaste?
19:48 aloha kjs: nopaste is is http://nopaste.snit.ch (works with the script in $_PARROT/tools/dev/nopaste.pl)
19:49 nopaste "kjs" at 89.101.178.50 pasted "generated code (and manually reordered constants) from M1 compiler" (41 lines) at http://nopaste.snit.ch/142391
19:49 cotto goto_chunk?
19:49 kjs yes
19:50 kjs the generated code is kind of awful, as  there's no reuse of numbers, but i guess that can be fixed later.
19:51 cotto it's exciting to see this taking shape
19:51 cotto kjs++
19:52 kjs cotto: I have some doubts about keeping M0 so minimal. whenever you need a number, it needs a "load" (set_imm) op before you can use it.
19:53 kjs I hope you know what you're doing :-)
19:54 cotto Ideas for improvements are welcome.
19:55 kjs probably better to optimize later.
19:56 kjs cotto: do you know how to /return/ from a function?
19:56 kjs do you need to do a goto_chunk and then use the offset of where you left off?
19:57 cotto that's what RETPC is for
19:57 cotto I think that poke_caller is the only test that makes use of it
19:58 kjs ah i hadn't looked at that one yet.
19:58 cotto it's fun
19:58 kjs ... :-)
19:58 kjs that's a lot of code.
19:58 cotto I think there are more bytes of comment than code.
20:00 benabik joined #parrot
20:04 kjs cotto: I think it would be quite useful to develop this idea of a vm implemented on a mini-vm depth-first. In other words, if the goal is to be easy JIT-able, then it would be good to do that and look at performance
20:11 benabik ~~
20:12 cotto kjs, the issue with that is that someone has to write the jit
20:13 cotto hi benabik
20:13 cotto benabik, how goes the gsoccing?
20:16 kjs yes :-) perhaps llvm could be a target. i don't know. but before going this route too far, it might be wise to proof the concept.
20:17 cotto something relatively simple like libjit or gnu lightning wouldn't be a bad place to start
20:22 cotto I'm starting to like the idea of having a libjit-based C m0 interp for experimenting.
20:22 cotto we have enough tests to shake out basic bugs pretty quickly
20:23 whiteknight JITing individual functions is a good start. A "real" JIT will probably do more complicated tracing but getting the basics in place to learn from is good
20:25 kjs I'll try to clean up most of M1,sanitize a bit, so that once my availability goes down, it's still usable.
20:26 whiteknight kjs++
20:26 cotto kjs++
20:27 dalek rakudo/nom: 3aba24b | masak++ | src/Perl6/Compiler.nqp:
20:27 dalek rakudo/nom: [Perl6::Compiler] add --help line about --optimize
20:27 dalek rakudo/nom:
20:27 dalek rakudo/nom: tadzik++, cognominal++, for discovering that it was missing, and
20:27 dalek rakudo/nom: what it should be, respectively.
20:27 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3aba24b1f0
20:27 kjs $REALLIFE's calling. good evening.
20:27 whiteknight ditto. Later
20:28 dalek rakudo/nom: 5e7559a | masak++ | src/core/Match.pm:
20:28 dalek rakudo/nom: [src/core/Match.pm] changed <> to q[] in .gist
20:28 dalek rakudo/nom:
20:28 dalek rakudo/nom: Suggested by pmichaud++. It may or may not be worth it to also
20:28 dalek rakudo/nom: escape all ']' in the matched text itself.
20:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5e7559acf7
20:28 dalek rakudo/nom: 7f40758 | masak++ | src/core/Match.pm:
20:28 dalek rakudo/nom: [src/core/Match.pm] removed root-level '=> '
20:28 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7f40758ab4
20:29 dalek rakudo/nom: 038718f | masak++ | docs/ChangeLog:
20:29 dalek rakudo/nom: [docs/ChangeLog] mention Match.gist
20:29 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/038718f7d6
20:31 benabik cotto: Starting to dig in into whiteknight++'s changes to Key
20:42 bluescreen joined #parrot
21:14 dalek rakudo/nom: 558fd04 | duff++ | src/Perl6/Actions.pm:
21:14 dalek rakudo/nom: Make statement into a closure for map
21:14 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/558fd0416a
21:18 kurahaupo joined #parrot
21:28 lucian joined #parrot
21:32 benabik The Key code is horrendous.  Key.get_string calls Parrot_key_string, which if it's a PMC Key called Key.get_string.
21:33 benabik Granted, raw PMC keys don't work in several places.  But that's pretty bad.
21:38 alester joined #parrot
21:40 schmooster joined #parrot
21:48 whiteknight joined #parrot
21:49 kjs joined #parrot
22:10 cotto benabik, I have to be careful when tracing that code so I don't end up going in an infinite loop
22:18 dalek m1: d269c61 | (kj, kjs)++ | m1 (3 files):
22:18 dalek m1: pass compiler as first arg.
22:18 dalek m1: review: https://github.com/parrot/m1/commit/d269c61bee
22:19 whiteknight good evening, #parrot
22:24 * kjs is building libjit...
22:40 kjs_ joined #parrot
22:56 lucian joined #parrot
23:02 dalek m1: f667aad | (kj, kjs)++ | m1_ (2 files):
23:02 dalek m1: attempt at unary - and not operator gencode. ugh.
23:02 dalek m1: review: https://github.com/parrot/m1/commit/f667aad2a3
23:06 Khisanth joined #parrot
23:10 kid51 joined #parrot
23:36 whiteknight blah, the io buffering code is worse than I thought
23:36 whiteknight instead of using a nice circular buffer, it's doing memcpy
23:36 whiteknight and all the GETATTR accesses are not any better

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

Parrot | source cross referenced