Camelia, the Perl 6 bug

IRC log for #parrot, 2008-10-06

Parrot | source cross referenced

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

All times shown according to UTC.

Time Nick Message
00:09 AndyA joined #parrot
00:19 tetragon joined #parrot
00:32 TiMBuS joined #parrot
00:38 tetragon joined #parrot
00:50 dmknopp joined #parrot
01:21 tetragon_ joined #parrot
01:38 davidfetter_ joined #parrot
02:31 Theory joined #parrot
03:11 ab5tract joined #parrot
03:12 Ontolog joined #parrot
03:16 Bzek joined #parrot
03:21 DietCoke joined #parrot
03:22 * DietCoke grumbles.
03:23 bacek joined #parrot
03:24 dmknopp some one needs more caffine
03:25 cotto or less
03:25 dmknopp :-) night all
03:25 dmknopp left #parrot
03:25 DietCoke it is very frustrating to be working on something and to drop it to just tread water. :|
03:27 DietCoke is there an easy way to figure out what function is handling a MMD request?
03:28 DietCoke I'm basically seeing that $I0 = islt TclInt=3, TclInt=3 is true. (which it isn't, but I can't easily figure out where the MMD is going and giving me that bad value.)
03:29 DietCoke this smells like earlier failures where classes with PMC parents didn't work properly on MMD (but those still work)
05:27 Zaba_ joined #parrot
05:34 Tene I wish this pge infinite loop was as easy to debug as the imcc bug was.
05:43 notbenh joined #parrot
05:51 Zaba joined #parrot
06:13 duzy joined #parrot
06:16 uniejo joined #parrot
06:47 iblechbot joined #parrot
06:51 TiMBuS joined #parrot
07:21 cosimo joined #parrot
07:24 Tene purl: karma
07:24 purl karma is just as useful as the Perlmonks XP :-) or at http://ircxory.jrock.us/
07:24 Tene purl: karma tene
07:24 purl tene has karma of 242
07:24 dalek r31688 | tene++ | hllmagic:
07:24 dalek : Update hllmagic branch to trunk.
07:24 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31688
07:28 Tene purl: 3**5
07:28 purl 243
07:28 Tene Hmm.  Not sure if I want another commit tonight.
07:28 Tene 244 isn't a nice number.
07:30 moritz it's 12*12 + 10*10
07:30 Tene True...
07:31 Tene 2**4 * 3 * 5
07:31 purl 240
07:31 Hinrik moritz: are you out of ideas/steam for the perl-5-to-6 series?
07:31 Ademan joined #parrot
07:32 moritz Hinrik: mostly out of tuits, I have huge exams coming up
07:32 moritz Hinrik: but also a bit out of ideas
07:32 Hinrik ok
07:32 Tene Also I'm stuck on this PGE issue in the hllmagic branch.
07:32 Hinrik moritz: a very helpful one might be "How to get involved"
07:35 moritz Hinrik: I wrote http://www.perlmonks.org/?node_id=690945 on that topic
07:36 Hinrik ah, nice
07:36 dalek r31689 | chromatic++ | trunk:
07:36 dalek : [Parrot::Embed] Removed Parrot_revision() function, which doesn't exist in
07:36 dalek : Parrot itself anymore.  All tests pass once again.
07:36 dalek : Updated version numbers.
07:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31689
07:36 dalek r31690 | chromatic++ | trunk:
07:36 dalek : [Parrot::Embed] Removed POD coverage test for Parrot::Embed, as it's not
07:37 dalek : useful.
07:37 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31690
07:41 dalek r31691 | chromatic++ | trunk:
07:41 dalek : [Parrot::Embed] Fixed minor nits in the documentation and packaging.
07:41 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31691
08:04 dalek r31692 | tene++ | hllmagic:
08:04 dalek : [pct]
08:04 dalek : * Misc namespace updates for pct
08:04 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31692
08:05 dalek r31693 | tene++ | hllmagic:
08:05 dalek : [Perl6Grammar]
08:05 dalek : * NS updates
08:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31693
08:12 dalek r31694 | tene++ | hllmagic:
08:12 dalek : Misc NS updates in library/PGE/*pir
08:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31694
08:24 Tene I wonder if I could use the parrot debugger for this...
09:02 Tene ... I keep accidentally letting PGE spin here, and then several minutes later I notice that something is using ALL MY MEMORY WTF ITS SWAPPING SO BAD
09:03 moritz (OOM killer)++
09:14 Khisanth joined #parrot
09:16 purl joined #parrot
09:43 dalek r31695 | kjs++ | trunk:
09:43 dalek : [pirc/macro] clean up the macro preprocessor. It was dusty.
09:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31695
09:45 dalek r31696 | kjs++ | trunk:
09:45 dalek : [pirc/heredoc] switch to Parrot's memory allocation infrastructure. The bug that was there is now gone, so it might have a been a bug in malloc or whatever. Then again, what do I know...
09:45 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31696
09:52 dalek r31697 | kjs++ | trunk:
09:52 dalek : [pirc/new] refactor print stuff into a different file. Updated MANIFEST accordingly. Many updates, fixed some bugs, did some cleanups.
09:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31697
10:00 TiMBuS joined #parrot
10:56 kj joined #parrot
11:02 gaz joined #parrot
11:33 clunker3 joined #parrot
12:22 tetragon joined #parrot
12:51 dalek r31698 | coke++ | trunk:
12:51 dalek : [cage] Silence the smolder failures.
12:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31698
13:03 gryphon joined #parrot
13:12 NotFound joined #parrot
13:12 NotFound hello
13:29 masak joined #parrot
13:33 PacoLinux joined #parrot
13:38 DietCoke joined #parrot
13:39 * DietCoke ponders moving partcl out of the repository.
13:45 * DietCoke forgot to run this inside screen
13:54 iblechbot joined #parrot
14:17 Andy joined #parrot
14:34 PerlJam joined #parrot
14:44 Coke joined #parrot
14:44 Coke log?
14:44 purl o/~ log, log, it's big, it's heavy, it's wood; log, log, it's better than bad, it's good! o/~ or flushed at startup
14:45 Coke message moritz (killing tcl processes). Sigh.
14:45 purl Message for moritz stored.
14:46 moritz re
14:46 moritz was it wrong to kill them? or wrong that they consumed so much mem?
14:47 Coke I'm kind of at the mercy of parrot there. Hopefully I wasn't in the middle of gathering my test statistics whenever you killed them.
14:48 Theory joined #parrot
14:48 Coke If they were stopping someone else from getting work done on feather, no, by all means, kill them.
14:48 moritz ok, somebody on #perl6 had complained
14:49 moritz but why was it a tclsh process, not a parrot process?
14:49 moritz or are you compiling to an executable named tclsh?
14:49 Coke same way you get ./perl6 ?
14:49 Coke I'm testing partcl.
14:49 Coke Not that it matters at this point, since partcl is borked in trunk.
14:51 Coke Is anyone doing active development on a language that is not stored in the parrot repo?
14:51 jhorwitz joined #parrot
14:52 moritz I'm not aware of any
14:54 Coke Pondering moving partcl out of the repo sooner than later. Was hoping for some prior art.
14:55 NotFound Coke: no prior art? Patent it! ;)
14:55 Coke (have a bunch of stuff pending that I can't commit now.)
14:55 Coke well, i could, but it would be pointless. =-)
15:02 Coke wonder if it would make sense to muck with svn:external pointers, or maintain a build directory of parrot, or push to get a dev-install version of parrot.
15:03 Coke I think we want dev-install at some point, but I doubt that would work today.
15:03 Coke the middle option is probably the easiest today, despite an extra step for partcl developers.
15:04 apeiron joined #parrot
15:18 jhorwitz i remember us having real trouble with svn:external a while ago....
15:21 dalek r31699 | julianalbo++ | trunk:
15:21 dalek : define limit values for INTVAL type, second step, and fix some codingstd and metadata
15:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31699
15:22 NotFound Ups, forgot to delete the last part after update
15:22 Coke it wouldn't be in your repository, ti'd be in mine.
15:27 NotFound I think there are some problems with pmc inherited from pir classes.
15:29 NotFound Mainly the morph thing: arit operations use morph to promote the result in overflows and such, but morphing a pir object seems to give strange results.
15:29 Coke are you referring to my tcl woes, or something else?
15:29 jhorwitz Coke: would there be svn externals in the parrot repo or the other way around?
15:30 NotFound Coke: I think is a general problem and may be causing the tcl ones.
15:31 Coke ok. I don't have PMCs that inherit from PIR classes.
15:31 NotFound The SELF not doing the right thing that you mention is one of the things.
15:31 Coke and PIR classes that inherit from PMCs seem fine. (tests in t/pmc/integer.t and float.t back this up)
15:31 Coke However, I certainly hope you can fix it. =-)
15:32 Coke jhorwitz: the other way around; except I don't want externals in my repo either.
15:32 jhorwitz ah ok.  :)
15:32 Coke so I'll probably just tell anyone who cares to hack on partcl to check out a very specific version of parrot first, and then checkout partcl in just the right place.
15:33 jhorwitz i'm going to face the same thing with mod_perl6
15:35 apeiron joined #parrot
15:43 dalek r31700 | coke++ | extract_tcl:
15:43 dalek : [tcl] Create a branch with a known working combination of partcl/parrot to experiment with moving languages/tcl to a different repository.
15:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31700
15:53 Tene Coke: are you able to look at dmknopp's commit bit today?  He tells me he believes he's done everything he needs to do.
15:54 sjansen joined #parrot
15:54 Tene Coke: kea-cl is outside of the repo, I think.
15:55 particle1 tene++ # beat me to it--just back from scrollbackland
15:56 Tene There are advantages to not sleeping!
15:56 particle tene: i needed - in rakudo to use a module in the t/spec/modules/S11-modules/ dir
15:56 particle t/spec/packages/... i mean
15:57 Tene Ah.
15:57 Tene Looks like I'm meeting with tewk tonight for cardinal hacking.
15:58 particle sweet!
15:59 pmichaud hello, all
15:59 particle hey there patrick
15:59 Tene hi pmichaud
16:00 particle you maverick, you
16:00 Tene I'm still having trouble tracking down that infinite loop in PGE.
16:00 * moritz detects a rising occupation number here ;)
16:00 pmichaud Tene: yes, I'll look at it as soon as I can (have to catch up on email and check on a few non-parroty things first.)
16:01 * Tene nods.
16:01 nopaste "particle" at 98.232.28.49 pasted "win32+msvc svn head spectest_regression test failure report :(" (15 lines) at http://nopaste.snit.ch/14242
16:02 particle known unknowns or unknown unknowns?
16:03 pmichaud the complex/exp/log/sqrt failures are known
16:03 hercynium joined #parrot
16:03 particle ok, good
16:03 pmichaud looking up rt #
16:03 particle i can concentrate on S02-03
16:04 pmichaud rt #59630
16:04 particle log?
16:04 purl o/` it rolls downstairs, alone or in pairs, rolls over your neighbour's dog, it fits on your back, it's good for a snack, it's log, log log! o/`
16:04 particle parrot log?
16:04 moritz irc log?
16:04 purl irc log is http://irclog.perlgeek.de/parrot/
16:04 particle thanks
16:05 pmichaud tene:  should we focus on getting the branch to work and then update it with the latest trunk changes, or vice-versa?
16:06 NotFound Coke: sorry, long phone call
16:06 Tene pmichaud: I just saw that a big branch had been merged, and it was trivial to pull it in in case it ended up relevant.
16:06 Tene There were no merge conflicts.
16:06 pmichaud (no merge conflicts)++
16:07 pmichaud I'll let you decide how/when to update the branch there then.
16:07 pmichaud I'll troubleshoot the PGE problem shortly.
16:07 Tene My reasoning was that if there had been merge conflicts already, it would be relevant to fix them now, and if there hadn't, it's better to merge it in before we work on those parts that conflict rather than dealing with them twice.
16:08 particle merges are cheap
16:08 pmichaud so, it's been merged already?
16:09 Tene Yeah.
16:10 pmichaud excellent.
16:10 Tene Oh, I thought you were asking about that commit.
16:10 pmichaud you're a step or two (or more) ahead of me then.
16:10 pmichaud no, I hadn't seen the commit yet.
16:13 Theory joined #parrot
16:22 mberends joined #parrot
16:25 Zaba heh
16:25 Zaba I'm getting a lot of test failures...
16:26 moritz Zaba: in rakudo?
16:26 Zaba moritz, in parrot itself
16:26 Zaba Perhaps my build was not clean
16:26 moritz Zaba: on sunday a branch (mmd) was merged in, I get some failures too (in two test files)
16:27 NotFound Zaba: Have you do a make realclean ?
16:27 Zaba NotFound, no - that's why I think, it might be because of that
16:27 Zaba I should try
16:28 dalek r31701 | pmichaud++ | trunk:
16:28 dalek : [rakudo]: spectest-regression.csv update: 205 files, 4363 passing, 74 failing
16:28 dalek : Most failures seem to be related to the mmd branch merge, especially
16:28 dalek : with complex number handling in Parrot (RT #59630).
16:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31701
16:29 Zaba mmd?
16:29 purl well, mmd is multi-method dispatch
16:29 NotFound pmichaud: have you seen my comment on that ticket?
16:29 pmichaud NotFound: yes.  I agree that doesn't appear to be the correct approach to solving the problem.
16:29 pmichaud I'm hoping allison can shed some light on it.
16:31 NotFound In test I doed, it seems the GET_ATTR and SET_ATTR does not work well with child pmc
16:32 pmichaud ...In looking at the patch (and at the original sources), I'm confused.
16:32 pmichaud take a look at src/pmc/integer.pmc:437
16:32 NotFound And the morphing of a pir child, I don't have a clue of how it must work.
16:33 pmichaud line 437 is the standard "subtract Integer from Integer"
16:33 NotFound Aye
16:33 pmichaud note that we don't have to morph dest there
16:34 pmichaud ....so why does it need morphing in the Complex case (right below it)
16:34 particle because Int - Complex = Complex ??
16:35 NotFound pmichaud: it gets morphed in overflow, I think
16:35 pmichaud particle:  I don't think that's it.  In the first case we *always* create a new PMC for dest
16:35 pmichaud in the second case we're creating a new PMC if it doesn't exist, morphing it if it does
16:35 pmichaud but I think the two ought to have the same semantics
16:35 pmichaud let's look at it without regard to types
16:35 pmichaud sub $P2, $P0, $P1
16:35 NotFound particle: Integer - Integer -> BigInt, on overflow
16:36 pmichaud when "sub $P2, $P0, $P1" is executed, should it always create a new PMC in $P2, or should it try to re-use (morph) an existing PMC?
16:36 pmichaud as the code is written now,   sub $P2, <Integer>, <Integer>  always creates a new PMC in $P2
16:36 Zaba #   Failed test 'wordsize: 8'
16:36 Zaba #   at t/native_pbc/header.t line 67.
16:37 pmichaud but sub $P2, <Integer>, <Complex>    tries to re-use the PMC in $P2 if it exists
16:37 pmichaud that feels terribly inconsistent.
16:37 particle pmichaud: it may be left over from the sub/n_sub cleanup
16:37 pmichaud particle:  yes, I'm just wondering which is correct.
16:37 pmichaud if we always create a new PMC, then it's easy to clean up
16:37 particle "always create new" is correct
16:38 pmichaud what happens then with   sub $P2, <Integer>    ?
16:38 NotFound pmichaud: you are right, now I understand some problems I had with operators in pirric
16:38 pmichaud does that call a different MULTI entirely, or...?
16:39 NotFound But if dest is going to be ignored, there is no reason to pass it to any of this type of vtable functions.
16:39 pmichaud NotFound: correct, I think the morphing behavior is needed for the "inplace" form of the opcodes
16:40 NotFound I wonder if allison was thinking on this whe she said yesterday that was tempted to kill morphing
16:40 pmichaud very likely.
16:40 particle inline op sub(invar PMC, invar PMC) :base_core {
16:40 particle VTABLE_i_subtract(interp, $1, $2);
16:40 particle }
16:40 Zaba t/native_pbc/header.t    1   256     9    1  2
16:40 Zaba the only failing test now
16:40 particle inline op sub(invar PMC, invar PMC, invar PMC) :base_core {
16:40 particle $1 = VTABLE_subtract(interp, $2, $3, $1);
16:40 particle }
16:40 particle yes, different vtable
16:41 particle see src/pmc/integer.pmc:516
16:41 kj I'm wondering why it is now 'always create new'; I remember a blog post of Dan explaining it's not efficient...
16:42 NotFound I also does not understand why the dest check for many of this functions is (dest) instead of (!PMC_IS_NULL(dest))
16:42 particle kj: architectural decision based on use cases of hlls
16:43 NotFound kj: something that can be impossible to implememen correctly will never be efficient
16:43 kj particle: yeah that's what I understood earlier. it's just hard to see, given the fact that there's also the 2-operand versions of, for instance, 'add', as in: add $P0,$P1,where $P0 is an INOUT parameter.
16:44 kj but then again, don't want to start a discussion :-) Just don't see why it's a problem.
16:45 pmichaud kj:  here's where some of the difficulty arises:     add <Integer>, <Float>
16:45 pmichaud the result of that opcode has to convert the Integer PMC into a Float PMC
16:45 kj yes, I see.
16:46 radhios joined #parrot
16:46 NotFound And the <Integer> can be a child of <Integer>
16:46 pmichaud it gets worse when we have something like
16:46 kj but in case of add <integer>, <integer>.. ; still a problem?
16:46 pmichaud add <MyInt>, <Float>      #  <MyInt> is a subclass of <Integer>
16:46 * Zaba still wonders.. why rakudo is so extremely sluggish on spectest_regression.
16:46 pmichaud Zaba: parsing is still slow in rakudo.
16:46 NotFound kj: <Integer> <Integer> morph on overflows
16:46 particle zaba: it will be addressed before this xmas
16:46 particle right pmichaud? :)
16:47 pmichaud yes.
16:48 Zaba xmas.. that's oct 31th..
16:48 NotFound We have a programmer here
16:48 dalek r31702 | julianalbo++ | trunk:
16:48 dalek : define limit values for INTVAL type, third step
16:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31702
16:49 Zaba pmichaud, why does rakudo spit out a lot of 'Use of uninitialized value' on spectest_regression? :)
16:49 pmichaud Zaba: because the spectests are making use of a lot of uninitialized values?
16:49 particle :)
16:50 Zaba pmichaud, and there's nothing wrong about that?
16:50 moritz my offer stands that I'll clear up most of them as soon as the warnings are testable
16:50 particle rakudo++ tests--
16:50 pmichaud zaba:  but there is!  Perl 6 defaults to use warnings and use strict
16:50 Zaba that's good
16:50 pmichaud so rakudo is simply following the default
16:50 particle moritz: you need warnings_like etc?
16:50 Zaba and the tests don't?
16:51 pmichaud moritz: why is "testable warnings" needed for cleaning up the existing tests?
16:51 NotFound There is no 'no warning;' pragma yet?
16:51 pmichaud Zaba: correct, the tests aren't following the default
16:51 moritz pmichaud: because I first want to test the warnings before I start to clean them up
16:51 particle no warnings; is not yet implemented in rakudo
16:51 Zaba pmichaud, bastards they are.. I should spam them with patches!
16:51 moritz the "no wanings" is the second requirement
16:51 pmichaud I don't understand that.
16:52 Zaba 'no whining;'
16:52 pmichaud we should not be writing tests that rely on no warnings, any more than we expect people to write code with warnings disabled.
16:52 moritz pmichaud: some tests warn legitimately
16:52 moritz pmichaud: like when we test undef+1 etc
16:52 moritz pmichaud: so we should have a way of disabling some
16:52 pmichaud moritz: I agree that some do.  But I find it hard to believe that the many warnings that we see now all fall into that category.
16:53 pmichaud the tests for (use/no) warnings should be in its own test file, not scattered throughout the suite
16:53 NotFound pmichaud: if a test check for uses of undefined values, warning about that is pointless
16:53 pmichaud NotFound: as far as I know, checking for use of undefined value does *not* produce a warning in rakudo.
16:54 moritz pmichaud: agree on both. Nevertheless I sufficiently believe in TDD that I want tests first. Including tests for warnings.
16:54 pmichaud moritz: what sort of test for warning do you want?
16:55 NotFound pmichaud: I mean the thing that moritz says, using undef values on purpose.
16:55 moritz pmichaud: preferrably a 'use fatal' so that I can use lives_ok/dies_ok
16:55 pmichaud NotFound: as I said, testing for undef values in rakudo does not currently produce a warning
16:55 pmichaud NotFound: it's only when an undef value is used that we end up with the issue
16:56 pmichaud moritz: does it have to be a lexically scoped "use fatal"?
16:56 moritz pmichaud: then I can write dies_ok { use fatal; 1+undef; }, '1+undef warns' and the like
16:56 moritz pmichaud: would be helpful, but that's not a hard requirement
16:56 NotFound pmichaud: I mean no testing for it, but checking what the result of usinf it is.
16:56 moritz I can work around globalness
16:57 moritz anyway, some of the warnings could be removed by s/todo/skip/ in the fudge markings, but I don't like that idea
16:57 pmichaud NotFound: that's no problem either:   my $x = undef;   $x.defined;  say 1 + $x;   # doesn't produce a warning
16:57 moritz but shouldn't it?
16:57 pmichaud no.
16:58 moritz why not?
16:58 pmichaud not according to S04.
16:58 Zaba heh
16:58 Zaba It'd be logical for the '1 + $x' part to produce a warning though
16:58 pmichaud S04, Exceptions:  If you test a Failure for .defined or .true, it causes $! to mark the exception as handled; the exception acts as a relatively harmless undefined value thereafter. Any other use of the Failure object to extract a normal value will throw its associated exception immediately.
16:58 Zaba Unless undef is an object which defined the conversion-to-number method..
16:59 NotFound purl: nopaste?
16:59 purl no idea, notfound
16:59 pmichaud zaba:  yes, undef is an object that defines the conversion-to-number method.
17:00 Zaba that's niec
17:00 Zaba nice*
17:00 NotFound purl: paste?
17:00 purl notfound: no idea
17:00 particle nopaste?
17:00 clunker3 http://pasta.test-smoke.org/ or http://paste.husk.org/ or http://nopaste.snit.ch:8001/ or http://rafb.net/paste or http://poundperl.pastebin.com/ or http://paste.scsys.co.uk/
17:00 moritz so .defined has side effects - ouch.
17:00 pmichaud it has side effects on undefined objects, yes.
17:00 particle exceptional side effects
17:01 moritz indeed
17:01 pmichaud the idea is that if you've checked the Failure object for its definedness, then you've already "handled" it and so it can just act like a harmless undefined value.
17:02 pmichaud and not throw any sort of warning or exception.
17:02 nopaste "NotFound" at 213.96.228.50 pasted "Test sysinfo intval min and max" (8 lines) at http://nopaste.snit.ch/14243
17:02 pmichaud that's why I don't understand the dependency on "no warnings" and "use fatal", since we can already test that undef values are handled properly.
17:03 NotFound Can someone with a 64 bit build or uncommon C compiler check this?
17:03 particle pmichaud: we can't test that it's a warning to $*ERR
17:04 pmichaud It would seem to me that implementing CATCH blocks would be more useful here.
17:04 grim_fandango joined #parrot
17:04 pmichaud try { 1 + undef;  CATCH { ok(1, "caught warning") } }
17:05 Zaba NotFound, what is it supposed to produce? error:imcc:The opcode 'sysinfo_i' (sysinfo<1>) was not found. Check the type and number of the arguments
17:05 particle that would allow a Test::Warn equivalent to be written
17:05 NotFound Zaba: needs the last comming and reconfiguring
17:05 pmichaud although we need the case of not catching it, too.  hrm.
17:05 NotFound s/comming/commit
17:05 Zaba NotFound, ok
17:05 * Zaba svn ups
17:05 pmichaud but even then, it's:
17:06 pmichaud try { 1 + undef; CATCH { $ok = 1 } }
17:06 NotFound It must print the max and min INTVAL values
17:06 pmichaud ok($ok, "caught warning")
17:06 particle pmichaud: need to test that it's the warning you expect
17:06 particle s/warning/exception/
17:06 NotFound Or 0 if there is no limits.h available
17:06 particle how do you catch a return exception?
17:07 pmichaud particle:  CONTROL {    }
17:07 particle ah, right.
17:07 particle foo(); CONTROL { if $! ~~ CONTROL_RETURN #{ or whatever it's called } { ... } }
17:07 Zaba CONTROL {}?
17:08 pmichaud particle:  right, I don't know the "or whatever it's called" part.  But one could do:
17:08 pmichaud try { 1 + undef; CATCH { $ok = $_.match(/^Use of undefined value/); } }
17:08 pmichaud or, for that matter
17:09 pmichaud try { 1 + undef; CATCH { $ok = m/^Use of undefined value/ } }
17:09 particle really, $_ is set to the exception in CATCH?
17:09 Zaba NotFound, 9223372036854775807
17:09 Zaba -9223372036854775808
17:09 pmichaud yes.
17:09 purl -9223372036854775808
17:09 particle ok
17:09 particle and so is $!?
17:10 particle and i need $OUTER::_ to get the try's $_
17:10 NotFound Zaba: looks good :)
17:10 particle i'm not sure i like that
17:10 pmichaud S04, Exception handlers:  An exception handler is just a switch statement on an implicit topic supplied within the CATCH block. That implicit topic is the current exception object, also known as $!. Inside the CATCH block, it's also bound to $_, since it's the topic.
17:11 NotFound Now I need to figure a way to set the values when there is no limits.h available
17:11 particle so CATCH {...} === given $! {...}
17:11 pmichaud at some level, yes.
17:13 * pmichaud starts to see how he might want to do closure traits in PCT.
17:14 NotFound purl: log(9223372036854775807)
17:14 purl NotFound: what?
17:15 NotFound purl: ln(9223372036854775807)
17:15 purl NotFound: huh?
17:15 NotFound purl: you must learn more math
17:15 purl NotFound: excuse me?
17:16 kj maybe log10?
17:17 moritz log(34)
17:17 moritz purl--
17:17 purl moritz: what?
17:18 moritz karma purl
17:18 purl purl has karma of 8237
17:18 moritz purl--
17:18 purl moritz: i'm not following you...
17:18 moritz karma purl
17:18 purl purl has karma of 8237
17:18 moritz no wonder it's that high
17:24 NotFound I figured a way to check the value with pirric: a=new("BigInt") | a = a + 2 | print a ^ 63
17:25 ruoso joined #parrot
17:25 NotFound This way avoids promotions to float
17:27 NotFound Short version; ?(new("BigInt")+2)^63
17:28 NotFound Retro basics are nice :)
17:30 particle knuth is spinning in his grave, and you're happy?!?!!? ;)
17:31 dalek r31703 | kjs++ | trunk:
17:31 dalek : [pirc/heredoc] fix some math expressions. * has higher priority than +.
17:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31703
17:33 NotFound particle: still not, I'll be really happy when pirric can launch a threaded Runner
17:33 NotFound A multitask retro basic will be soooooo cool :)
17:34 moritz NotFound: with STM, I hope? ;)
17:34 NotFound moritz: I hope
17:35 moritz let me introduce the first language on parrot wih decent concurrency support. And the winner is... *drum beats* ... a 1970 style basic interpreter!
17:36 * moritz rofls
17:36 NotFound Don't exagerate, I learned this style in the '80
17:37 * jhorwitz fires up his C64 emulator
17:38 NotFound $ aliados MBASIC.COM
17:38 NotFound BASIC-80 Rev. 5.2
17:38 NotFound [CP/M Version]
17:38 NotFound Copyright 1977, 78, 79, 80 (C) by Microsoft
17:38 NotFound Created: 24-Jul-80
17:38 NotFound 39238 Bytes free
17:38 NotFound Ok
17:38 NotFound This is with a CP/M emulator
17:41 * particle fires up his C64
17:41 * jhorwitz pokes random values into particle's RAM
17:42 * particle reconfigures the sound processor to display more sprites
17:42 jhorwitz :)
17:44 NotFound My emulator is better for copy & paste, it writes to host stdout
17:46 particle my C64 accepts cartridges so i don't have to wait a *really* long time for frogger to load from disk
17:46 NotFound Someone has a parrot build with a system that does not have limits.h ?
17:47 NotFound I think I have a C64 emulator on the NDS
17:47 NotFound BTW, parrot on the NDS will be great, we need to support cross-building some day.
17:49 PerlJam knuth is dead?
17:49 PerlJam :)
17:50 NotFound Who blame Basic the most, Knuth or Dijkstra?
17:51 PerlJam I don't think either of them blamed a particular language.
17:52 NotFound PerlJam: look at the 'Basic' entry on the jargon file
17:53 NotFound http://www.catb.org/jargon/html/B/BASIC.html
17:53 PerlJam I'm sure Djikstra would have said that about any language whose primary form of non-local control was the "goto"
17:53 PerlJam s/ji/ij
17:54 chromatic joined #parrot
17:54 chromatic Masak's CLA has arrived.
17:54 NotFound "as potential programmers they are mentally mutilated beyond hope of regeneration"
17:57 NotFound I agree with the "beyond hope of regenaration" point. Many of use keep using old Basic, and even writing new ones :)
17:57 sjansen joined #parrot
18:20 Lorn_ joined #parrot
18:36 braceta joined #parrot
18:40 dalek r31704 | coke++ | extract_tcl:
18:40 dalek : [tcl] first pass at removing partcl from the repository.
18:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31704
18:42 particle joined #parrot
18:43 davidfetter_ joined #parrot
18:47 particle joined #parrot
18:52 dalek r31705 | kjs++ | trunk:
18:52 dalek : [pirc/heredoc] try to fix heredoc parser. there's weird stuff going on here.
18:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31705
18:54 dalek r31706 | julianalbo++ | trunk:
18:54 dalek : define limit values for INTVAL type, step 4
18:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31706
18:57 particle vmware 6.5++
18:58 particle i just suspended my virtual machine through which i was vpn'd into work, restarted host, unsuspended vm, and viola! i'm still vpn'd in.
18:59 particle don't know what the vpn timeout is, but i could never do that with vmware 6.0
18:59 Tene Just imagine what vmware 9000 will be like!
18:59 Tene particle: any word about dmknopp's commit bit?
19:01 particle we don't seem to be online at the same time
19:01 Tene He told me that he thinks he's followed all the necessary steps.
19:02 Tene His ID on bitcard is 'dmknopp'
19:05 particle checking...
19:08 particle added.
19:08 particle dmknopp++ is now a committer
19:08 chromatic Did you fix up Masak too?
19:09 particle masak++ is now a committer, too
19:09 chromatic Thanks!
19:09 particle and both are now rt bugadmins as well
19:09 Tene particle++
19:10 particle chromatic++ is now a metacommitter
19:11 NotFound How can I specify in a test that the pir output must be two lines containing a sequence of digits, the second with a minus sign?
19:12 pmichaud pir_output_like ?
19:12 NotFound like what is the question
19:12 dalek r31707 | kjs++ | trunk:
19:12 dalek : [pirc/heredoc] more fixes.
19:12 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31707
19:13 particle NotFound: what language is the test written in?
19:13 * pmichaud decides that looking at his retirement and investment account balances was probably not a good idea.  :-|
19:13 NotFound particle: perl, is t/op/sysinfo.t
19:13 chromatic You haven't lost anything until you sell.
19:13 chromatic Also, you haven't gained anything until you sell... and then you lose 30%.
19:14 pmichaud not selling is the same as buying at the current price :-)
19:14 * Tene starts deciding between parrot and breakfast.
19:18 particle in soviet russia, parrot feeds you!
19:19 Tene Delicious bird?
19:20 pmichaud time to pick up kids, bbiah
19:28 NotFound Something like that will be good enough? pir_output_like( <<'CODE', '^/[1-9][0-9]*\n-[1-9][0-9]*\n$/', 'INTVAL min and max values');
19:29 NotFound Ups, the ^ after the /
19:33 NotFound Better more consistent with the min and max order: pir_output_like( <<'CODE', '/^-[1-9][0-9]*\n[1-9][0-9]*\n$/', 'INTVAL min and maxvalues');
19:34 Tene Hmm.  There's a class coming up in Germany...
19:36 particle notfound: what about /^-\d+\n\d+$/
19:40 NotFound particle: that will accept for example 00, it isn't?
19:41 particle oh yes, so [1-9]\d+ then
19:41 particle no big deal, though
19:41 particle what you have should work
19:42 NotFound The output is say an I register, but I want to avoid silly mistakes.
19:45 NotFound This test is expected to fail in platforms lacking limits.h until a platfor hint is added. I'm not sure what is the correct way to handle this. Commit and let it fail, announce it and let pass some time...?
19:46 NotFound Asking at the #ps...?
19:46 particle i'd mark it todo and create an rt for the hint
19:47 particle hrmm, maybe todo isn't good
19:47 particle guess you have to skip
19:47 NotFound With the todo, we can get saturated of todo passed reports ;)
19:48 ruoso joined #parrot
19:48 particle yes, but then some committer will likely untodo it and it will then fail on another platform
19:48 particle unless it's clear what platforms it will fail on, which will only happen when we have the hint
19:49 NotFound The problem is that I don't know other way to know where it fails other than making it fail.
19:51 NotFound Well, I'll commit it as skipped for anow, and ask in #ps whan the next step must be.
19:52 chromatic Figure out which platforms it passes and fails on.
19:52 NotFound Someone has any platform that lacks limits.h ?
19:52 particle as long as it's passing/skipping reliably on platforms by release, it's okay to fail for a few days
19:53 chromatic I'd rather have the TODO everywhere and undo that than have a known failure.
19:54 Tene NotFound: you could just rm `locate limits.h`
19:54 Tene ;)
19:54 particle need to figure out where it's  todo somehow
19:54 chromatic Most free Unixes should have it, I think.
19:55 * particle waves from non-unix-land
19:55 chromatic Yeah, I'm sure Windows doesn't have it, or at least it doesn't work.
19:55 particle we do have non-unix smokers
19:55 chromatic Darwin, for example.
19:56 NotFound Evolution runs on Darwin?
19:57 particle Evolution runs on Theory (hi dave!)
19:58 * Theory coughs
19:58 Theory It's "David." :-)
20:00 NotFound The real question is if we will make the availability of this values a requirement
20:01 NotFound The INTVAL min and max values.
20:20 NotFound Workaround: I'll add it as skipped unless linux
20:23 dalek r31708 | julianalbo++ | trunk:
20:23 dalek : define limit values for INTVAL type, step 5: testing a test
20:23 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31708
20:28 Andy left #parrot
20:53 dalek r31709 | pmichaud++ | hllmagic:
20:53 dalek : [pge]:  clean up some 'isa' opcodes.
20:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31709
21:16 Whiteknight joined #parrot
21:21 Limbic_Region joined #parrot
21:21 dalek r31710 | fperrad++ | trunk:
21:21 dalek : [Lua] pdd27mmd
21:21 dalek : - first step : rewrite multi-dispatch methods in all PMC
21:21 dalek : (157/1136 subtests failed)
21:21 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31710
21:23 AndyA joined #parrot
21:30 allison joined #parrot
21:35 Tene ... oh, I didn't realize 'isa' needed to be fixed too.
21:36 dalek r31711 | pmichaud++ | hllmagic:
21:36 dalek : [pge]:  We can't use "typeof self" directly, self might be a protoobject.
21:36 dalek : We have to get the true parrotclass from the metaclass.
21:36 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31711
21:40 Tene pmichaud: committed the other similar fix in that same method
21:40 dalek r31712 | tene++ | hllmagic:
21:40 dalek : [pge]: What he just said.
21:40 pmichaud Tene: which method?
21:40 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31712
21:41 Tene pmichaud: the same as your last commit
21:41 pmichaud no, that one is different.
21:41 pmichaud src won't ever be a protoobject.
21:41 Tene ... oh, you're right.
21:41 Tene Yes, thinking before committing is good.  Sorry.
21:42 pmichaud okay, PGE is now parsing and processing the regexes okay, but I gotta fix up the keys in the code generation
21:42 pmichaud unfortunately wife says "we have to go to the library now"  :-)
21:42 pmichaud (and I'm the only one with a working library card at the moment.)
21:42 Tene Can you point me in the right direction?
21:42 NotFound pmichaud: Dynamic or static library?
21:43 pmichaud there are several places in PGE/Exp.pir where it generates namespaces
21:43 dalek r31713 | tene++ | hllmagic:
21:43 dalek : [pge]
21:43 dalek : * Update isa in Dumper.pir
21:43 pmichaud sometimes it will need to convert Foo::Bar into ['Foo';'Bar']
21:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31713
21:43 Tene pmichaud: I think I already updated one of those.  Do you recall that and is that what you're talking about?
21:43 pmichaud (e.g., for the namespace directive)
21:43 pmichaud yes, you did update one.
21:44 pmichaud Note that CodeString has an easy .'key' method for doing this, though.
21:44 Tene Clever.
21:44 pmichaud just pass it a (flattened) array of strings, and it makes the key
21:45 Tene Okay.  I'll do that after taking flatmate to work.
21:45 pmichaud okay, I should be back in 45 mins, although it'll probably be dinnertime then.
21:45 pmichaud at any rate, we're much farther along than we were.
22:28 dalek r31714 | moritz++ | trunk:
22:28 dalek : [rakudo] non-positive limit returns empty list in Str.split.
22:28 dalek : Patch courtesy by Chris Davaz, Ontolog++. Closes RT #59642.
22:28 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31714
22:30 dalek r31715 | moritz++ | trunk:
22:30 dalek : [rakudo] fixed some typos in docs and actions.pm, added small clarifiction on
22:30 dalek : the REPL in README.
22:30 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31715
22:41 dalek r31716 | pmichaud++ | hllmagic:
22:41 dalek : [pge]:  Adjust 'grammar' option to create appropriate ns keys.
22:41 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31716
22:48 dalek r31717 | pmichaud++ | hllmagic:
22:48 dalek : [pge]:  Update some tests to new hierarchical class syntax.
22:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31717
22:48 Whiteknight joined #parrot
22:48 dalek r31718 | tene++ | hllmagic:
22:48 dalek : [pge]: Revert my last commit.
22:48 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31718
22:54 tetragon joined #parrot
22:57 dalek r31719 | tene++ | hllmagic:
22:57 dalek : [pge]: Emit proper namespaces in Perl6Grammar
22:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31719
23:03 dalek r31720 | tene++ | hllmagic:
23:03 dalek : [pct]: Update 'isa' usage
23:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31720
23:06 dalek r31721 | tene++ | hllmagic:
23:06 dalek : [pge]: Update namespace usage in a test
23:06 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31721
23:09 Tene pmichaud: do we need to do anything with compreg?
23:13 dalek r31722 | tene++ | hllmagic:
23:13 dalek : [pge]: Add a dropped line in Glob.pir
23:13 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31722
23:16 Tene Hmm.  Perhaps I should commit with a little bit more granularity.
23:16 dalek r31723 | tene++ | hllmagic:
23:16 dalek : [pge]: Fix a typo in Glob.pir
23:16 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31723
23:17 Tene We're now passing many tests, though.
23:37 TiMBuS joined #parrot
23:38 dalek r31724 | tene++ | hllmagic:
23:38 dalek : [pct]: Update the first PCT test file.
23:38 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31724
23:48 bennett joined #parrot
23:56 dalek r31725 | particle++ | trunk:
23:56 dalek : [config] fix typo in config\gen\platform.pm preventing compilation
23:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31725
23:59 ruoso joined #parrot

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

Parrot | source cross referenced