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