Camelia, the Perl 6 bug

IRC log for #parrot, 2008-09-14

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-home joined #parrot
00:01 bacek ETOOMANYCOTTOS
00:02 bacek morning everyone
00:02 cotto-home ENOTENOUGHTUBES
00:07 particle joined #parrot
00:10 AndyA joined #parrot
00:21 * bacek wanders 'git svn rebase' is so slooow because svn.perl.org is soooo slooooow?
00:24 cognominal who is maintaining the git repository of parrot. I noticed it was old. I use it because i like gitnub.
00:26 bacek cognominal: I just maintain my own git-svn cloned repo.
00:27 cognominal what is the exact invocation you use?
00:27 bacek git svn rebase
00:27 purl git svn rebase is very-very slow... I don't know why...
00:27 bacek purl: You've made my day!
00:27 purl bacek: i'm not following you...
00:28 cognominal whoa, it is bidirectionnal!
00:28 bacek even git svn init -r31000/git svn fetch is slow...
00:28 bacek cognominal: yes ;) "git svn dcommit" forever
00:30 bacek AFAIK Jeffrey uses git for developing parrot.
00:31 bacek http://irclog.perlgeek.de/​parrot/2008-06-13#i_345435
00:34 cognominal bed time long due. CU
01:14 rurban_ joined #parrot
01:32 Zaba joined #parrot
01:39 Whiteknight joined #parrot
02:21 Debolaz cognominal: I've maintained a git repo for a long time at http://git.andersberle.com/?p=parrot.git
02:28 cognominal Debolaz, thx
02:40 petdance joined #parrot
02:53 dalek r31097 | chromatic++ | trunk:
02:53 dalek : [PMC] Allowed INTVAL hashes stored in Hash PMCs to store INTVAL keys without
02:53 dalek : Key-ifying them first.  This means there's now a set_integer_keyed_int VTABLE
02:53 dalek : entry which only takes effect when using INTVAL keys.
02:53 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31097
02:55 dalek r31098 | chromatic++ | trunk:
02:55 dalek : [HLL] Worked around the weird segfaults (RT #58636, RT #58812) by preventing
02:55 dalek : the use of HLL typemaps to store Class and Object attribute data.  Again, this
02:55 dalek : is a workaround pending the removal of type IDs, but it's safer than the
02:55 dalek : previous version.
02:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31098
03:00 clunker3_ joined #parrot
03:00 grim_fandango_ joined #parrot
03:56 tetragon joined #parrot
04:20 mberends joined #parrot
04:39 Zaba joined #parrot
07:26 dalek r31099 | allison++ | pdd27mmd:
07:26 dalek : [pdd27mmd] Stop generating initialization code for old multiple dispatch
07:26 dalek : functions.
07:26 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31099
07:29 dalek r31100 | cotto++ | trunk:
07:29 dalek : [pmc] add some non-stub tests to the SchedulerMessage PMC
07:29 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31100
07:41 dalek r31101 | cotto++ | trunk:
07:41 dalek : [pmc] prevent resizable*pmc from resizing on exists_* VTABLE method calls
07:41 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31101
07:50 Zaba_ joined #parrot
07:59 dalek r31102 | allison++ | pdd27mmd:
07:59 dalek : [pdd27mmd] Deleting more deprecated functions that are no longer called from
07:59 dalek : anywhere: 'mmd_create_builtin_multi_meth', 'mmd_create_builtin_multi_stub', and
07:59 dalek : 'Parrot_mmd_register_table'.
07:59 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31102
08:11 dalek r31103 | fperrad++ | trunk:
08:11 dalek : [Markdown]
08:11 dalek : - refactor with a builtins length
08:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31103
08:34 bacek joined #parrot
08:41 barney joined #parrot
08:59 nopaste "rurban" at 212.183.54.208 pasted "perl6: Null PMC access in get_bool()" (18 lines) at http://nopaste.snit.ch/14048
09:02 xiaoyafeng joined #parrot
09:05 rurban oha. Now I get the infamous src/string.c:2241: failed assertion '(s)->encoding' also in trunk. (cygwin)
09:07 rurban with r31098 I get this encoding assertion, with r31103 not.
09:14 rurban_ joined #parrot
09:33 iblechbot joined #parrot
09:47 Coleoid joined #parrot
09:55 dalek r31104 | rurban++ | trunk:
09:55 dalek : [library] document languages/t/harness --files --master
09:55 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31104
09:57 dalek r31105 | rurban++ | trunk:
09:57 dalek : [markdown] revamp t/harness. fix "unknown option --master" in make markdown.test
09:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31105
10:03 Hinrik joined #parrot
10:07 masak joined #parrot
10:15 dalek r31106 | fperrad++ | trunk:
10:15 dalek : [Markdown]
10:15 dalek : - add Synopsis in doc
10:15 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31106
10:29 jonathan cognominal: .WHAT gives a proto, which stringifies to the short name. So H::A.WHAT stringifies to A.
10:30 jonathan The inheritance problem you say is a bug, basically because namespaces with classes likely need some work.
10:43 Hinrik joined #parrot
10:52 cognominal jonathan, according to TimToady "H::B.WHAT should print H::B". That what does pugs too.
10:53 cognominal see http://irclog.perlgeek.de/​perl6/2008-09-14#i_566594
10:54 rurban fperrad:  Transform MAST C<source> into a String containing HTML. MAST?
10:57 cognominal I am not sure what the long name of a class should be. But I think the shortname of a non inner class should include the "path"  thru the namespace(s)
10:58 jonathan WHAT        the prototype object of the type, stringifies to short name
10:58 jonathan WHO         the package supporting the object, stringifies to long name
10:58 cognominal but what  the short name should be?
10:59 jonathan I don't know, but WHO mentions package.
11:00 jonathan Which implies WHAT doesn't include the package.
11:00 jonathan The spec probably needs to be clearer there.
11:03 dalek r31107 | rurban++ | cygwin070patches:
11:03 dalek : [markdown] merge with r31106
11:03 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31107
11:03 rurban msg fperrad Transform MAST C<source> into a String containing HTML. MAST?
11:03 purl Sorry, I've never seen fperrad before.
11:03 rurban seen perrad
11:03 purl I haven't seen 'perrad', rurban
11:04 cognominal I would expect to be able to do    $a.WHAT.new()   (even if I coud do $a.new() )  I feel that a mere A instead of H::A is meaningless.
11:04 rurban seen francois
11:04 purl I haven't seen 'francois', rurban
11:04 cognominal $a.WHAT.new() would work in  a inner class too
11:06 masak rakudo: grammar A { token foo { ^ [<alnum>||<sp>]+ $ }; token sp { ' ' | \n }; }; say ?("foo\nbar" ~~ A::foo);
11:06 polyglotbot OUTPUT[Parrot VM: Can't stat languages/perl6/perl6.pbc, code 2.␤main: Packfile loading failed␤]
11:06 jonathan What it stringifies to is nothing to do with your ability to instantiate a class from it.
11:07 masak polyglotbot: not the error I was hoping for :(
11:07 jonathan $a.WHAT.new will work fine.
11:08 cognominal no, because there will be no class A but a class H::A.
11:08 masak Tene: awake?
11:09 jonathan cognominal: .WHAT gives you the proto-object.
11:09 jonathan Not a string that we then use to look up the class.
11:09 cognominal ok
11:09 jonathan You can do .WHAT on anonymous classes too. It'll stringify to the empty string, because it has no name. But you can still then call .new to get another instance. :-)
11:10 cognominal so I will say, I would expect  "~$a.WHAT".new() to work :)    I don't know if I could do "H::A.new()" though :)
11:11 jonathan I'd expect "~$a.WHAT".new() to instantiate a new instance of Str. :-)
11:11 jonathan Since you've got a string object and are calling .new on it.
11:11 cognominal indeed
11:11 nopaste "masak" at 130.238.45.242 pasted "I think this is a bug in PGE. Please review." (21 lines) at http://nopaste.snit.ch/14049
11:12 cognominal what would be the invocation to get from the string denoting a class name to get to the classs per se?
11:13 jonathan Probably namespace interpolation.
11:13 jonathan I forget the exact syntax.
11:13 jonathan masak: Looks like a bug to me.
11:13 masak jonathan: oki. reporting.
11:15 * jonathan wonders what the queue is back up to now
11:28 Zaba joined #parrot
11:33 Tene masak: yeah.  what's up?
11:34 masak rakudo: grammar A { token foo { ^ [<alnum>||<sp>]+ $ }; token sp { ' ' | \n }; }; say ?("foo\nbar" ~~ A::foo);
11:34 polyglotbot OUTPUT[Parrot VM: Can't stat languages/perl6/perl6.pbc, code 2.␤main: Packfile loading failed␤]
11:35 masak Tene: polyglotbot is behaving.
11:35 Tene huh, lemme look
11:36 masak everyone: did we arrive at any reasonable conclusion about deep-comparing nested structures in Perl 6? my memory fails me.
11:36 masak if we didn't, I have a mind to start a p6l thread about it
11:36 Tene Okay, rakudo is failing to build on feather
11:37 masak less than good.
11:37 Tene Null PMC access in get_bool()
11:37 Tene current instr.: 'parrot;NQP::Grammar::Actions;routine_def' pc 33982 (src/Grammar/Actions.pir:403)
11:39 Tene Yeah, I get the same build failure.
11:40 rurban I've reported that 2 hrs ago. It was either cotto or chromatic
11:41 Tene rurban: you know what revision introduced it?
11:44 * Tene sleeps now.
11:52 rurban Not exactly unfortunately
11:57 bacek joined #parrot
12:09 rurban Do we already have a 2038-safe gmtime()? See http://y2038.googlecode.com/  If not we should take localtime64.h and localtime64.c from schwern
12:10 kid51 joined #parrot
12:11 Tene I've got a bisect running on it.
12:12 jonathan Tene bisects while sleeping!
12:14 Tene 31101, cotto, [pmc] prevent resizable*pmc from resizing on exists_* VTABLE method calls
12:14 Tene is the first revision it fails on
12:15 rurban That's what I suspected also. Thanks.
12:20 cognominal rakudo : class A {} ; A.methods
12:22 cognominal jonathan: it may interest you that it faisl with :  Method 'methods' not found for invocant of class ''
12:23 cognominal probably should say ... invocant of class 'Class'
12:24 rurban invocant of class 'A'
12:25 cognominal nope, I call the methods on the class, not the object.  The class is an object of class 'Class'
12:25 cognominal I meant, I don't create an instance of A
12:33 dalek r31108 | rurban++ | trunk:
12:33 dalek : [pmc] revert r31101 "prevent resizable*pmc from resizing on exists_* VTABLE method calls" causing perl6: Null PMC access in get_bool() http://nopaste.snit.ch/14048
12:33 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31108
12:35 jonathan cognominal: It's not implemented, but you would very probably need to write A.^methods if it were.
12:35 jonathan cognominal: Also, A is  the protoobject. There is no class class in Perl 6.
12:36 cognominal I am not speaking of the non implementation but of the error message
12:36 cognominal ha, ok
12:37 cognominal I thought the metaclass what the class class
12:39 kid51 question:  What test failures resulted from the bad commit in 31101?
12:39 * kid51 got no test failures on Linux at 31107.
12:39 rurban You meant Object A, not Class A. The Class is named A (of type class) so it should be reported as class A.
12:39 kid51 ... at least from 'make coretest'
12:41 rurban just make perl6. See http://nopaste.snit.ch/14048 for me and Tene's same report here
12:41 kid51 oh, okay, I came in late and thought it was a Parrot failure
12:42 kid51 Of course, perhaps there *should* be something in Parrot's make test that anticipates such a failure in make perl6
12:45 rurban I somewhat believe cotto's work is okay, and that perl6 has some failure.
12:45 rurban in accessing an array out of bounds or such.
12:46 rurban But for now I just reverted that symptom.
12:47 kid51 Thx
12:51 dalek r31109 | rurban++ | cygwin070patches:
12:51 dalek : [test] process_options returns now an array
12:51 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31109
12:52 dalek r31110 | fperrad++ | trunk:
12:52 dalek : [install]
12:52 dalek : - add Markdown language
12:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31110
12:55 rurban Does Schwerns MIT license for http://code.google.com/p/y2038/source/browse/trunk need an additional Artistic 2 license?
13:05 dalek r31111 | fperrad++ | trunk:
13:05 dalek : [build]
13:05 dalek : - add Markdown language
13:05 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31111
13:05 xiaoyafeng joined #parrot
13:11 dalek r31112 | rurban++ | cygwin070patches:
13:11 dalek : merge with trunk r31111: markdown, pod fixes, MANIFEST.generated for languages, chromatics hll change
13:11 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31112
13:33 Zaba joined #parrot
13:35 masak question: what's the priority of the && in this statement? `return defined $session_id && defined $sessions{$session_id};`
13:36 purl joined #parrot
13:36 masak will the two 'defined' calls bind tighter, or will the first one evaluate the && expression as its sole argument?
13:41 masak rakudo: my $k = 1; my %s; say defined $k && defined %s{$k}
13:41 polyglotbot OUTPUT[1␤]
14:00 dalek r31113 | rurban++ | cygwin070patches:
14:00 dalek : [install] adopt pdd30_install for tools/install/smoke.pl New options: -I --libdir --bindir --prefix DESTDIR
14:00 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31113
14:01 petdance joined #parrot
14:03 apeiron joined #parrot
14:14 dalek r31114 | rurban++ | cygwin070patches:
14:14 dalek : [install] indent tools/install/smoke.pl
14:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31114
14:33 rurban end of today for me. bb
14:40 jan joined #parrot
14:42 purl joined #parrot
14:47 dalek r31115 | pmichaud++ | trunk:
14:47 dalek : [nqp]: Fix dependency on RPA returning a non-null PMC for nonexistent elements.
14:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31115
14:48 tetragon joined #parrot
14:48 pmichaud masak:  I'm guessing 'defined' is a named unary, so should bind tighter than &&
14:48 purl joined #parrot
14:48 masak pmichaud: so, bug.
14:49 pmichaud yes.
14:49 masak thanks.
14:49 pmichaud as soon as I finish testing stuff related to r31115 above I can fix it.
14:49 masak \o/
14:53 szbalint does anyone use smartlinks with PDDs or have a specification on how should they look like?
14:59 teknomunk joined #parrot
15:03 kid51 joined #parrot
15:13 szbalint purl: wok?
15:13 purl well, wok is its own reward
15:14 szbalint purl: wok is also <reply> Let's start cooking then!
15:14 purl okay, szbalint.
15:17 particle joined #parrot
15:26 iblechbot joined #parrot
15:33 dalek r31116 | pmichaud++ | trunk:
15:33 dalek : [rakudo]:  Make 'defined' into a named unary.  (See related RT #58830, masak++)
15:33 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31116
15:36 particle joined #parrot
15:36 masak ...and ihrd++ for alerting _me_ to the error :)
15:39 dalek r31117 | rurban++ | cygwin070patches:
15:39 dalek : fix cuddled else
15:39 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31117
15:41 szbalint kid51: while looking at some [TODO] tickets I've taken a thorough look at the smartlinks utility - it looks like that things got broken due to the passage of time.
15:43 szbalint I wonder if there is any convention/document/irclog/$something that defines how smartlinks look like for example, because the parsing library's ideas differ from those in the test suite.
15:43 dalek r31118 | rurban++ | cygwin070patches:
15:43 dalek : fix file_metadata props (see http://use.perl.org/~rurban/journal/37441)
15:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31118
15:44 szbalint I've taken a look at the draft Perl 6 Documentation.pod, but that doesn't say anything about smartlinks except that the syntax we're using is incompatible with how it defines L<>.
15:46 dalek r31119 | rurban++ | cygwin070patches:
15:46 dalek : [pdd30] mention tools/install/smoke.pl
15:46 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31119
15:47 mberends pmichaud: do have a few minutes to review my Pod6Parser?
15:47 dalek r31120 | rurban++ | trunk:
15:47 dalek : [pdd30] mention tools/install/smoke.pl
15:47 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31120
15:51 cognominal joined #parrot
16:02 dalek r31121 | fperrad++ | trunk:
16:02 dalek : [Markdown]
16:02 dalek : - add a target 'spectest'
16:02 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31121
16:12 szbalint hm, nice. Looks like smartlinks are documented in the Pugs repo in that version of smartlinks.pl
16:27 dalek r31122 | fperrad++ | trunk:
16:27 dalek : [Markdown]
16:27 dalek : - add a test for official test suite
16:27 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31122
16:38 Ivatar joined #parrot
16:39 kid51 szbalint:  Was afk.  Yes, it's quite likely that (a) smartlinks have gotten broken over time; and (b) being borrowed from someplace else, never worked that well to begin with.
16:39 kid51 So this is a case where working on some aspect of Parrot means documenting what does and doesn't work.
16:40 kid51 I would urge to pick one of those RTs -- whichever is most relevant -- and write up your findings so far.
16:42 kid51 Eventually, the people who brought them into Parrot in the first place will have to move smartlinks up on their TODO list and respond to what we find.
16:43 kid51 One thing I noticed was an utter lack of POD in SmartLink.pm.  I msg-ed particle about this but haven't heard from him.
16:43 kid51 So we would benefit from a benefit from posting that takes the approach:
16:44 kid51 Here's what, on the basis of the pugs implementation, we expect smart links to do.
16:44 kid51 And here's what it currently does and does not do.
16:46 szbalint sounds good
16:53 rdice joined #parrot
16:57 davidfetter joined #parrot
17:15 rurban_ joined #parrot
17:16 Whiteknight joined #parrot
17:25 cjfields joined #parrot
17:28 cotto_home That'll teach me not to make languages-test before I commit a big significant behavior change.
17:36 pmichaud I don't even think languages-test covers rakudo, though
17:36 pmichaud I could be wrong there.
17:37 moritz pmichaud: I get a failure in t/spec/S04-statements/gather.t - is this a regression, or a not-yet fudged test?
17:38 pmichaud moritz: I'm not sure.  I think that Tene++ might have enabled gather.t in spectest.data w/o checking that it was properly fudged
17:38 pmichaud so I'm guessing it's not-yet-fudged test
17:39 pmichaud I don't think it's a real regression.
17:39 moritz ok
17:41 dalek r31123 | pmichaud++ | trunk:
17:41 dalek : [rakudo]: spectest-progress.csv update: 161 files, 3332 passing tests, 4 failing
17:41 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31123
17:41 cotto_home is there any problem with reverting the rest of 31101?
17:42 pmichaud I think reverting the rest of 31101 is probably a good idea.
17:43 gmansi joined #parrot
17:43 dalek r31124 | cotto++ | trunk:
17:43 dalek : [pmc] revert the rest of 31101, which caused some failures in Rakudo
17:44 dalek : (see #52778)
17:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31124
17:44 cotto_home At least most of the tickets I close stay closed.
17:52 dalek r31125 | allison++ | pdd27mmd:
17:52 dalek : [pdd27mmd] Object PMC's default generated vtable function for 'get_namespace'
17:52 dalek : doesn't work properly. Change it to pull the namespace from the class (first
17:52 dalek : checking for any overrides).
17:52 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31125
17:53 cjfields joined #parrot
17:54 rurban cotto, pmichaud: I regularly test all lamngs and this was the only problem. RT#52778 was fine, thnaks that you found the NQP bug.
17:55 rurban From my point of view we could restore r31101 again as soon as we have tested r31115 with r31101.
17:56 rurban But a deprecation cycle is also fine.
17:57 dalek r31126 | allison++ | pdd27mmd:
17:57 dalek : [pdd27mmd] Generated header file changes after removing static mmd_dispatch_*
17:57 dalek : functions.
17:57 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31126
18:00 mberends left #parrot
18:14 dalek r31127 | moritz++ | trunk:
18:14 dalek : [rakudo] add quoting tests to spectest_regression
18:14 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31127
18:15 Whiteknight busy in here today!
18:20 rurban latest features for tuesday
18:21 cjfields moritz: added some tests for RT# 58678 to pugs/t/spec, as S05-grammar/namespace.t.  When you have time could you look it over?
18:21 moritz cjfields: sure, will do
18:21 cjfields thx
18:21 moritz cjfields: please prefix the commit messages with [t/spec] or some such, because there are many sub-projects that live in the pugs repo
18:22 moritz (but that's only a minor thing)
18:22 cjfields ok.
18:24 * jonathan had been prefixing them with [spectest]...oops.
18:24 moritz jonathan: that's not a problem, everyone reading the commit message will know what's meant
18:25 jonathan Ah, OK then. :-)
18:25 moritz cjfields: is B::A.WHAT specced to give Failure if that thing doesn't exist?
18:25 moritz it seems to me that it could just as well give an exception
18:25 pmichaud Failure is an exception :-)
18:26 pmichaud or, it contains an exception :-)
18:26 moritz yes, but it would be interesting to know if it where thrown by default
18:26 moritz s/where/is/
18:29 * jonathan would expect that one to be thrown by default.
18:30 pmichaud at what point, though?
18:31 jonathan Probably by .WHAT
18:31 dalek r31128 | rurban++ | trunk:
18:31 dalek : [doc] fix pod links to packfile
18:31 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31128
18:32 pmichaud .WHAT should throw an exception?  that would seem.... odd
18:32 pmichaud are are you saying that .WHAT shouldn't be available for B::A ?
18:32 jonathan If it doesn't exist.
18:32 pmichaud normally "doesn't exist" tends to translate into 'undef' of some sort, though.
18:32 jonathan Hmm. True.
18:33 pmichaud my %b;   say %b<foo>.WHAT;
18:33 pmichaud (probably shouldn't throw an exception)
18:33 jonathan I think the thing that makes me want it to be, is that it looks like a method call (even though I know it ain'treally)
18:33 Tene moritz: pmichaud++ is right; I don't know much about the fudging stuff.  I didn't even look at the fudging before enabling t/S04-statement/gather.t
18:33 pmichaud obtw   I did find that %foo<bar>++   explicitly generates an Int   (in the synopses)
18:34 jonathan But yes, you can argue it just as well that way.
18:34 cotto_home rurban, let me know when you're done testing 31115 and I'll reapply 31101, run Parrot and Rakudo's tests and commit if nothing explodes.
18:34 pmichaud it's not just rakudo we need to test, but all libraries too
18:34 pmichaud at least, any libraries that make use of arrays
18:34 rurban I'll probably will not make it in the next days. I'll have to prepare my move to germany now.
18:34 Tene pmichaud: what's the plan for merging the exceptions branch?  Does there need to be some sort of concensus or agreement from other parrot devs first?  are we waiting for after the release?
18:35 pmichaud and there could be packages in not-in-the-repo that expect the current array behavior, we should give them notice
18:35 cotto_home That's fine.  It won't hurt to wait until after the Tuesday release.
18:35 pmichaud but we need to make sure we get the deprecation notice in
18:35 rurban let's wait after the release with a deprecation note as pm suggested in the ticket
18:35 cotto_home or to go through the deprecation cycle
18:35 rurban :)
18:35 pmichaud Tene: (merge)  I'd like to hear concensus from parrot designers before merging
18:36 pmichaud so, approval from allison, DietCoke, chromatic
18:36 pmichaud (any of those)
18:36 pmichaud I'm just a rakudo and PCT designer :-)
18:36 rurban I'm rather worried about my cygwin regression with src/string.c:2241: failed assertion '(s)->encoding' in loadlib
18:37 cotto_home ok.  deprecation cycle it is, unless allison, DietCoke or chromatic say otherwise
18:37 rurban befunge also uses the pir op "save"
18:40 pmichaud "save" has been long gone, I think.
18:42 cjfields joined #parrot
18:42 cotto_home Should I pick a future release and add the behavior change to DEPRECATED.pod, or should that decision be left for the next #ps?
18:44 pmichaud it'll be deprecated after tuesdays release
18:44 cotto_home ok
18:45 Tene pmichaud: about the exception handler types and severity, should I write a patch for that, a prose proposal, a patch for the exceptions PDD?
18:45 pmichaud so, add the note to DEPRECATED.pod, noting that the function will be removed after the next release
18:45 cotto_home I'll be sure to bring it up of nobody else does.
18:45 cotto_home np.  misread
18:45 gmansi joined #parrot
18:46 pmichaud Tene: I'd simply bring it up on the mailing list, I think
18:46 pmichaud I'll make sure it gets discussed at #ps
18:46 pmichaud (if you're unable to make it)
18:47 cjfields moritz: re: 'B::A.WHAT', I'm unsure (current Rakudo behavor gives a Failure).  I wouldn't expect calling .WHAT to throw an exception, though.
18:47 cjfields Ah, see Pm commented already...
18:48 Tene purl: parrot-internals?
18:48 purl i haven't a clue, tene
18:48 Tene purl: lame
18:48 purl lame is, like, LAME Ain't an MP3 Encoder! or a free Unix mp3 encoder at http://www.sulaco.org/mp3/ OR lame filter http://metalab.unc.edu/dbarberi/lame/
18:48 pmichaud parrot-porters
18:48 purl it has been said that parrot-porters is not one of the lists on http://lists.cpan.org/ or called perl6-internals if you're nasty.
18:50 mberends joined #parrot
18:54 Tene I have trouble keeping the names of mailing lists straight.
18:54 cjfields left #parrot
18:55 apple-gunkies joined #parrot
19:10 dalek r31129 | rurban++ | trunk:
19:10 dalek : [library] fix RT#58840 eq-filehandle with older perls
19:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31129
19:10 dalek r31130 | rurban++ | cygwin070patches:
19:10 dalek : [library] fix RT#58840 eq-filehandle with older perls
19:10 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31130
19:13 Tene pmichaud: I noticed that I've CC'd you on several list mails recently.  Is that ever useful to you, or do you watch the lists closely enough that that's unlikely to make a difference beyond cluttering your inbox?
19:14 rurban cotto: what was the RT ticket name for r31101?
19:14 pmichaud it's useful, because the messages get here quicker.  sometimes perl.org takes a while.
19:14 pmichaud duplicate messages don't really cause me difficulty (at least not so much that I notice)
19:15 Tene Okay.
19:15 Tene I just sent the EH mail to the list.
19:15 Tene Is there anything particularly useful you'd like me to work on today?
19:15 pmichaud I'm just trying to catch up on stuff and answer others' questions
19:17 cjfields joined #parrot
19:17 Tene I'd like to write some code today, but if I can't persuade anyone to ask me for something specific, I'm likely to either implement the proposal I just sent off or try to work on HLL issues with PCT etc. again.
19:17 cjfields left #parrot
19:17 cjfields joined #parrot
19:17 cjfields left #parrot
19:18 cjfields joined #parrot
19:18 pmichaud I don't have anything specific.
19:18 Tene Okay.
19:18 pmichaud implementing the proposal sounds good, though.
19:19 pmichaud afk
19:35 dalek r31131 | rurban++ | cygwin070patches:
19:35 dalek : update to trunk r31126 plus cottos RT#52778 (reverted in trunk)
19:35 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31131
19:39 moritz Tene: if you haven't noticed already, nested gather/take doesn't work yet
19:39 moritz Tene: see todo'ed tests in t/spec/S04-statements/gather.t
19:40 cognominal left #parrot
19:40 cognominal joined #parrot
19:47 rurban My biggest blocker is now: src/pmc_freeze.c:814: failed assertion '(int)io->image->bufused >= 0'
19:49 mberends moritz,particle,pmichaud: Rakudo Pod6Parser and manpage formatter
19:49 mberends for your comments at http://nopaste.snit.ch/14035 and 14036
19:52 * moritz takes a look
19:54 dalek r31132 | allison++ | pdd27mmd:
19:54 dalek : [pdd27mmd] Overriding a multi vtable function requres a signature that matches
19:54 dalek : the vtable function.
19:54 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31132
19:56 mberends moritz: if you copy the perl6doc script out of Pod6_to_man.pm, edit /path/to/perl6 and change CRLF->LF
19:56 dalek r31133 | allison++ | pdd27mmd:
19:56 dalek : [pdd27mmd] Search for multis in the namespace of the first invocant.
19:56 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31133
19:56 moritz mberends: I added these lines to pod6_to_man:
19:56 moritz my $parser = Pod6_to_man.new();
19:56 moritz $parser.translate(@*ARGS[0]);
19:57 moritz then I can just use ./perl6 Pod6_to_man.pl $filename
19:57 moritz mberends: I ran it over Pod6Parser.pm, and I'm rather impressed ;)
19:58 moritz rakudo: if "abc" ~~ m/b(.)/ { say $0 }
19:58 polyglotbot OUTPUT[c␤]
19:58 moritz mberends: this now works in current rakudo,, no need for a workaround
19:59 rurban my 2nd blocker is still ../../parrot.exe  -o perl6.pbc perl6.pir
19:59 rurban src/string.c:2241: failed assertion '(s)->encoding'
19:59 rurban I'll have to stop now. bb.
20:00 moritz mberends++
20:01 mberends moritz: cool. wanna look at Pod6_to_xhtml.pm (unstable)?
20:02 moritz mberends: sure
20:04 nopaste "mberends" at 83.161.42.49 pasted "Pod6_to_xhtml.pm - convert Perl 6 documentation to XHTML" (200 lines) at http://nopaste.snit.ch/14050
20:04 Andy left #parrot
20:07 moritz seems to work quite well here
20:11 mberends moritz: oddly, I figured a pod6->pod5 translator is also needed, working on that now
20:12 moritz mberends: do you have a public repository for these programs?
20:12 moritz mberends: I don't know if it makes sense to include in the parrot repo; it's quite hard to get a commit bit there (legal stuff...)
20:13 mberends no, that's why it's on nopaste. particle was in favour of a commit bit but Whiteknight also said it might be asking a bit much
20:13 Tene Check this out:
20:13 Tene rakudo: for 1..3 -> $i { my @a = gather { say $i; } }
20:13 moritz that could be a thing to discuss on #ps
20:13 polyglotbot OUTPUT[1␤1␤1␤]
20:14 Tene I need to set something differently on the block passed to gather, but I don't know what yet.
20:14 jonathan Tene: Haz you got .blocktype('declaration')?
20:15 jonathan Check in the PAST tree to see it's not marked immediate.
20:15 Tene Yes, it's blocktype(declaration)
20:15 jonathan OK
20:15 Tene rakudo.past: for 1..3 -> $i { my @a = gather { say $i; } }
20:15 nopaste "polyglotbot" at 193.200.132.146 pasted "perl6 past" (272 lines) at http://nopaste.snit.ch/14051
20:16 pmichaud shouldn't it be blocktype(immediate)?
20:16 Tene Should it be?
20:16 pmichaud or does gather expect a block argument?
20:16 Tene Isn't that compile-time?
20:17 pmichaud no, 'immediate' means a block should be executed as opposed to referenced
20:17 Tene Oh.
20:17 pmichaud it's not the same as  PIR  :immediate
20:17 Tene I was thinking :immediate on pir subs
20:17 pmichaud but obviously something is executing the sub
20:18 pmichaud I suspect it might be the same old lexicals issue
20:18 Tene Yes, gather() executes the sub.
20:18 pmichaud okay, I definitely suspect lexicals then
20:19 jonathan Yeah, I'm fearing that too.
20:19 jonathan The continual output of 1 is odd, and looks like a "bound once" issue
20:20 pmichaud while this clearly points out a potential rakudo problem, I do need to say that in general the above loop might not output anything (ever)
20:20 jonathan The problem I think (is in the lexical implementation and) is perhaps that because the caller is gather rather than the outer block itself, the re-bind code never gets triggered again.
20:21 jonathan I'd expect the above loop not to actually output anything once lazy lists are properly in place.
20:22 jonathan Tene: Maybe to help find out if it really is a lexicals bug, try doing a newclosure on the block before invoking it.
20:22 Tene Sure.
20:24 pmichaud although newclosure may help, I'll point out that it's seriously out of spec to do that :-)
20:24 pmichaud according to the pdd, newclosure has to be called from the enclosing :outer block
20:24 Tene I get a segfault when I try to do that.
20:24 jonathan Wow.
20:24 jonathan pmichaud: I was suggesting it out of curiosity rather than as a solution. :-)
20:25 jonathan Turns out curiosity gets a segfault. :-|
20:25 Tene On trying to run the closure, not on running newclosure.
20:25 jonathan *nod*
20:26 Tene if I run newclosure on the sub from the enclosing block, though... lessee...
20:26 Tene It works fine.
20:27 pmichaud well, that would make sense if we think of the block to gather as being a (true) closure and not an immediate block
20:27 Tene $past := PAST::Op(:inline(%r=newclosure),$past);
20:27 Tene Should there be a :blocktype(closure)?
20:27 pmichaud declarations are automatically treated as closures
20:28 pmichaud but PCT doesn't generate newclosure opcodes anymore because that was causing other failures
20:28 Tene Ah.
20:28 pmichaud specifically   { sub foo() { ... }; foo() }    would not work
20:28 Tene Should I commit this newclosure thing for gather?
20:28 pmichaud I think I'd prefer not to get too many workarounds in the codebase
20:29 pmichaud I'd rather get lexicals fixed than have to go find all of the workarounds and remove them
20:29 Tene Okay.
20:30 pmichaud you can put the newclosure thing in if you mark it with an RT#
20:30 pmichaud so we remember to take it out later :-)
20:30 pmichaud also, please use   newclosure %r   instead of %r = newclosure :-)
20:31 pmichaud even better would be to not use :inline at all, and just use :pirop
20:31 pmichaud PAST::Op(:pirop('newclosure'), $past)
20:31 Tene Is there a reason :pirop<newclosure> isn't supported in NQP, btw?
20:32 Tene What's the ticket number for the lexicals issue?
20:33 pmichaud Tene: because :pirop<newclosure>  would presume that we parse the <...> quoting rules
20:33 Tene Ah.
20:33 Tene Right.
20:33 pmichaud in particular, :pirop<foo bar>   doesn't mean  :pirop('foo bar')
20:34 cotto_home Is this the right thing to commit wrt 31101?
20:34 pmichaud we may someday add <...> to  NQP, but right now I'm trying to keep it on the simple side
20:34 nopaste "cotto_home" at 96.26.202.243 pasted "deprecating autovivification on get" (21 lines) at http://nopaste.snit.ch/14052
20:34 Tene pmichaud: is it http://rt.perl.org/rt3/Tic​ket/Display.html?id=56184 ?
20:35 Tene Wait, no, that's marked resolved.
20:35 pmichaud if using newclosure on gather, we need a new ticket
20:36 pmichaud then 56512 should be marked as depending on that new ticket (and reopened)
20:36 moritz pmichaud: can I close #44183?
20:38 Tene moritz: you still want me to fix this issue if it needs a ticket for removal in the future?
20:38 pmichaud moritz:  yes, let's close it
20:39 moritz Tene: the november hacker in me says "yes"
20:39 pmichaud if november needs gather and this solves it, then I say create the ticket and apply
20:40 pmichaud the lexicals discussion is rt #56398
20:40 moritz well, "needs" is probably a bold statement, since it can be worked around... but it would be very nice
20:40 pmichaud if gather "would be very nice" for november and this solves it... :-)
20:41 Tene So should it depend on 56398?
20:41 pmichaud As long as we have tickets for our workarounds they bother me much less.  :-)
20:41 pmichaud 56398 ought to be reopened also.
20:41 Tene Or 56512 reopened?
20:41 jonathan Hey, that's an interesting thing to know! ;-)
20:41 pmichaud 56512 should depend on 56398
20:42 pmichaud new ticket depends on 56512  (and 56398 transitively, or feel free to create a separate dependency on it)
20:43 dalek r31134 | cotto++ | trunk:
20:43 dalek : [deprecation] add deprecation notice for get_*_keyed_int
20:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31134
20:43 mberends left #parrot
20:44 dalek r31135 | allison++ | pdd27mmd:
20:44 dalek : [pdd27mmd] Make an exception in the generated vtable functions for the Object
20:44 pmichaud cotto_home: nopaste 14052 looks fine to me
20:44 dalek : PMC: multiply dispatched math opcodes should never be invoked on the proxy
20:44 dalek : object, go straight to the default PMC vtable function.
20:44 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31135
20:46 pmichaud afk for a while
20:46 Tene Argh, I can't find the "make a new ticket" function in the web interface.
20:47 pmichaud Tene: there isn't one.  send email to <rakudobug@perl.org>
20:47 Tene Laaaaaaaaaame.  Okay.
20:47 cotto_home seen kj
20:47 purl kj was last seen on #parrot 3 days, 10 hours, 24 minutes and 25 seconds ago, saying: hi jonathan  [Sep 11 10:23:16 2008]
20:47 cotto_home seen kjs
20:47 purl kjs was last seen on #perl 83 days, 5 hours, 14 minutes and 15 seconds ago, saying: yo  [Jun 23 15:33:30 2008]
20:48 pmichaud seen pmichaud
20:48 purl pmichaud was last seen on #parrot 0 seconds ago, saying: seen pmichaud
20:48 cotto_home anyone feel like making json not explode?
20:48 cotto_home seen purl
20:48 purl purl was last seen on #poot 79 days, 5 hours, 44 minutes and 54 seconds ago, saying: _Fud was last seen on #poot 2 days and 22 minutes ago, saying: heyo  [Jun 25 07:42:25 2008]  [Jun 27 15:03:59 2008]
20:49 cotto_home pmichaud, thanks.
20:49 pmichaud I like making things explode.  (see e.g. http://www.pmichaud.com/toast/ )
20:49 cotto_home pmichaud?
20:49 purl it has been said that pmichaud is http://www.pmichaud.com/ or "Patrick R. Michaud" <mailto:pmichaud@pobox.com> or in charge of toaster experiments
20:50 pmichaud afk
20:52 Tene pmichaud: :pirop('newclosure') doesn't work, as the op newclosure_p doesn't exist.
20:52 moritz cotto_home: uhm, the languages/json/ tests seem to have no connection to json at all
20:52 moritz cotto_home: they are just stub tests from the mk_language_shell script, and have never been adapted
20:54 Tene Heh.  Newclosure still doesn't quite fix this, I guess.
20:55 jonathan Tene: newclosure_p_p
20:55 Tene Ah, because it's then inside of a for loop
20:56 Tene jonathan: pmichaud told me to use :pirop('newclosure')
20:56 Tene He told me to use 'newclosure %r' if I'm using :inlie
20:56 jonathan PAST::Op(:pirop('newclosure'), ...block code here...)
20:56 jonathan Oh?
20:56 jonathan I think it should be newclosure %r, %0
20:57 Tene :pirop('newclosure') gives:
20:57 cotto_home moritz, I was just noticing that.
20:57 nopaste "tene" at 166.70.38.237 pasted ":pirop('newclosure')" (7 lines) at http://nopaste.snit.ch/14053
20:57 jonathan Aye.
20:58 jonathan It takes a PMC and gives a PMC result.
20:58 jonathan What does your PAST look like?
20:59 Tene PAST::Block(:blocktype('declaration'),...)
20:59 jonathan OK, and the PAST::Op node where you have :pirop('newclosure') encloses that?
20:59 Tene Yes.
21:00 jonathan Try :inline('newclosure %r, %0')
21:00 Whiteknight joined #parrot
21:00 jonathan Or maybe :inline("newclosure %r, %0\n")
21:00 Tene That's identical to '%r = newclosure %0' which I was already using.
21:00 Tene And works.
21:02 Zaba joined #parrot
21:02 jonathan OK. Not quite sure what's needed, to have it work with :pirop('newclosure')
21:02 Tene moritz: This still won't pass gather.t, as gather.t uses a for loop that references an outer var, and so has the same problem.
21:02 Tene moritz: unless you want me to add newclosure to for loops, too.
21:03 Tene Which sounds awkward.
21:04 Tene moritz: or should I rewrite gather.t to not rely on for working properly here?
21:06 cognominal left #parrot
21:06 cognominal joined #parrot
21:06 moritz Tene: I don't really know
21:06 moritz Tene: I just want working features, not design decisions ;)
21:07 Tene I'll patch the test.
21:09 pmichaud I probably need to add newclosure to PAST::Compiler
21:09 pmichaud inline is fine for now.
21:09 dalek r31136 | tene++ | trunk:
21:09 dalek : [rakudo]
21:09 dalek : * Use a newclosure workaround for gather for moritz++.
21:09 dalek : * rt #58854
21:09 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31136
21:10 Zaba_ joined #parrot
21:35 tetragon joined #parrot
22:14 jan joined #parrot
22:17 Theory joined #parrot
22:19 Andy joined #parrot
22:43 dalek r31137 | pmichaud++ | trunk:
22:43 dalek : [pct]: add :pirop('newclosure') to PAST::Compiler
22:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31137
22:43 dalek r31138 | pmichaud++ | trunk:
22:43 dalek : [rakudo]:  Convert :inline newclosure on gather to :pirop
22:43 dalek diff: http://www.parrotvm.org/svn​/parrot/revision?rev=31138
23:04 dmknopp joined #parrot
23:12 Limbic_Region joined #parrot
23:41 tetragon joined #parrot

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

Parrot | source cross referenced