Camelia, the Perl 6 bug

IRC log for #parrot, 2008-02-15

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:01 cotto do you need anything else or is that file enough?
00:02 particle that's enough.
00:02 particle i don't quite understand why you're doing a sanity check
00:02 particle just debugging process in action?
00:03 cotto yeah
00:07 particle ok, now i can turn my full attention to this. shouldn't take long to figure out.
00:08 Theory joined #parrot
00:16 simcop2387 particle: thanks
00:21 workbench joined #parrot
00:22 simcop2387 particle: not quite what i'm after i'm wanting to normalize the line endings so that i can work with them easier later on in the code
00:22 particle there's no chomp there?
00:23 simcop2387 i don't have them in a form chomp would work with, i've just got a long string of data from a tcp stream
00:24 particle yeah, i thought it would do that, but it won't.
00:24 simcop2387 which is why i want to normalize them and then split
00:24 particle you'll have to normalize yourself
00:24 simcop2387 got any advice on how to do that in PIR?
00:24 particle you can use index and splice
00:24 simcop2387 i was wondering about something like that
00:25 simcop2387 well off to read more docs :) (in case your wondering i've created a project to learn PIR, i'm making a MUD in a combo of PIR, PGE, and Lua)
00:25 particle hrmm. there should be some character class opcodes
00:25 particle oh, well, if you're using pge, it's easier
00:26 particle pge should match any line ending with \n
00:26 simcop2387 i haven't gotten to that point yet but i should soon, i was hoping to split them on line endings first so i could fire them off to pge since i could end up getting things one byte at a time or a whole line at a time
00:26 particle and you can replace with \015\012 or whatever
00:27 particle ok
00:27 particle i have a feeling it's been done before, but where eludes me
00:27 simcop2387 i'm still looking at my options so i may change how i'm thinking about doing it many times :)
00:28 simcop2387 it actually hasn't been to hard learning PIR, probably since i've done some work at a low level before but its not that difficult to pick up anyway (just have a couple hundred opcodes to learn :))
00:33 skids joined #parrot
00:37 particle simcop2387: i wonder if some of the Stream/ libraries could help you
00:37 particle runtime/parrot/library/Stream/
00:45 particle aha! is_equal isn't a vtable function
00:46 particle cotto: cmp is
00:46 particle hrmm, or maybe not. crap.
00:52 Andy joined #parrot
00:56 cotto I could just hard-code something since I'll only be using Integer or String PMCs as keys, but it seems like there should be a better way than that.
01:01 svnbotl joined #parrot
01:07 particle lemme try something...
01:08 cotto ok
01:08 particle (p1)->vtable->is_equal(interp, p1, p2)
01:08 particle that's what i'm trying
01:08 purl succeeding.
01:10 particle .\src\pmc\exporter.pmc(110) : error C2039: 'is_equal' : is not a member of '_vtable'
01:10 cotto Thanks for finding that.
01:10 particle so, indeed, it looks like is_equal isn't a vtable function. according to pdd17, it should be.
01:14 AndyA joined #parrot
01:16 cotto so I'm running into a Parrot bug?
01:16 particle so it seems. i have no other way to explain it.
01:16 particle for example, if i change VTABLE_is_same() to VTABLE_get_integer() it works fine
01:17 particle (massaging the params, of course)
01:17 cotto better sooner than later, I guess
01:17 cotto (for me is_same works and is_equal fails, but I get the drift)
01:17 particle er, right. i meant is_equal
01:23 cotto should I file a bug report?
01:26 nopaste "particle" at 24.19.3.148 pasted "small patch expressing missing is_equal vtable function" (30 lines) at http://nopaste.snit.ch/12325
01:26 particle however, i'd like to put that in a better file
01:31 cotto so you'll file a report on that bug?
01:31 * Tene starts seriously looking into yapc::na
01:33 particle cotto: i will
01:34 particle thanks for reporting
01:35 cotto Thanks for finding that it's a bug.  I can work around it easily enough.
01:36 particle hrmm, i wonder if you need to call an nci method.
01:36 particle it's mmd.
01:38 particle nope, shouldn't be.
01:40 cotto me?
01:45 particle nm, thinking out loud.
01:45 cotto ok
01:46 particle i'm at a loss as to why is_equal and cmp aren't working.
01:57 particle cotto: to work around, do this:
01:58 particle cmp = mmd_dispatch_i_pp(interp, p1, p2, MMD_EQ);
02:09 simcop2387 particle: yea Stream::Lines seems to be pretty much what i want, i'll look a bit closer later
02:09 particle excellent.
02:11 c_otto thanks
02:12 particle glad to help. finally.
02:15 particle cotto; bug submitted
02:16 particle time to review a contract &
02:18 c_otto Heh.  That's Greek to me, but I'll trust you until I have time to look into it further.
02:18 c_otto (posting from home, btw)
02:19 particle well, in any case, it should get you past it.
02:21 svnbotl r25722 | jkeenan++ | tcif:
02:21 svnbotl : Add a directory to hold packages related to Parrot::Configure::Parallel.
02:21 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25722
02:25 diakopter joined #parrot
02:25 TimToady joined #parrot
02:28 Theory joined #parrot
03:01 c_otto joined #parrot
03:05 svnbotl r25723 | jkeenan++ | tcif:
03:05 svnbotl : Add first draft of lib/Parrot/Configure/Parallel/Trace.pm.
03:05 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25723
03:05 Andy joined #parrot
03:06 * kid51 must sleep
03:06 purl $kid51->sleep(8 * 3600);
04:11 jjore joined #parrot
04:17 purl joined #parrot
04:34 wknight8111 where is CONST_STRING defined?
04:37 Andy All over.
04:37 Andy you'll have to use ack -a to find it.
04:37 * wknight8111 is trying hard to avoid installing more software
04:37 wknight8111 but i'll do it, i guess I have to
04:38 Andy no no
04:38 Andy I'm sorry
04:38 Andy I assumed you were using ack and not finding it.
04:38 Andy Although you should use ack anyway 'cause we all do.
04:38 Andy but they're all in the *.str files
04:39 wknight8111 where are the str files?
04:39 wknight8111 i still don't know all the nooks and crannies of this distribution
04:40 Andy They're created during the mak
04:40 Andy e
04:41 wknight8111 okay thanks. I'm trying to track down some compile warnings, and it's hard finding all the code because it comes from all over
04:48 wknight8111 I'm getting a build error here, library.str isn't being generated, and library.obj crashes the linker
04:56 svnbotl r25724 | petdance++ | trunk:
04:56 svnbotl : use the new realloc wrapper
04:56 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25724
05:15 Andy wknight8111: If I disappear, just say "andy" and my client will bug me.
05:15 Andy How are you running configure?
05:16 wknight8111 i was just running make
05:16 Andy you have to run Configure.pl first
05:16 wknight8111 i did, but something must have broke
05:16 wknight8111 no worries, i'm tracking down warnings now
05:20 Andy what platform?
05:20 Andy anything I can help with on warnings?  What are you digging into?
05:21 wknight8111 win32. There are a few warnings about uncasted type conversions, unreachable code after real_exception calls, etc. Just tying up a few loose ends
05:24 wknight8111 nothing deep, just some superficial touch-ups
05:29 Andy Oh, those are good things to clean up.
05:29 Andy I'm a warning fanatic.
05:34 wknight8111 me too. But, my work is done for now and I'm heading to bed. Goodnight
07:06 svnbotl r25725 | petdance++ | trunk:
07:06 svnbotl : fix opening braces on functions
07:06 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25725
07:06 uniejo joined #parrot
07:12 c_otto joined #parrot
07:44 IllvilJa joined #parrot
07:49 svnbotl r25726 | petdance++ | trunk:
07:49 svnbotl : removed restrictions on ignoring return code
07:49 svnbotl r25727 | petdance++ | trunk:
07:49 svnbotl : rebuilt with a reverted imcc.y
07:49 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25727
07:53 iblechbot joined #parrot
08:26 HG` joined #parrot
08:29 jonathan particle: re "all attributes are stored as '$!foo'", that's what the spec says, I believe.
08:31 workbench joined #parrot
08:57 svnbotl r25728 | jonathan++ | trunk:
08:57 svnbotl : [rakudo] Fix parsing of undef and make undef.WHAT return Failure. Bug report thanks to congnominal++.
08:57 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25728
09:03 svnbotl r25729 | chromatic++ | trunk:
09:03 svnbotl : [src] Removed dead, unreachable code found by Coverity (CID 132).
09:03 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25729
09:12 lathos parrotvm.org isn't playing for me.
09:13 moritz pugscode svn is down as well
09:13 moritz seems to be a problem with feather
09:14 lathos Yep.
09:14 lathos purl, seen Juerd?
09:14 purl Juerd was last seen on #perl 17 hours and 20 minutes ago, saying: chargrill: I did
09:17 * moritz tries to restart apache
09:17 moritz http://www.pugscode.org/ works again at least
09:17 moritz pugs svn as well
09:28 svnbotl r25730 | chromatic++ | trunk:
09:28 svnbotl : [docs] Removed a few lies from the "How to Run Parrot" documentation.  Minor
09:28 svnbotl : formatting and phrasing improvements too.
09:28 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25730
09:41 svnbotl r25731 | jonathan++ | trunk:
09:41 svnbotl : [rakudo] Make it so that if you say if $foo ~~ /pattern/ { ... }, then $/ is available inside the block.
09:41 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25731
10:01 c_otto joined #parrot
10:13 cognominal_ jonathan++ # my hero
10:25 svnbotl r25732 | jonathan++ | trunk:
10:25 svnbotl : [rakudo] Implement $0, $1 etc match variables.
10:25 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25732
10:27 jonathan cognominal_: Welcome. :-)
10:28 cognominal_ howdy
11:05 kj joined #parrot
11:21 svnbotl r25733 | jonathan++ | trunk:
11:21 svnbotl : [examples] Update an example to use the modern call syntax.
11:21 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25733
11:23 cognominal_ rakudo -e 'sub a { say "a"; return "a" }; a();'  # does not find the function
11:27 cognominal_ rakudo -e 'sub *a { say "a"; return "a" }; a();'  # does not find the function
11:28 cognominal_ in fact routine_def does nothing to add the routine in some namespace
11:30 cognominal_ ho, I am confused, I am looking in NQP
11:33 kj jonathan: Hi. About the example you updated; does a sub know whether it's an nci_call?
11:36 cognominal_ rakudo -e 'class A { method a {  say "a"; }; A.new.a(); }'
11:36 cognominal_ maximum recursion depth exceeded
11:36 cognominal_ I wish I can debug all this stuff
11:37 kj cognominal: it's probably something with the grammar
11:38 kj that a certain token's rule is invoked recursively
11:38 cognominal_ nope the stack shows it is the execution
11:38 kj ooh ok
11:38 cognominal_ current instr.: 'parrot;Perl6Object;WHAT' pc 384 (src/gen_builtins.pir:280)
11:38 cognominal_ called from Sub 'parrot;Perl6Object;HOW' pc 406 (src/gen_builtins.pir:294)
11:38 cognominal_ called from Sub 'parrot;Perl6Object;HOW' pc 415 (src/gen_builtins.pir:295)
11:38 cognominal_ ... call repeated 992 times
11:38 kj mm ok
11:38 cognominal_ anyway I learn by trying to choose the errors
11:38 cognominal_ someday I will be able to fix them
11:47 cognominal_ s/choose/chase/
11:53 jonathan cognominal_: return is not implemented yet
11:54 jonathan kj: Yes, because it's either a Sub PMC or an NCI PMC, and invoking it does the Right Thing.
11:55 jonathan cognominal_: Interesting bug...hadn't tried putting code inside the class body before, mind.
11:55 jonathan rakudo -e 'class A { method a {  say "a"; }; A.new.a(); }'
11:55 jonathan rakudo -e 'class A { method a {  say "a"; }; A.new.a(); }'
11:55 jonathan oops
11:55 jonathan :-)
11:56 jonathan cognominal_: this works: class A { method a {  say "a"; }; }; A.new.a();
11:56 jonathan :-)
11:58 cognominal_ ho
11:58 jonathan cognominal_: I think I know why what you tried doesn't work; unfortunately, until we start using .HLL I don't think it's going to get any better.
11:59 jonathan I already have had to hack in some work-arounds for our lack of usage of .HLL
11:59 cognominal_ I did not notice the call was inside the class
11:59 cognominal_ my bad
11:59 jonathan Well, Rakudo's bad too I think; that should work anyway. Basically, if you have no HLL in effect, get_hll_global appears to fall back on the current namespace.
12:00 jonathan Which causes some oddness.
12:00 cognominal_ the function error seems more problematic
12:00 cognominal_ yea, as long we have work around...
12:00 cognominal_ I understant this is a bootstrapping process
12:01 jonathan cognominal_: The function not found error is not because a is not found. It's becaues you used return, which isn't implemented yet.
12:01 jonathan And since the keyword isn't implemented, it tries to find a function called return.
12:01 cognominal_ :)
12:01 jonathan So sub a { say "a"; "a" }
12:01 jonathan That should do what you want.
12:01 cognominal_ ok
12:02 jonathan return actually involves throwing/catching a control exception, so far as I understand it.
12:02 cognominal_ jonathan++
12:02 jonathan Thus why it's actually not so straightforwrad to implement.
12:02 jonathan It's on pmichaud's todo list though, and it's one that I'm quite happy to not task-steal. ;-)
12:03 cognominal_ so an explicit return ahs a different semantic?
12:05 jonathan Yes, because it returns from the current sub/method, not the current block.
12:05 jonathan However, blocks compile down to Parrot subs.
12:05 cognominal_ rakudo -e 'class A { method a {  self }; method b { say "a" }; } A.new.a.b;'
12:05 cognominal_ Statement not terminated properly at line 1, near "A.new.a.b;"
12:05 jonathan Thus why it's not as simple as emitting a PIR .return(...)
12:06 jonathan cognominal_: Missing ; afer the } for the class in that one.
12:06 cognominal_ works fine indeed
12:06 jonathan Phew. :-)
12:07 cognominal_ I am not yet used of the additionnal semicolon Perl6 wants in some places
12:08 cognominal_ I think that when named captures will have been implemented rakudo will be fine enough to play with
12:08 cognominal_ I suspect jonathan is already working on that
12:16 kid51 joined #parrot
12:16 jonathan cognominal_: Named captures as in $<blah> ?
12:16 jonathan $/{'blah'} already works ;-)
12:17 jonathan Working on the second of those at the moment though. So if that's what you menat, good guess. ;-)
12:18 cognominal_ :)
12:21 Ademan joined #parrot
12:23 jonathan Hmmm...maybe eating something for lunch would be a good idea...
12:23 svnbotl r25734 | chromatic++ | trunk:
12:23 svnbotl : [IMCC] Minor cleanups of IMCC's PBC emitting code.  It's slightly shorter, some
12:23 svnbotl : of the variables have tighter scope, and a few of the names and comments are
12:23 svnbotl : saner.  There's still a lot of work to go; Extract Function and Rename Symbol
12:23 svnbotl : are very nice refactorings here.
12:23 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25734
13:01 svnbotl r25735 | jonathan++ | trunk:
13:01 svnbotl : [rakudo] First cut at < > postcircumfix, so now you can write %foo<bar>.
13:01 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25735
13:06 svnbotl r25736 | kjs++ | trunk:
13:06 svnbotl : [src] add some function documentation to imcc/cfg.c
13:06 svnbotl r25737 | jonathan++ | trunk:
13:06 svnbotl : [rakudo] Implement $<foo> syntax for getting at named captures.
13:06 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25737
13:08 jonathan cognominal_: You can haz named capture syntax. :-)
13:43 * Coke reminds those using the mail interface to RT to *REPLY* to tickets that you wish to add information to. don't send fresh emails. :|
13:56 cognominal_ jonathan, nice
14:10 Andy joined #parrot
14:11 gryphon joined #parrot
14:13 Ademan joined #parrot
14:18 GeJ joined #parrot
14:30 Coke ack++
14:31 GeJ_ joined #parrot
14:32 skv joined #parrot
14:40 Coke (honestly -a is shorter to type and 99.9% of the time is what I want anyway.)
14:40 Coke ww
14:42 GeJ joined #parrot
14:46 wknight8111 joined #parrot
14:53 cognominal_ Maddingue, tu utilises quoi comme systeme de fenetrage virtuel sur ton mac?
14:53 skids joined #parrot
14:53 cognominal_ oops wrong channe
15:09 slightlyoff joined #parrot
15:24 gryphon joined #parrot
15:31 turrepurre joined #parrot
15:35 svnbotl r25738 | coke++ | trunk:
15:35 svnbotl : [codingstd]
15:35 svnbotl : Space after comma per c_operators.t
15:35 svnbotl r25739 | coke++ | trunk:
15:35 svnbotl : [codingstd]
15:35 svnbotl : c_operator.t is passing; enabling it...
15:35 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25739
15:58 Andy joined #parrot
16:06 Theory joined #parrot
16:10 particle who broke parrot? chromatic?
16:10 particle compilers\imcc\pbc.c(1256) : error C2275: 'SymReg' : illegal use of this type as an expression
16:10 particle c:\usr\local\parrot\trunk\c​ompilers\imcc\symreg.h(88) : see declaration of 'SymReg'
16:10 particle compilers\imcc\pbc.c(1256) : error C2065: 'reg' : undeclared identifier
16:10 particle compilers\imcc\pbc.c(1258) : error C2223: left of '->nextkey' must point to struct/union
16:14 spinclad_ joined #parrot
16:15 jonathan particle:  Do you have hte URL for posting on rakudo.org?
16:16 particle it's a perlbuzz url... lemme see
16:16 particle http://perlbuzz.com/cgi-bin/mt/mt.cgi iirc
16:16 particle jonathan: nice work these last few days
16:16 particle i need to catch up
16:17 bphillip1 joined #parrot
16:17 particle we need some changes to the attribute code to deal with "has $x" being callable as $x, $!x, $.x, self.x, self!x,
16:20 TimToady joined #parrot
16:20 slightlyoff joined #parrot
16:21 gryphon_ joined #parrot
16:24 diakopter joined #parrot
16:28 mdiep joined #parrot
16:36 skids joined #parrot
16:36 Ademan joined #parrot
16:37 davidfetter joined #parrot
16:42 peeps[work] joined #parrot
16:45 jonathan particle: Sorry, disconnect
16:45 jonathan I thought I already had made it so has $x made it visible as $x and $!x.
16:45 jonathan $. is all about accessor methods.
16:46 jonathan If you don't declare it $.x you don't get any.
16:46 particle (07:15:57) [particle]: has $.a allows you to call $!a, $.a, and $a. correct?
16:46 particle (07:15:59) [particle]: oops
16:46 particle (07:16:05) [particle]: "has $a"
16:46 particle (07:16:07) TimToady: not hte last
16:46 particle (07:16:11) TimToady: yes
16:46 particle (07:16:16) [particle]: ok. great.
16:47 jonathan class Foo { has $x; method set { $!x = 42; }; method get { $x }; };
16:47 jonathan my $x = Foo.new(); $x.set(); say $x.get();
16:47 jonathan 42
16:47 particle change method get to { $.x }
16:47 purl particle: that doesn't look right
16:47 particle if it still works, jonathan++
16:47 jonathan The "true name" of the private variable always has the exclamation, but much like with our variables, you may declare a lexically scoped alias to the private variable by saying:
16:48 jonathan has $brain;     # also declares $!brain;
16:48 particle correct
16:48 jonathan It doesn't say that you get an accessor with that.
16:48 buildbot joined #parrot
16:48 particle you get an accessor
16:48 jonathan Where in S12 does it say that?
16:49 particle "my method x {...}" creates an attribute with a method attached
16:49 workbench joined #parrot
16:49 jonathan That's different from has $x;
16:50 jonathan Also, where did you see that?
16:50 particle ah, seems timtoady is wrong, anyway.
16:51 particle Public attributes have a secondary sigil of "dot", indicating the automatic generation of an accessor method of the same name. Private attributes use an exclamation to indicate that no public accessor is generated.
16:51 particle so, "has $x" and "has $.x" generate accessors
16:51 cognominal_ yea, that what I remembered
16:51 particle "has $!x" doesn't
16:51 jonathan That's not clear, and S12 feels like it suggests otherwise, though it's not explicit about it.
16:52 particle need to migrate t/oo/attributes/instance.t to t/spec
16:52 cognominal_ but you can declare methods that act as accessor
16:52 jonathan The reason I think so is that after it talks about has $x creating $x and an alias to $!x, the paragraph below it is still talking about private accessors.
16:53 jonathan The "true name" of the private variable always has the exclamation, but much like with our variables, you may declare a lexically scoped alias to the private variable by saying:
16:53 jonathan has $brain;     # also declares $!brain;
16:53 jonathan And any later references to the private variable within the same block may either use or omit the exclamation, as you wish to emphasize or ignore the privacy of the variable. O
16:53 jonathan It says $brain is private.
16:54 particle yes, $brain is block-scoped
16:55 jonathan Sure. But it always talks about $brain being an alias to $!brain. It doesn't talk about accessor method generation.
16:55 particle hrmm. it is confusing.
16:55 jonathan It only talks about $.x doing that.
16:55 jonathan It's not clear.
16:55 cognominal_ so much doc to read to get up to speed :(
16:55 jonathan I may be wrong, but it's not how I've understood and explained it for a couple of years.
16:55 particle yes. timtoady
16:56 particle er, timtoady must explain that better.
16:56 jonathan It's not hard for me to change it to generate the accessor method.
16:56 jonathan I just struggle to see from the spec the way it is at the moment, that we should do so.
16:56 particle is 'is ro/rw' working yet?
16:56 jonathan No, it's is rw by default.
16:57 jonathan Erm, mostly because I don't actually know *how* to implement rw/ro. :-)
16:57 particle um. if it's rw by default, then accessors should be created, no?
16:57 jonathan The current implementation works but I don't consider it to be correct.
16:57 jonathan Oh, sorry. The *spec* says it's ro by default when you have an accessor.
16:57 jonathan The current implementation is wrong.
16:57 TimToady "has $x" does not generate an accessor
16:57 jonathan Phew. :-)
16:58 particle ok.
16:58 particle so you can't call "has $x" with $.x
16:58 jonathan TimToady: Maybe a note to clarify that in the spec is good - it was my reading, but it's not 100% clear.
16:58 TimToady particle: correct
16:59 jonathan Using $.x to refer to it inside the class probably doesn't quite work yet; there is certainly stuff to do here.
17:00 particle has $!x is rw; # are accessors generated?
17:00 jonathan I believe not, and I'm not sure what that means.
17:01 particle i'm hoping it's a compile time error
17:01 jonathan Right, but it'd be up to the rw trait to moan.
17:04 particle TimToady: "my method !foo" and "our sub !foo": are these examples from S12 valid syntax?
17:04 particle seems the ! should not be in the declaration, only in invocation
17:05 jonathan TimToady: S12 talks about classes being mutable.
17:05 jonathan I know that means we can add stuff to them, replace them, etc.
17:05 jonathan But does that affect existing instances of the class? I thought not, but reading "mutable" makes me wonder...
17:11 buildbot joined #parrot
17:12 * jonathan posts to rakudo.org
17:13 jonathan particle: On OO spec tests, I would *love* to see someone help out with those.
17:13 jonathan And I don't just mean you. :-)
17:26 particle jonathan: when's the last time you built parrot?
17:27 jonathan Probably a couple of days ago.
17:27 jonathan I'm scared to re-build, in case it's broken, and I have to fix it before I can resume hacking on Rakudo. ;-)
17:27 particle ok. i think chromatic broke it today
17:27 jonathan Geck.
17:28 particle yeah. i wanna hack rakudo :(
17:28 jonathan Though maybe just on Win32.
17:28 jonathan I kinda need to go in 2-3 minutes, otherwise I'd pull it now and check and fix.
17:30 particle ah, i think i spotted it
17:30 particle c89ism
17:31 jonathan Ah. Those are easy to fix. :)
17:31 jonathan Too bad GCC seems to be less sensitive to that than MS VC++.
17:31 particle yep. feel free to update after i commit, parrot's working again :)
17:32 jonathan Nice, thanks!
17:32 jonathan Feel free to fix the new features I added today. ;-)
17:32 particle it's truly annoying that in all gcc's perceived "greatness" it can't behave like a proper ansi compiler
17:33 jonathan Or at least doesn't have a flag to make it do os.
17:33 jonathan *so
17:33 jonathan Ah, meeting up with some folks in realspace, gotta go.
17:33 jonathan laters
17:33 particle cheers
17:33 svnbotl r25740 | particle++ | trunk:
17:33 svnbotl : [imcc] fix c89ism (gcc--)
17:33 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25740
17:48 cognominal_ I see in grammar.pmg    subcall defined as <ident> '(' <semilist> ')'       .  Should not be possible to call a sub without parentheses if already declared? May be, it is not possible with the current state of rakudo?
17:49 Ademan joined #parrot
17:49 particle http://svn.pugscode.org/pugs/src/perl6/STD.pm defines subcall with parens
17:50 c_otto joined #parrot
17:51 kj joined #parrot
17:56 TimToady <ident> without parens is considered a listop instead
17:56 TimToady list_prefix, more specifically
17:57 TimToady (unless predeclared 0-ary, in which case it's a term, or prefix:<ident> with 1 arg, in which case it's a named unary)
17:58 TimToady in any case, a post-declared <ident> must be considered a list prefix, and subsequent declaration contradicting that is an error
17:58 purl joined #parrot
17:59 TimToady actually, the term form may need to be declared term:<ident>; I'm not sure a simple () sig is good enough...
17:59 TimToady can argue it both ways
18:00 cognominal_ ok
18:00 TimToady but leaning toward not doing grammar munging without explicit foo:<>
18:06 purl joined #parrot
18:07 pmichaud rakudo treats unknown idents as being list prefix
18:10 pmichaud it does get a little confused with something like  'foo.bar()', which it currently treats as &foo.bar() instead of foo().bar()
18:11 particl1 joined #parrot
18:12 cognominal_ yea, that's what I hit when playing with undef before jonathan fixed it
18:12 pmichaud well, jonathan fixed undef by making it into a keyword.  that's fine for undef, but in the general case it'd still dtwt
18:13 sjansen joined #parrot
18:18 turrepurre joined #parrot
18:18 cognominal_ yea, that's what I meant
18:19 pmichaud excellent
18:35 particle joined #parrot
18:52 Coke (gcc) isn't there a cage warning that catches such things?
18:53 Coke (something in perl Configure.pl --cage)
18:54 particle if there is, it should be on by default
18:55 spinclad joined #parrot
18:56 wolverian 0.5.2's t/smartlinks.t fails for me on 5.10, is this known?
18:57 Ron joined #parrot
18:59 nihiliad joined #parrot
19:01 particle wolverian: yes, it's a problem with your perl install picking up an old lib
19:01 particle you likely have a shared path in @INC between 5.10 and an older 5.8
19:03 * Coke tries to find it.
19:03 particle coke: first try --ansi --pedantic or something
19:03 Coke src/main.c:55: warning: ISO C90 forbids mixed declarations and code
19:04 Coke that's in a normal build.
19:04 Coke (I think. double checking I didn't config with --cage)
19:04 particle sure, it's a nice warning.
19:05 particle in c89 that's an error, though.
19:05 wolverian particle, ah, thanks. yes, I have 5.10 in /usr/local and 5.8 in /usr. oh well.
19:05 particle iirc there's no way to tell gcc to error on that, just warn
19:05 wolverian (does that break other things?)
19:05 particle wolverian: you should have separate @INCs, since there's binary incompat
19:06 wolverian actually, @INC only has 5.10 entries
19:16 Andy off to MPLS
19:17 Coke particle: It seems that -Werror is the way to do it... but that turns ALL warnings into errors.
19:17 particle yep. which just sucks.
19:19 Coke yep. Well, at least you can safely smack any gcc developers that commit that, since they had to ignore the warning. =-)
19:20 Coke hurm. -Werror=foo seems promising.
19:24 Coke ... not supported by my gcc though.
19:28 Coke -Werror=declaration-after-statement is documented for 4.2.3 but not
19:28 Coke 4.1.2;
19:32 mercutioviz joined #parrot
19:34 Coke particle: opened a cage ticket.
19:36 IllvilJa joined #parrot
19:38 particle coke++
19:44 rdice joined #parrot
20:01 perlfan joined #parrot
20:03 davidfetter joined #parrot
20:29 cognominal_ rakudo -e ' my %a = (1,2); say pairs %a'
20:29 cognominal_ get_string() not implemented in class 'Pair'
20:29 cognominal_ I should be able to fix itif I know what it should print
20:37 pmichaud the my %a = (1,2) isn't likely to work in Rakudo yet, as we don't have a Pair type
20:37 pmichaud and we need to fix up Rakudo's Hash type so that it understands list assignment
20:44 cognominal_ rakudo -e ' my %a = (1,2); say %a'
20:44 cognominal_ 12
20:44 pmichaud right, it's converting %a to be a normal List
20:44 cognominal_ it seems to work already
20:44 pmichaud my %a = (1,2);  say %a.WHAT;   # List
20:44 pmichaud i.e., %a isn't a hash
20:44 cognominal_ ha
20:44 HG` joined #parrot
20:45 pmichaud we still don't have true list assignment working, nor do we have a way of converting a List into a Hash
20:47 cognominal_ pmichaud, http://paste.husk.org/10900, I have written  grep and map in List.pir but I don't know how to hook it up
20:47 Coke (list to hash). there is code in tcl to do this. not sure how much of it is salvagable.
20:48 cognominal_ not sure it is correct either
20:48 cognominal_ indeed I forgot to loop
20:49 Coke __listToDict is the tcl version.
20:49 Coke hurm. probably not usable, since have to take strings like "a b c d" and convert that to a list on the fly. Nevermind. =-)
20:50 pmichaud we just need to overload the 'copy' opcode for rakudo Hash types
20:50 pmichaud actually, we need to convert PCT to use copy, right
20:50 pmichaud s/right/first
20:50 pmichaud iirc, PCT is still using the morph+assign trick
20:51 parrot-poke joined #parrot
21:07 svnbotl r25741 | petergibbs++ | trunk:
21:07 svnbotl : Change Parrot_assert condition argument from int to long, in an attempt to
21:07 svnbotl : remove warnings on platforms with 64-bit pointers but 32-bit ints.
21:07 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25741
21:14 grim_fandango joined #parrot
21:26 svnbotl r25742 | jkeenan++ | tcif:
21:26 svnbotl : Starting to write POD for P::C::Parallel::Trace public methods.
21:26 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25742
21:32 svnbotl r25743 | jkeenan++ | tcif:
21:32 svnbotl : Matching Coke's correction in trunk:  c_operator.t is now passing, so enable it in this branch as well.
21:32 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25743
21:56 rdice joined #parrot
21:57 svnbotl r25744 | jkeenan++ | tcif:
21:57 svnbotl : Completeed initial draft of POD for P::C::Parallel::Trace public methods.
21:57 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25744
22:11 particle joined #parrot
22:12 Coke -> offline
22:36 confound joined #parrot
22:49 cotto joined #parrot
23:10 kj joined #parrot
23:17 Limbic_Region joined #parrot
23:32 skids joined #parrot
23:40 kid51 joined #parrot
23:41 Limbic_Region salutations all
23:44 * davidfetter sends a few neurotransmitters to Limbic_Region
23:45 Limbic_Region thanks - my brain still hasn't recovered from the birth of his second child
23:45 Limbic_Region er um, s/his/my/
23:45 Limbic_Region # hence making my point
23:48 svnbotl r25745 | jkeenan++ | tcif:
23:48 svnbotl : Create new test file.
23:48 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25745
23:49 davidfetter pic!
23:55 svnbotl r25746 | jkeenan++ | tcif:
23:55 svnbotl : New test file was in wrong directory; correcting.
23:55 svnbotl diff: http://parrotvm.org/svn/parrot/revision/?rev=25746

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

Parrot | source cross referenced