Camelia, the Perl 6 bug

IRC log for #parrot, 2012-06-26

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:05 dalek m1: 0826c90 | kjs++ | src/ (4 files):
00:05 dalek m1: enum constants are now recognized by the lexer. for now they're just type of int.
00:05 dalek m1: review: https://github.com/parrot/m1/commit/0826c90ccf
00:13 wagle joined #parrot
00:15 dalek m1: fd0d156 | kjs++ | src/ (7 files):
00:15 dalek m1: start clarifying code a bit; better union names.
00:15 dalek m1: review: https://github.com/parrot/m1/commit/fd0d156da6
00:51 dalek m1: da8af1d | kjs++ | src/ (3 files):
00:51 dalek m1: move struct grammar. enable multiple expressions in for-step.
00:51 dalek m1: review: https://github.com/parrot/m1/commit/da8af1d6f3
00:52 wagle joined #parrot
00:55 dalek m1: 07abbd1 | kjs++ | src/ (3 files):
00:55 dalek m1: enable multiple inits in for loop.
00:55 dalek m1: review: https://github.com/parrot/m1/commit/07abbd1a4a
01:16 dalek parrot/whiteknight/io_cleanup1: 2c2a61b | Whiteknight++ | src/io/ (4 files):
01:16 dalek parrot/whiteknight/io_cleanup1: Add in the missing function-level docs. Codetest now passes
01:16 dalek parrot/whiteknight/io_cleanup1: review: https://github.com/parrot/parrot/commit/2c2a61b083
01:16 whiteknight okay, I found a better solution to my codetest problem
01:16 whiteknight Instead of adding the missing docs, I just deleted the undocumented functions
01:21 whiteknight msg kid51 Updating the threads branch from master, I git a conflict lib/Parrot/Pmc2c/Attribute.pm is deleted in master. nine made some changes to that file. Can you help get me get his changes merged to where the code lives now?
01:21 aloha OK. I'll deliver the message.
02:24 arnsholt joined #parrot
02:26 kid51_ joined #parrot
02:41 * kid51_ smolders m0 branch for 1st time
03:05 dalek parrot/m0: 6487fb3 | jkeenan++ | MANIFEST:
03:05 dalek parrot/m0: Add m0 source code and test files to MANIFEST.
03:05 dalek parrot/m0: review: https://github.com/parrot/parrot/commit/6487fb3854
03:05 dalek parrot/m0: 3618e52 | jkeenan++ | MANIFEST.SKIP:
03:05 dalek parrot/m0: mk_manifest_and_skip.pl modified MANIFEST.SKIP as well.
03:05 dalek parrot/m0: review: https://github.com/parrot/parrot/commit/3618e522b5
03:39 Hunger joined #parrot
04:55 kuku joined #parrot
06:02 brrt joined #parrot
06:24 dalek mod_bart: 9082974 | (Bart Wiegmans)++ | / (5 files):
06:24 dalek mod_bart: Add debug version of cgi output handle, so i can finetune the algorithm
06:24 dalek mod_bart: review: https://github.com/bdw/mod_bart/commit/908297422e
06:26 dalek mod_parrot: a36a49d | (Bart Wiegmans)++ | / (5 files):
06:26 dalek mod_parrot: Added header reading to cgi loader, although it is not perfect
06:26 dalek mod_parrot: review: https://github.com/bdw/mod​_parrot/commit/a36a49d375
07:11 brrt joined #parrot
07:52 mtk joined #parrot
08:12 dalek rakudo/nom: 11b9d5e | pmichaud++ | src/core/Mu.pm:
08:12 dalek rakudo/nom: Add zero and 1 argument forms of infix:<=:=> and infix:<eqv>.
08:12 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/11b9d5e121
08:15 lucian joined #parrot
08:20 kjs joined #parrot
09:03 dalek rakudo/nom: 1ffd6cf | moritz++ | src/Perl6/Actions.pm:
09:03 dalek rakudo/nom: add line annotations to assignment operator
09:03 dalek rakudo/nom: review: https://github.com/rakudo/rakudo/commit/1ffd6cf137
09:04 Khisanth joined #parrot
09:28 kjs joined #parrot
10:33 kjs joined #parrot
11:01 JimmyZ joined #parrot
11:48 brrt joined #parrot
11:48 brrt moritz++ it works
11:55 kjs joined #parrot
12:20 * Coke yawns
12:20 JimmyZ kjs:
12:21 JimmyZ kjs: failures/struct.m1 wokrs now
12:21 JimmyZ *works
12:22 ilbot2 joined #parrot
12:22 Topic for #parrot is now Parrot 4.5.0 "Buff-faced Pygmy Parrot" | http://parrot.org/ | Log: http://irclog.perlgeek.de/parrot | #parrotsketch meeting Tuesday 19:30 UTC
12:27 whiteknight joined #parrot
12:29 whiteknight Good morning, #parrot
12:30 tadzik good morning whiteknight
12:30 whiteknight hello tadzik
12:30 brrt good afternoon whiteknight
12:30 whiteknight hello brrt
12:30 brrt i've mentally fixed the cgi header reading stuff
12:30 brrt just not in winxed yet
12:31 brrt and i have to go now! :-)
12:31 whiteknight awesome! I look forward to seeing the code
12:51 kjs hi JimmyZ
12:52 kjs JimmyZ: have you uncommented the other function calls?
12:53 kjs it's commented out because it doesn't work ;-)
13:02 PacoAir joined #parrot
13:02 JimmyZ kjs: yes
13:02 kjs it still segfaults here
13:03 kjs ... using ./run_m1.sh
13:03 JimmyZ kjs: it printed '42
13:03 kjs sure and then it segfalts
13:03 JimmyZ "42\n42\n42\n"
13:03 kjs really?
13:03 kjs interesting
13:03 kjs since when? i didnt change anything in funcall code
13:04 kjs which m0?
13:04 JimmyZ kjs: about 9 hours ago
13:04 JimmyZ kjs: c-m0
13:04 kjs usign run script?
13:04 JimmyZ ./run_m1.sh
13:04 kjs mm cool
13:04 kjs which platform?
13:05 kjs doesnt work here
13:05 kjs mac os10.6
13:06 JimmyZ kjs: ubuntu 12.04
13:06 kjs and failures/funcall?
13:07 JimmyZ jimmy@jimmy-VirtualBox:~/m1$ ./run_m1.sh failures/struct.m1
13:07 JimmyZ 42
13:07 JimmyZ 42
13:07 JimmyZ 42
13:07 JimmyZ 42
13:07 JimmyZ jimmy@jimmy-VirtualBox:~/m1$ ./run_m1.sh failures/funcall.m1
13:07 JimmyZ foo()
13:08 JimmyZ bar()
13:08 kjs you sure it's c-m0?
13:08 kjs i got it working with perl-m0
13:08 JimmyZ ./m0 $filename.m0b || { exit 1; }
13:08 kjs interesting
13:09 kjs awesome, really :-)
13:09 JimmyZ kjs: ;)
13:09 kjs looks like a bug in cm0
13:09 JimmyZ maybe
13:10 kjs perlm0 works...
13:10 Psyche^ joined #parrot
13:10 JimmyZ kjs: I don't have mac os
13:11 kjs that's prob the dfif then. perhaps your environment is a bit more forgiving
13:20 kjs JimmyZ: perhaps we should switch to perl m0
13:20 kjs rather than c m0
13:22 JimmyZ kjs: make test fails some test by using perl m0
13:23 plobsing joined #parrot
13:23 kjs really? ok we need t fix that
13:26 kjs JimmyZ: could you report those as bugs in perl-M0?
13:28 JimmyZ kjs: how?
13:29 kjs bugs in issue tracker parrot?
13:29 kjs hopefully some M0-perl people pick it up.
13:33 Coke do we need to continue with perl-m0 ?
13:33 Coke wasn't it a POC before M0-C ?
13:33 kjs Coke: well, the programs that fail on M0-C in failures/ folder run with M0-perl
13:33 kjs so that's  interesting
13:34 kjs having 2 verisons might catch various bugs
13:34 kjs bugs that are more ikely in C will be caught there, and likewise in perl, and these things can be double-checked in different implementations
13:35 Coke <shrug> ok.
13:35 kjs Coke: I actually have good hope that M1 is correct now I've seen the tests run on perl-m0 (in failures folder).
13:56 JimmyZ joined #parrot
13:58 bluescreen joined #parrot
14:14 jsut joined #parrot
14:15 dalek m1: 4267236 | kjs++ | / (5 files):
14:15 dalek m1: preparations for enabling "for (int i....".
14:15 dalek m1: review: https://github.com/parrot/m1/commit/426723663d
14:34 dalek parrot/m0: 55bed69 | jimmy++ | src/m0/perl5/m0_interp.pl:
14:34 dalek parrot/m0: fixed bugs
14:34 dalek parrot/m0: review: https://github.com/parrot/parrot/commit/55bed69572
14:34 dalek parrot/m0: b4f577d | jimmy++ | / (3 files):
14:34 dalek parrot/m0: Merge branch 'm0' of github.com:parrot/parrot into m0
14:34 dalek parrot/m0: review: https://github.com/parrot/parrot/commit/b4f577d0d6
14:37 kjs thanks JimmyZ
14:38 kjs array_and_structs still fails
14:38 kjs different failure now i think
14:38 JimmyZ kjs: that's a weird failure
14:38 kjs it is
14:38 JimmyZ kjs: I tried to fix it. but it's weird
14:48 kjs JimmyZ: I think the warning emitted by perl does pick up on some potential problem
14:49 kjs it's hidden now with the "no strict ref"
14:49 JimmyZ kjs: I think so
15:08 dmalcolm joined #parrot
15:13 contingencyplan joined #parrot
15:52 benabik Hm.  Looking at the Subroutine PMC....  Does parrot just dispatch on number of named arguments instead of the names?
15:52 benabik Or is there some hidden way to find the names of the required arguments?
15:52 benabik Sadly, I would not be surprised by either of these options.
15:54 whiteknight I don't know if Parrot's MMD takes named arguments into account
15:54 whiteknight I suspect it does not
15:56 benabik Alrighty.
15:56 benabik Also not surprised by that.
15:57 benabik The argument information in the subroutine is a little odd wrt named arguments.  "name_req" and "name_opt" are both integers.  Where, really, you want to know what names are required.
15:57 whiteknight oh yeah, it's just a "little odd", and only with respect to the named arguments. Sure
15:57 benabik Heh.
15:58 whiteknight you don't get a bonus check from google for understating problems so dramatically
15:58 benabik Well, the slurpy flags and number of positionals make sense to me.
16:00 benabik the mutli_sig is an FIA of type ints?
16:01 benabik Interesting.
16:02 brrt left #parrot
16:04 whiteknight why are you talking about this? Every time you mention what the Sub PMC is doing, I get this violent urge to rewrite it
16:05 benabik Because I need to interface with it.
16:05 whiteknight AAAAHHHH
16:05 whiteknight It's my worst nightmare, come to life
16:05 whiteknight Nobody should ever use this stupid thing
16:06 benabik Sadly, at some point, a compiler has to.
16:07 benabik So...  how do you determine the type number for a type that's being created inside the packfile you're compiling?
16:11 rich joined #parrot
16:12 alester joined #parrot
16:12 jashwanth joined #parrot
16:19 whiteknight benabik: Type number of what?
16:22 benabik Hm.
16:22 benabik whiteknight: I'm trying to figure out what multisigs are.  I thought they were FIAs for a little while, but they appear to be FPAs with Integers for core types and Strings for not.
16:26 benabik Oh, and keys for things in namespaces.  How lovely.
16:27 moritz whiteknight: fwiw I've looked over socket.pmc in your iocleanup branch, and didn't find any methods for reading and writing bytebuffers, though your email to parrot-dev indicated that should be possible
16:27 moritz oh, does it get those from Handle?
16:27 whiteknight yes, it should
16:27 moritz never mind then
16:27 whiteknight .read_bytes, I think
16:30 moritz speaking of sockets...
16:30 moritz what does recv do?
16:30 moritz it seems to neither return a bytebuffer, nor take care of character boundaries
16:30 whiteknight in the new branch?
16:30 moritz yes
16:31 moritz this might be a topic for a later refactor, actually
16:31 whiteknight hmm, it goes through the same exact path as .read on FileHandle does, except it ends up at a call to the recv C function
16:31 whiteknight recv will return whatever is available at the socket, so it may not return as much data as you're asking for
16:32 moritz that's ok, I'm not asking for anything
16:32 whiteknight please ask for things!
16:32 moritz just for whatever it receives
16:32 moritz I mean, recv doesn't take a size arguments
16:32 moritz so calling it doesn't ask for some specific size, but just "gimme whatever"
16:34 NotFound We should add a generic read function: readwim
16:34 NotFound Read What I mean
16:36 NotFound And automatically you get an HTTP header or a full DVD image depending on your intention, the current phase of the moon at execution time and the weather at compile time.
16:37 NotFound Or maybe a butterfly was flying around while writing the source.
16:38 moritz we should use libjustdoit for that functionality
16:38 NotFound A great project for next google Glacial Era of Code.
16:47 whiteknight moritz: recv in the new branch should respect character boundaries, which means some bytes might end up in the buffer if they don't represent a complete codepoint
16:48 moritz whiteknight: looking into the tests it seems that .recv now defaults to ASCII
16:48 whiteknight what does it default to in master?
16:48 moritz whiteknight: and the test sends 뻯 as UTF-8, so it blows up
16:48 whiteknight I thought master was defaulting to ascii too, but I might have read the code wrong
16:49 moritz dunno. it doesn't blow up in master
16:49 whiteknight okay, I'll have to research it more
16:49 whiteknight I'll make sure that test passes tonight
16:50 moritz it's unfortunate, I don't really understand sockets; I'm just the guy ending up maintaining them in rakudo :/
16:50 whiteknight heh
16:51 moritz it seems to be one of (UTF-8, Latin-1, Binary)
16:51 NotFound I think the initial design idea was that network IO must be the same as file IO. The idea failed miserably but the bizarre implementations succeed.
16:51 moritz I guess that leaves you as well-informed as you were before though :-)
16:52 whiteknight "bizarre" is correct. Some of the old code was batty
16:52 whiteknight And I'm willing to say that because I wrote and modified so much of it
16:53 NotFound I mean the generic sockets design many moons ago, not the parrot one.
16:54 NotFound Listen, I will tell you the history of the magic PDP and the lonely programmer...
16:54 whiteknight gather 'round children and hear the tale
16:55 NotFound Or go else and read it on wikipedia.
17:01 benabik Interesting.  A Sub's multisig isn't in the constants table.
17:03 zby_home joined #parrot
17:05 benabik Oh, that's also fun.  IMCC saves the bytecode of immediate subs, but they're not in a subroutine.
17:07 zby_home kkkkkkkkkkkkkkkkkkkkkkkkkkjjjjjjjjjiiiiiiiik,
17:07 moritz vim != irrsi :-)
17:07 benabik Hm.  How do you get the result of an immediate sub?
17:08 moritz you call it
17:08 moritz oh wait, immediate
17:08 benabik No, that tries to invoke the object.
17:08 moritz you don't call it, something else[tm] does it...
17:08 benabik Wait...  .const 'Sub' Does it.
17:09 moritz based on that answer, I'm pretty sure I've misunderstood the question
17:10 whiteknight benabik: yeah, immediate subs are wonderful in every possible way
17:10 benabik I was trying to figure out how IMCC converts type names to type numbers...  It looks like it just tries to do the lookup and if it fails, it stores the string.
17:10 whiteknight if the :immediate sub returns a non-null PMC, that PMC is stored in the constants table in place of the :immediate Sub
17:10 benabik This is...  LTA
17:11 whiteknight so we keep the bytecode in the packfile, even though you can't call it, and all the .const 'Sub' references point to something that is not a Sub and may not be const
17:11 whiteknight EVERYBODY BE HAPPY
17:11 benabik I was worried that creating a class in an immediate would leak type numbers.
17:11 moritz "look, we already have a table for storing stuff!"
17:11 benabik It's stored in the constant table, which is fine.
17:11 benabik But it's referred to as a Sub which is not.
17:12 benabik So that's an exciting way to define classes in a PBC:  store them as return values from immediate subs.
17:13 moritz exciting because there's no other way to put stuff int he constant table?
17:14 whiteknight not through PIR syntax and IMCC
17:14 benabik Well, that's a limitation of IMCC, really.
17:14 whiteknight in theory, the packfile PMCs will allow you to do it just fine
17:14 whiteknight although nobody has ever figured out how to use those things
17:15 * benabik is working on it.  :-)
17:16 benabik moritz: Exciting because class PMCs stored as constants become registered as global types when the packfile is loaded.  I didn't really expect that.
17:17 whiteknight And that reminds me: The packfile loader!
17:17 whiteknight blah
17:17 whiteknight benabik: you're killing my mood today, reminding me of all this crap
17:17 benabik whiteknight: Sorry.
17:17 whiteknight :)
17:23 whiteknight My upcoming projects are: 1) get threads merged, 2) get io_cleanup1 fixed and merged, and 3) 6model
17:23 whiteknight I'll clean up the rest of this Sub crap after that
17:24 whiteknight and still be in bed before 10PM
17:44 particle joined #parrot
17:58 lucian joined #parrot
17:58 brrt joined #parrot
18:17 kjs joined #parrot
18:22 dalek m1: 0968d9a | kjs++ | src/ (5 files):
18:22 dalek m1: enable local variables ina for loop (for (int i = ... ).
18:22 dalek m1: review: https://github.com/parrot/m1/commit/0968d9a160
18:50 kjs joined #parrot
19:02 tuxit joined #parrot
19:05 bluescreen joined #parrot
19:14 jashwanth joined #parrot
19:23 zby_home joined #parrot
19:25 particle1 joined #parrot
19:31 benabik Hm.  Interesting.  I think the PackfileDebug PMC documentation lies.  There should be far more line number mappings than filename mappings.
19:33 dalek nqp/toqast: cfbc76f | jnthn++ | src/HLL/Actions.pm:
19:33 dalek nqp/toqast: Don't need Parrot namespace related stuff here any more.
19:33 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/cfbc76f39c
19:33 dalek nqp/toqast: 395aa0a | jnthn++ | src/QAST/Compiler.nqp:
19:33 dalek nqp/toqast: Start to compile QAST::CompUnit. Set HLL and compile the contained top-level block.
19:33 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/395aa0a3ea
19:34 dalek rakudo/toqast: e5c5266 | jnthn++ | src/QPerl6/Actions.pm:
19:34 dalek rakudo/toqast: Toss useless our statement and parameter.
19:34 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/e5c52662db
19:34 dalek rakudo/toqast: 7928806 | jnthn++ | src/QPerl6/Actions.pm:
19:34 dalek rakudo/toqast: Start to refactor various parts of CompUnit to use QAST::CompUnit.
19:34 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/792880631f
19:34 dalek rakudo/toqast: 0564728 | jnthn++ | src/QPerl6/Actions.pm:
19:34 kjs joined #parrot
19:34 dalek rakudo/toqast: type => returns in statementlist.
19:34 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/05647286bd
19:35 benabik Hm.  Actually, it looks like PackfileDebug doesn't provide access to the line number mappings at all.  :-(
19:36 benabik oh.
19:37 dalek m1: 41c4326 | kjs++ | src/m1.y:
19:37 dalek m1: fix a bug.
19:37 dalek m1: review: https://github.com/parrot/m1/commit/41c4326ae2
19:37 dalek m1: 0d40e57 | kjs++ | src/ (2 files):
19:37 dalek m1: cleanup for statement.
19:37 dalek m1: review: https://github.com/parrot/m1/commit/0d40e57921
19:37 benabik Or the PDD lies?  I don't see the described line number mappings in the packfile code.
19:38 birdwindupbird joined #parrot
19:39 benabik Bluh.  Packfiles are a mess.
19:40 benabik Okay, the PDD lies.  I can accept that.
19:47 LizM joined #parrot
19:47 dalek parrot: 66923d2 | benabik++ | docs/pdds/draft/pdd13_bytecode.pod:
19:47 dalek parrot: PDD13: The debug segment has no line numbers
19:47 dalek parrot:
19:47 dalek parrot: The debug segment consists only of a list of offset to filename
19:47 dalek parrot: mappings.  While a long table of opcodes to line numbers might be
19:47 dalek parrot: useful, it doesn't exist.  So remove the pretty description of it.
19:47 dalek parrot: review: https://github.com/parrot/parrot/commit/66923d2f09
20:15 travis-ci joined #parrot
20:15 travis-ci [travis-ci] parrot/parrot#471 (master - 66923d2 : Brian Gernhardt): The build was broken.
20:15 travis-ci [travis-ci] Change view : https://github.com/parrot/parrot/c​ompare/5a43b68215b0...66923d2f091f
20:15 travis-ci [travis-ci] Build details : http://travis-ci.org/parrot/parrot/builds/1714139
20:15 travis-ci left #parrot
20:16 benabik Hm.  Looks like t/pmc/timer.t hung.  Not caused by me though.
20:17 benabik Or perhaps the build just took too long on that machine.  *sigh*
20:22 PacoAir_ joined #parrot
20:33 dalek nqp/toqast: 6beda3d | jnthn++ | src/QAST/CompUnit.nqp:
20:33 dalek nqp/toqast: Add some more SC-related bits to QAST::CompUnit.
20:33 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/6beda3d75c
20:33 dalek nqp/toqast: 8302932 | jnthn++ | src/QAST/Compiler.nqp:
20:33 dalek nqp/toqast: Sketch out compilation of load/main; it may even actually work...
20:33 dalek nqp/toqast: review: https://github.com/perl6/nqp/commit/83029326eb
20:37 jashwanth joined #parrot
20:38 dalek rakudo/toqast: 93627fc | jnthn++ | src/QPerl6/Actions.pm:
20:38 dalek rakudo/toqast: First step of switching over to QAST::CompUnit for all the SC stuff.
20:38 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/93627fc2ed
20:38 dalek rakudo/toqast: 85bbebb | jnthn++ | src/QPerl6/Actions.pm:
20:38 dalek rakudo/toqast: Eliminate final .loadinit(...) usage.
20:38 dalek rakudo/toqast: review: https://github.com/rakudo/rakudo/commit/85bbebb8fa
20:44 brrt joined #parrot
20:58 kjs joined #parrot
21:11 davidfetter joined #parrot
21:55 dalek mod_bart: 5af5ab9 | (Bart Wiegmans)++ | foo.winxed:
21:55 dalek mod_bart: Fixed an algorithm for determining header and content apart
21:55 dalek mod_bart: review: https://github.com/bdw/mod_bart/commit/5af5ab919f
22:08 benabik ...  Parrot subs have three names?
22:11 benabik Oh, only two.  That's alright.  :-(
22:28 kid51 joined #parrot
23:01 particle joined #parrot
23:17 kjs joined #parrot

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

Parrot | source cross referenced