Camelia, the Perl 6 bug

IRC log for #parrot, 2012-06-24

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:03 dalek rakudo/nom: 690d774 | pmichaud++ | src/core/ (2 files):
00:03 dalek rakudo/nom: Refactor prefix:<|> flattening for Ranges and other types.
00:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/690d7743c3
00:44 Hunger joined #parrot
00:50 schmooster joined #parrot
06:25 Liz joined #parrot
07:49 rich joined #parrot
08:18 Liz joined #parrot
08:37 brrt joined #parrot
09:03 brrt once again, I am in need of help! who knows how CCLASS constants work
09:04 brrt ... or rather, how can I get CCLASS constants in winxed to be defined much like they seem to be in Rosella?\
09:23 kuku joined #parrot
09:47 kjs joined #parrot
09:49 dalek m1: cec69b1 | kjs++ | src/ (2 files):
09:49 dalek m1: add a m0_chunk to compiler.
09:49 dalek m1: review: https://github.com/parrot/m1/commit/cec69b115f
10:00 brrt alright, now I have something working, but not quite as i like
10:00 brrt whatever i do find_not_cclass finds the first value as not containing the cclass
10:08 moritz did you mean: first character?
10:08 moritz if not, what do you mean by "first value"?
10:16 JimmyZ joined #parrot
10:16 JimmyZ good morning, kjs
10:16 kjs hi JimmyZ
10:16 JimmyZ hello
10:17 kjs JimmyZ: I'm generated instr nodes now rather than fprintf() the code to stdout
10:18 JimmyZ kjs: good
10:18 kjs this allows other phases for optimization. probably also a reg.allocator.
10:19 JimmyZ hmm, looks like not_gerd stopped his m0
10:19 kjs $REAL_LIFE may have come up
10:19 JimmyZ yeah
10:23 JimmyZ kjs: Do you know how to link to C-lib? not via lib-ffi
10:23 JimmyZ kjs: I mean m1
10:23 kjs lnink m1 to /a/ c-lib?
10:23 kjs which lib to link with?
10:23 JimmyZ yep
10:23 JimmyZ kjs: glibc?
10:24 kjs just list it on the final gcc command?
10:24 kjs when it invokes the linker
10:24 kjs it links that one automatically no?
10:24 kjs the runtime lib
10:24 JimmyZ kjs: that is, m1 calls c function directly
10:25 kjs m1 code calling a c function?
10:25 JimmyZ kjs: like C
10:25 kjs i'd say that's one through the ccall ops and friends
10:25 kjs one=done
10:26 JimmyZ ok, maybe jited ffi
10:26 kjs what do you want to do? :-)
10:26 JimmyZ call fprintf function?
10:27 JimmyZ or something
10:27 JimmyZ maybe thread api
10:27 kjs JimmyZ: I think there will have to be support in M0 for that
10:28 JimmyZ yeah
10:28 kjs as it stands M1 's generated code is not always correct
10:28 kjs things go wrong when passing complex structs as args
10:42 dalek m1: 414aada | kjs++ | src/instr.c:
10:42 dalek m1: fix linking instr nodes.
10:42 dalek m1: review: https://github.com/parrot/m1/commit/414aadaec1
10:42 moritz ... and it doesn't just pass them by reference?
10:43 kjs moritz: you mean M1?
10:44 moritz 12:28 <@kjs> things go wrong when passing complex structs as args
10:44 moritz that's what I was referring to
10:44 kjs moritz: right ok :-)
10:44 kjs yes it's by "reference"
10:44 kjs addresses received from gc_alloc, which are really malloc'd, are stored in I registers
10:45 kjs and they're passed
10:45 kjs that's where the tricky part starts, because it all /seems/ correct
10:45 kjs but for some reason it isn't.
10:45 moritz :/
10:46 kjs and usually it's something that is overlooked. For days and weeks I've been staring at code wondering what's wrong with it, starting to point to M0, but at some point I figured it out and then all of a sudden it works
10:50 PacoAir joined #parrot
10:54 dalek m1: e0b61cc | kjs++ | / (2 files):
10:54 dalek m1: add a "failures" folder, which contians programs that should run but don't.
10:54 dalek m1: review: https://github.com/parrot/m1/commit/e0b61cc28d
11:21 whiteknight joined #parrot
11:24 dalek m1: 46fe620 | kjs++ | failures/funcall.m1:
11:24 dalek m1: consecutive function calls dont work.
11:24 dalek m1: review: https://github.com/parrot/m1/commit/46fe620a3a
11:25 whiteknight good morning, #parrot
11:25 kjs well, the good news is that structs seem to be correctly implemented. The Bad news is that function calls are a PITA and don't work.
11:35 moritz why does that remind me of good ol' parrot?
11:40 JimmyZ well, I don't want to gdb function call again ;)
11:40 kjs JimmyZ: no? :-(
11:40 kjs ;-)
11:40 kjs it mightn't be at the gdb level
11:40 JimmyZ yeah, last I gdb it, I got a lot of pain
11:40 kjs it's just the generated M0 code that is not complete
11:41 kid51 joined #parrot
11:46 dalek m1: 36554d5 | kjs++ | / (2 files):
11:46 dalek m1: update TODO to reflect status better
11:46 dalek m1: review: https://github.com/parrot/m1/commit/36554d543b
11:49 whiteknight brrt: ping
11:55 dalek m1: f806aa8 | kjs++ | src/gencode.c:
11:55 dalek m1: split up number into 2 parts if > 255.
11:55 dalek m1: review: https://github.com/parrot/m1/commit/f806aa8237
11:59 dalek m1: 6fd0f9b | kjs++ | src/gencode.c:
11:59 dalek m1: another fix for numbers > 255.
11:59 dalek m1: review: https://github.com/parrot/m1/commit/6fd0f9b276
12:06 dalek m1: 30a9ac2 | kjs++ | src/gencode.c:
12:06 dalek m1: add clarification and fix another case of int > 255.
12:06 dalek m1: review: https://github.com/parrot/m1/commit/30a9ac2ca6
12:11 brrt joined #parrot
12:12 dalek m1: 76970e5 | kjs++ | src/gencode.c:
12:12 dalek m1: not all expressions leave someting on the regstack. Ensure this is correct.
12:12 dalek m1: review: https://github.com/parrot/m1/commit/76970e5cac
12:14 brrt moritz: yes, i meant 'first character'
12:14 brrt as in Foo-Bar get transliterated too _oo_bar
12:18 brrt however, simply using the ascii table and not caring about unicode works nicely, too :-)
12:18 moritz nqp: pir::find_not_cclass__IPI('Foo-Bar', pir::const::CCLASS_WORD)
12:18 p6eval nqp: OUTPUT«error:imcc:The opcode 'find_not_cclass_i_p_i' (find_not_cclass<3>) was not found. Check the type and number of the arguments␤       in file '(file unknown)' line 41␤»
12:21 moritz nqp: pir::find_not_cclass__IISI​I(pir::const::CCLASS_WORD, 'Foo-Bar', 0, 0)
12:21 p6eval nqp: OUTPUT«Class '!macro_const' not found␤current instr.: '_block1000' pc 24 ((file unknown):142759220) (/tmp/bUtupkQS2S:1)␤»
12:22 moritz nqp: pir::find_not_cclass__IISII(pi​r::const::CCLASS_ALPHANUMERIC, 'Foo-Bar', 0, 0)
12:22 p6eval nqp: OUTPUT«Class '!macro_const' not found␤current instr.: '_block1000' pc 24 ((file unknown):166577460) (/tmp/lEHDwUJK9r:1)␤»
12:25 brrt i know :-)
12:25 dalek m1: d5cd48d | kjs++ | src/gencode.c:
12:25 dalek m1: fix a few comments. more prep for moving to instr nodes.
12:25 dalek m1: review: https://github.com/parrot/m1/commit/d5cd48d3f6
12:26 brrt help nopaste
12:27 whiteknight gist.github.com
12:27 brrt http://pastebin.com/Ev9YGP4z
12:28 brrt oh, that works
12:28 brrt oh, hi whiteknight, do you happen to know why the CCLASS_* constants work in Rosella but not in 'plain' winxed?
12:29 moritz maybe a missing .include or so?
12:29 moritz you could also check is_cclass
12:30 brrt https://gist.github.com/2983087
12:31 brrt moritz: this also sprang to my mind, but reading the source code I just can't find where
12:36 brrt oh, i have mail :-)
12:40 whiteknight brrt: yeah, I sent the answer in mail
12:41 whiteknight in the parrot repo, the runtime/parrot/include/ folder contains lots of files with different constants
12:41 whiteknight so if you need constants for different things, they're in that folder
12:42 brrt thats good to know
12:42 moritz so it was a missing include file?
12:43 brrt yes
12:43 brrt and i also know why my loop was borked
12:43 brrt because, well, i made a mistake, and my loop was wrong :-)
12:47 brrt .. and now it works
12:48 brrt https://gist.github.com/2983087
12:48 dalek m1: bf3025d | kjs++ | src/gencode.c:
12:48 dalek m1: unfreeze registers for symbols that go out of scope. Also fix a bug that popped up.
12:48 dalek m1: review: https://github.com/parrot/m1/commit/bf3025dfa0
12:49 whiteknight brrt: nice
13:00 brrt is it safe to assume that (derrivatives of) stat will fail if a file does not exist?
13:00 brrt or, in other words, how to check if you can read a file (in c?)
13:01 brrt access(), thats it
13:01 NotFound ~~
13:02 NotFound brrt: the best way ti check if you can read is reading.
13:03 dalek m1: 0a50321 | kjs++ | src/gencode.c:
13:03 dalek m1: clean up and move functions on reg unfreezing.
13:03 dalek m1: review: https://github.com/parrot/m1/commit/0a503218b6
13:03 NotFound Every other way can fail for unexpeted reasons.
13:04 brrt i guess thats true
13:09 whiteknight the OS PMC has a can_read() method
13:09 whiteknight and a can_write() and a can_execute()
13:09 whiteknight that's what Rosella uses
13:10 Psyche^ joined #parrot
13:10 whiteknight it's not perfect, as NotFound points out
13:13 brrt i'm doing this in the C layer, so I can't use those
13:14 whiteknight okay
13:15 whiteknight access() then is a good initial test, then try to read and check error codes
13:20 NotFound The main problem with that kind of checks is: you call some function to check if you can do something. If the result is negative, you check error codes. Then you do something and if it fails check error codes.
13:21 NotFound So in the end you do the same thing twice and gain nothing.
13:22 dalek m1: 2aa70ad | kjs++ | src/gencode.c:
13:22 dalek m1: make code bit simpler.
13:22 dalek m1: review: https://github.com/parrot/m1/commit/2aa70adcc2
13:23 brrt in which case I just read the bytecode files and be done with it
13:23 brrt or fail, which i can trap
13:26 pmichaud joined #parrot
13:38 brrt hmm.. it seems adding an array of paths is not really worth it
13:38 brrt where paths = search paths
13:38 dalek rakudo/nom: d90f671 | moritz++ | docs/release_guide.pod:
13:38 dalek rakudo/nom: [release_guide] remove SVNisms
13:38 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/d90f671571
13:45 brrt apache being bizzarre again
13:46 dalek rakudo/nom: 4b2c1fe | moritz++ | docs/release_guide.pod:
13:46 dalek rakudo/nom: [release_guide] remove redundancy with nqp's release guide
13:46 dalek rakudo/nom:
13:46 dalek rakudo/nom: Also split bumping of VERSION and NQP_REVISION into separate steps
13:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/4b2c1fe272
13:46 dngor joined #parrot
13:47 dalek winxed: ac94006 | NotFound++ | winxedst1.winxed:
13:47 dalek winxed: backport some changes in variable creation to stage 1
13:47 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/ac9400603a
13:59 whiteknight blah. For some reason winxed can't do $include_const in my io_cleanup1 branch
14:01 NotFound whiteknight: the StringHandle fix is not in parrot master yet.
14:01 whiteknight yeah, but I made the same fix to the generated .pir in my branch
14:16 whiteknight okay, the I/O parts of the $include_const mechanism appear to be working correctly. The file is opening and the lines are being read
14:24 NotFound whiteknight: There has been some change in white space, line ending, whatever... in the .pasm generated files?
14:25 NotFound The parsing in include_cost is not very smart.
14:25 whiteknight it's parsing fine. It's calling createconst and setvalue with the correct name/value
14:26 NotFound The what don't work?
14:26 NotFound Some problem with scope?
14:28 whiteknight wait...
14:29 whiteknight it's not reading the last line of the file. That's the problem
14:29 NotFound Uh...
14:29 NotFound Maybe there was a difference between readall and read(0) after all.
14:29 whiteknight for (string line = file.readline(); !file.eof(); line = file.readline()) {
14:30 whiteknight so it's reading the last line, then checking !file.eof() and exiting before processing the last line
14:30 whiteknight I wonder why this worked in master?
14:30 benabik Perhaps master only sets EOF when you try to read past EOF?
14:31 NotFound whiteknight: ah, yeah, I always tough that the eof handling was "suboptimal".
14:31 whiteknight benabik: very possible. I may be setting it too early now
14:31 NotFound The problem may be to find a fix that works with both ways during transition.
14:32 whiteknight I want to try to keep the old semantics here
14:32 whiteknight it is hard sometimes because the old semantics are so bad
14:33 NotFound Mmmm... yes, I think in think this case parrot was doing right.
14:34 NotFound The C semantic for that cases is clean.
14:35 NotFound The corner cases for readline are lines without appropiate line ending.
14:36 NotFound Unfortunately, a lot of people believe that text files withoout appropiate text line ending is fine.
14:38 whiteknight this semantic doesn't make sense to me. If we read all the data out of the file, we are at eof
14:40 NotFound whiteknight: How do you know that? Say you are reading from a socket.
14:40 whiteknight sockets don't have EOF
14:40 whiteknight because they are sockets, not files
14:41 whiteknight in master, sockets do not have EOF flag
14:42 NotFound Amazing.
14:42 whiteknight that makes sense. You can only have End-Of-File on a file
14:43 whiteknight sockets would have End-Of-Socket, or something like that
14:43 whiteknight and even then, you're only at EOS when the socket is disconnected
14:43 NotFound whiteknight: yeah, but in that semantic EOF is just an abstract word, meaning "haven't read anything"
14:44 dalek rakudo/nom: 115ab2f | pmichaud++ | docs/release_guide.pod:
14:44 dalek rakudo/nom: Move "create release announcement" into step 1.
14:44 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/115ab2fbba
14:45 NotFound whiteknight: the point is simplicity: you don't need different ways for different types of string, and you don't need to read-ahead or ask the filesystem.
14:45 NotFound s/string/stream
14:45 whiteknight yes, in the new system we don't have different ways. They are all handled the same
14:45 whiteknight and when you're out of data, you're at EOF
14:45 whiteknight well, FileHandles are, anyway
14:46 whiteknight socket.is_eof is currently unimplemented
14:46 dalek rakudo/nom: 5921c70 | pmichaud++ | docs/release_guide.pod:
14:46 dalek rakudo/nom: Move the "make sure everything compiles/runs" testing step to _after_ the "update NQP and versions" steps.
14:46 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/5921c70d46
14:49 NotFound Maybe we should provide a check-eof method, to make easy the implementation of differente semantics in HLLs and user code.
14:54 kjs joined #parrot
14:56 whiteknight we have the .eof() method that checks the flag
14:58 NotFound But the flag is "I've read past eof".
14:59 brrt today,e veryting seems to happen by voodoo to me
14:59 benabik In C land, EOF isn't a position in the file, it's an error flag.
15:00 benabik So if you read to the end of the file, it's not triggered because no error has occurred yet.
15:01 NotFound In fact there is no error, but a "readed 0 bytes" condition.
15:03 NotFound If you get 0 bytes, you check whatever happened if you're interested.
15:04 NotFound And here lies the probles with read-lnes interfaces. sometimes they don't provide enough information.
15:12 dalek m1: e2630e8 | kjs++ | src/ (2 files):
15:12 dalek m1: Remove unused code, simplifying assignments.
15:12 dalek m1: review: https://github.com/parrot/m1/commit/e2630e8e12
15:12 dalek winxed: ebe124a | NotFound++ | winxedst1.winxed:
15:12 dalek winxed: backport changes in declarations to stage 1
15:12 dalek winxed: review: https://github.com/NotFoun​d/winxed/commit/ebe124acc9
15:22 whiteknight This semantic makes much more sense at the C level than it does at the Parrot level
15:23 whiteknight if I know we're at the end of the file without having attempted to read past it, we should be able to access that information
15:23 plobsing joined #parrot
15:23 NotFound whiteknight: The problem is that in general you don't know.
15:24 NotFound You've just opened a file without reading. Are you at eof?
15:24 NotFound You need to actively look for it.
15:24 NotFound You can check the buffer... what if unbuffered?
15:25 NotFound Too much complication for supposedly just checking a flag.
15:27 whiteknight it ends up being more complicated doing it this way
15:28 JimmyZ joined #parrot
15:29 NotFound whiteknight: and the worse problem: you can implement read-ahead EOF on top of read-past-eof, but you can't the other way. So in low level you must provide the non read-ahead anyway.
15:31 whiteknight okay, I think I've got this fixed
15:32 whiteknight The complication is, because we use read-ahead buffering, we hit EOF on the file before we're allowed to report it to the user
15:33 NotFound whiteknight: but that is a buffering implementation problem, not the EOF semantic.
15:33 whiteknight well, we have two different EOF's: One according to the file descriptor and one according to the handle PMC
15:34 NotFound Yeah, but the semantic is what we decide to report to the user.
15:35 dalek parrot/whiteknight/io_cleanup1: 58cce6f | petdance++ | include/parrot/exit.h:
15:35 dalek parrot/whiteknight/io_cleanup1: reran the headerizer and got proper annotations
15:35 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/58cce6fe27
15:35 dalek parrot/whiteknight/io_cleanup1: 870463a | petdance++ | src/runcore/subprof.c:
15:35 dalek parrot/whiteknight/io_cleanup1: redid the #if on getticks() to wrap the contents of the function, but not the declaration
15:35 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/870463a69b
15:35 dalek parrot/whiteknight/io_cleanup1: 7e95bfb | alvis++ | docs/pdds/draft/pdd13_bytecode.pod:
15:35 dalek parrot/whiteknight/io_cleanup1: This fixes the 'oddness' reported by rurban yesterday in #ps.
15:35 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/7e95bfb336
15:35 dalek parrot/whiteknight/io_cleanup1: cdde363 | alvis++ | docs/pdds/ (27 files):
15:35 dalek parrot/whiteknight/io_cleanup1: While I was here: This removes useless, empty lines between the '=head2 Abstract' and the '=head2 Synopsis' command paragraphs in most, but not all, of the pdds.
15:35 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/cdde363267
15:35 dalek parrot/whiteknight/io_cleanup1: 1bd030e | alvis++ | include/parrot/parrot.h:
15:35 dalek parrot/whiteknight/io_cleanup1: Make 'PARROT_MAGIC', at least, agree with the '*.pbc' files; although, it's unused and, evidently, useless.
15:35 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/1bd030e48f
15:35 dalek parrot/whiteknight/io_cleanup1: 5a43b68 | jkeenan++ | src/runcore/subprof.c:
15:35 dalek parrot/whiteknight/io_cleanup1: [codingstd] Move ASSERT_ARGS to immediately after start of function. ayardley++
15:35 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/5a43b68215
15:35 dalek parrot/whiteknight/io_cleanup1: 80a0c23 | Whiteknight++ | / (30 files):
15:35 dalek parrot/whiteknight/io_cleanup1: Merge branch 'master' into whiteknight/io_cleanup1
15:35 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/80a0c23c83
15:35 dalek parrot/whiteknight/io_cleanup1: f28a4ef | Whiteknight++ | / (8 files):
15:36 dalek parrot/whiteknight/io_cleanup1: Add in a new ->set_eof function to the io_vtable. Use that to set the EOF flag at a much higher level, ignoring low-level buffer-initiated reads that pass EOF on the file descriptor.
15:36 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/f28a4ef6d0
15:36 whiteknight with that last fix, winxed builds from the repo and rosella appears to be building
15:37 NotFound whiteknight++
15:39 whiteknight yeah, Rosella builds and passes all tests
15:50 whiteknight NQP builds fine. trying Rakudo now
15:51 kjs JimmyZ: ping
15:51 JimmyZ kjs: pong
15:51 kjs do you hvae time for a quick test on M1?
15:52 JimmyZ kjs: make test?
15:52 kjs Could you run this code through M1?
15:52 kjs void main() {
15:52 kjs int a, b, c;
15:52 kjs a = 1;
15:52 kjs b = 2;
15:52 kjs }
15:53 kjs it segfaults here. if you remove "c" from the list,it's fine. weird.
15:55 JimmyZ kjs: wfm
15:55 kjs it works as shown above?
15:55 kjs mm ok. that's good.
15:55 JimmyZ kjs: m1 segfault?
15:55 kjs yes
15:56 kjs i was cleaning up
15:56 kjs i'm unifying pmcs and structs
15:56 JimmyZ kjs: oh, I did not update m1
15:56 kjs havent committed yet
15:56 kjs just found it's segfaulting
15:56 kjs could you update and see if it works fo ryou?
15:57 JimmyZ kjs: still wfm
15:57 kjs latest commit is: Remove unused code, simplifying assignments.
15:57 kjs ?
15:58 JimmyZ kjs: yes
15:58 kjs ok well then i just introduced the error
15:58 kjs i wont commit then
15:58 kjs mind you, make test still runs here
15:58 kjs it's just the above code.
15:59 JimmyZ kjs: yep
16:00 JimmyZ kjs: it outputs
16:00 JimmyZ set_imm I0, 0, 1
16:00 JimmyZ set     I1, I0, x
16:00 JimmyZ set_imm I0, 0, 2
16:00 JimmyZ set     I2, I0, x
16:00 kjs also "compilation done"?
16:00 JimmyZ well, several days ago also output I3
16:01 JimmyZ kjs: hmm. not done
16:01 kjs what do you mean?
16:01 JimmyZ m1: src/gencode.c:167: unfreeze_registers: Assertion `comp->registers[type][regno] == 2' failed.
16:02 kjs mmm
16:02 kjs weird
16:02 dalek nqp/toqast: ef4ed30 | jnthn++ | docs/QASTMAP:
16:02 dalek nqp/toqast: Start a list of tasks and design issues related to QAST migration.
16:02 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/ef4ed30605
16:03 dalek nqp/toqast: 46cf8f8 | jnthn++ | src/PAST/NQP.pir:
16:03 dalek nqp/toqast: Start getting some more of the 6model primitives into the nqp:: namespace.
16:03 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/46cf8f8400
16:03 dalek nqp/toqast: bc64ed0 | jnthn++ | src/how/NQP (5 files):
16:03 dalek nqp/toqast: Use nqp::setwho and nqp::newtype.
16:03 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/bc64ed0a88
16:03 dalek nqp/toqast: 01558df | jnthn++ | src/how/NQPClassHOW.pm:
16:03 dalek nqp/toqast: Eliminate a pir::isa usage.
16:03 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/01558dfff2
16:03 dalek nqp/toqast: 73ebd23 | jnthn++ | src/stage0/ (8 files):
16:03 dalek nqp/toqast: Update bootstrap.
16:03 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/73ebd23662
16:03 dalek nqp/toqast: 777e36f | jnthn++ | src/how/NQPClassHOW.pm:
16:03 dalek nqp/toqast: Tentatively add a way to re-parent a class to NQP's class meta-object, so we'll (hopefully) be able to get Perl 6's meta-objects to say they're ~~ Any.
16:03 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/777e36f445
16:03 dalek nqp/toqast: 0db5015 | jnthn++ | src/ (2 files):
16:03 dalek nqp/toqast: Get NQP to use a BUILDPLAN just like Rakudo does. Improves build methods support also.
16:04 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/0db5015741
16:04 dalek nqp/toqast: fcc9a23 | jnthn++ | src/how/NQPClassHOW.pm:
16:04 dalek nqp/toqast: Implement attribute introspection in the non-:local case.
16:04 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/fcc9a23981
16:04 dalek nqp/toqast: 4019f2a | jnthn++ | src/NQP/Grammar.pm:
16:04 dalek nqp/toqast: Remove a leftover from the now-gone regex engine.
16:04 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/4019f2aaaf
16:04 dalek nqp/toqast: 32d6401 | jnthn++ | src/ (16 files):
16:04 dalek nqp/toqast: Merge branch 'master' into toqast
16:04 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/32d6401b63
16:06 * JimmyZ sleeps
16:06 dalek m1: ab0b519 | kjs++ | src/ (7 files):
16:06 dalek m1: remove PMC; unify with struct. Fix bug with unused variables.
16:06 dalek m1: review: https://github.com/parrot/m1/commit/ab0b519b96
16:12 whiteknight ...and Rakudo builds fine
16:14 dalek m1: e3056fd | kjs++ | src/ (3 files):
16:14 dalek m1: emit a warning about unused variables.
16:14 dalek m1: review: https://github.com/parrot/m1/commit/e3056fd07f
16:23 dalek rakudo/nom: 3a0e404 | jnthn++ | docs/ChangeLog:
16:23 dalek rakudo/nom: Add a note on meta-object improvement to ChangeLog.
16:23 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/3a0e4049ac
16:24 dalek m1: 86d1027 | kjs++ | src/semcheck.c:
16:24 dalek m1: check PMCs as if they were structs, since they really are.
16:24 dalek m1: review: https://github.com/parrot/m1/commit/86d10276d6
16:28 kjs joined #parrot
16:48 dalek m1: 394809c | kjs++ | src/ (3 files):
16:48 dalek m1: cleanups.
16:48 dalek m1: review: https://github.com/parrot/m1/commit/394809c9f3
16:53 dalek m1: e101e64 | kjs++ | src/semcheck.c:
16:53 dalek m1: simplify; use vfprintf().
16:53 dalek m1: review: https://github.com/parrot/m1/commit/e101e6467e
16:54 tuxit joined #parrot
16:58 dalek rakudo/toqast: 1891283 | jnthn++ | / (11 files):
16:58 dalek rakudo/toqast: Add a qperl6 that can be used to gradually do the QAST migration, while still using the normal compiler to build CORE.setting.
16:58 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/1891283f38
17:14 zby_home joined #parrot
17:26 dalek rakudo/nom: bd0e5c0 | pmichaud++ | src/core/EnumMap.pm:
17:26 dalek rakudo/nom: Fix EnumMap.perl to use objects typename instead of hardcoded "EnumMap".
17:26 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/bd0e5c0811
17:52 dalek rakudo/nom: f798fb1 | pmichaud++ | src/core/Bool.pm:
17:52 dalek rakudo/nom: Fix pre/post-increment/decrement on undefined Bool containers. sisar++ RT #113816
17:52 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/f798fb1b7e
18:02 dalek rakudo/toqast: 9914c45 | jnthn++ | src/QPerl6/World.pm:
18:02 dalek rakudo/toqast: Correct an outdated comment.
18:02 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/9914c454b0
18:02 dalek rakudo/toqast: 3b80143 | jnthn++ | src/QPerl6/ (2 files):
18:02 dalek rakudo/toqast: Tentatively start to change to PAST::Block into QAST::Block; leave a case where things are a little more invovled. Note, breaks everything. :-)
18:02 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/3b80143503
18:02 dalek rakudo/toqast: 8a4ca80 | jnthn++ | src/QPerl6/ (2 files):
18:02 dalek rakudo/toqast: Translate various PAST::Val to their QAST equivalents; again, a few outliers/tricky cases left for now.
18:02 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/8a4ca807cf
18:02 dalek rakudo/toqast: d646a75 | jnthn++ | src/QPerl6/ (2 files):
18:02 dalek rakudo/toqast: PAST::Stmt/PAST::Stmts to QAST::Stmt/QAST::Stmts, apart from one trickier case.
18:02 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/d646a753fb
18:02 dalek rakudo/toqast: 4dc8dad | jnthn++ | src/QPerl6/ (2 files):
18:02 dalek rakudo/toqast: Switch .get_ref calls over to using QAST::WVal.
18:02 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/4dc8dad39a
18:16 benabik joined #parrot
18:50 dalek rakudo/nom: 7d394e2 | moritz++ | src/core/ (3 files):
18:50 dalek rakudo/nom: move succ and pred from Real to Numeric
18:50 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/7d394e2f5b
18:55 rich joined #parrot
19:00 brrt joined #parrot
19:15 brrt joined #parrot
19:55 dalek Rosella: 3f62546 | Whiteknight++ | s (4 files):
19:55 dalek Rosella: Add in a new Tag.Collection type. Add in some helper methods to get a list of all child nodes with a given name from a Tag or a Collection.
19:55 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/3f62546dd3
19:55 dalek Rosella: ae7a3f1 | Whiteknight++ | src/unstable/xml/ (2 files):
19:55 dalek Rosella: New methods to get tags by attribute name/value pair matches, and soem cleanup
19:55 dalek Rosella: review: https://github.com/Whiteknig​ht/Rosella/commit/ae7a3f1a8d
20:11 LizM joined #parrot
20:12 brrt hey, wait, run() is some kind of builtin?
20:12 LizM joined #parrot
20:14 kjs joined #parrot
20:15 brrt i'm guessing it is, because renaming my function fixes literally everything
20:19 brrt or not
20:23 birdwindupbird joined #parrot
20:34 brrt left #parrot
20:40 brrt joined #parrot
20:51 LizM_ joined #parrot
20:58 LizM joined #parrot
21:01 dalek mod_parrot: 4d20676 | (Bart Wiegmans)++ | / (8 files):
21:01 dalek mod_parrot: Rename mod_parrot.winxed to echo.winxed, to make its purpose more clear
21:01 dalek mod_parrot: review: https://github.com/bdw/mod​_parrot/commit/4d20676650
21:01 dalek mod_parrot: cf9c2fd | (Bart Wiegmans)++ | / (13 files):
21:01 dalek mod_parrot: Inching ever closer to cgi running
21:01 dalek mod_parrot: review: https://github.com/bdw/mod​_parrot/commit/cf9c2fd8a8
21:02 brrt left #parrot
21:04 contingencyplan joined #parrot
21:26 whiteknight brrt: I don't know if run() is a winxed builtin
23:25 kid51 joined #parrot
23:27 nopaste "kid51" at 70.85.31.226 pasted "whiteknight/io_cleanup1 branch: failures in t/pmc/filehandle.t" (77 lines) at http://nopaste.snit.ch/144947
23:27 whiteknight thanks kid51++
23:34 moritz whiteknight: src/io/socket.c: In function ‘io_socket_seek’:
23:34 moritz src/io/socket.c:370:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
23:34 whiteknight thanks
23:35 moritz whiteknight: that's on whiteknight/io_cleanup1 (linux amd64, gcc 4.6.3)
23:42 dalek parrot/whiteknight/io_cleanup1: 9f92b2d | jkeenan++ | src/io/ (3 files):
23:42 dalek parrot/whiteknight/io_cleanup1: [codingstd] No semicolons after ASSERT_ARGS().  Add one macro; re-run headerizer. Six files still failing c_function_docs.t.
23:42 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/9f92b2d83c
23:46 nopaste "kid51" at 70.85.31.226 pasted "whiteknight/io_cleanup1 branch: 'make' failures with g++" (8 lines) at http://nopaste.snit.ch/144948

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

Parrot | source cross referenced