»ö« Welcome to Perl 6! | perl6.org/ | evalbot usage: 'perl6: say 3;' or rakudo:, niecza:, std:, or /msg camelia perl6: ... | irclog: irc.perl6.org | UTF-8 is our friend!
Set by sorear on 25 June 2013.
hoelzro I thought I had the algorithm wrong for a good 30 minutes before I figured it out =/ 00:00
jnthn hoelzro: It doesn't have to be an assignment to @!values. Declare a my @x; there and assign to it and you get the same.
hoelzro: I'm wondering if we've a $*LEFTSIGIL leak or something.
hoelzro I suspected $*LEFTSIGIL 00:01
but didn't know what I was doing =P
00:01 mtk joined
hoelzro tries some moar prints 00:01
colomon pdcawley: wonder if anyone else is building it with 10.9. 00:03
colomon is very slow to upgrade … only upgraded from 10.6 to 10.8 back in July.
00:05 xenoterracide left
pdcawley colomon: any docs anywhere on smoking the perl6 build? 00:05
colomon pdcawley: on different build platforms? I don't think we've got anything like that set up yet.
pdcawley Hmm... I'm _so_ unlikely to step up to that particular plate :) 00:06
00:06 xenoterracide joined
moritz though 'make spectest' would form a good base for that 00:06
jnthn Time for some rest...'night o/ 00:07
pdcawley g'night mate.
00:07 cognominal joined
colomon pdcawley: I've got a p6 module smoker, but so far it only tests on Parrot Rakudo on my Linux box. 00:07
japhb o/ jnthn
Is anyone around that can check out why feather.perl6.nl:3000/projects.json is timing out? 00:09
00:10 thou joined 00:12 dayangkun left 00:14 cognominal left 00:15 zakharyas left
[Coke] (smoking the perl6 build) yes, we do that daily. You could run my stuff ad hoc if you wanted. 00:15
[Coke] hurls github.com/coke/perl6-roast-data 00:16
(that tests rakudo-j, rakudo-p, niecza, and pugs every day)
er. we have no smoke server yet though. )we have the parrot one, but no one uses it.)
that's another of my backburner projects.
liz - I think we had mixbag for a day. 00:20
TimToady was in a renaming frenzy.
TimToady foams a little at the mouth. 00:23
hoelzro goes to bed too 00:24
colomon TimToady: can you quickly explain how STD handles parsing regexes? I'm trying to sort out what Niecza is doing...
itz_ how long does the moar "please wait stage" take? I'm sure its just going to core dump :) 00:25
TimToady colomon: easy peasy, just look at the P5 that code turns into :) 00:27
00:29 kivutar left
TimToady colomon: the important thing with respect to :s is that quantified_atom determined all the sigspace, in cahoots with sigmaybe 00:30
and all the constructs that enable sigspace set $*SIGOK so sigmaybe knows whether to treat the space as significant 00:31
*determines
colomon and those are all new / modified with the new sigspace rules, right? 00:32
TimToady plus anything else I said back when Mouq++ was fixing rakudo
so you could check out Mouq's changes and see what he did 00:33
or wait till he gets back online and ask him :) 00:34
the complicated bit is that the sigspace attaches at a different place in the AST, if I recall 00:40
00:42 ajr_ left 00:45 preflex left, preflex_ joined, ChanServ sets mode: +v preflex_ 00:46 preflex_ is now known as preflex
BenGoldberg So I was reading the irc log, and came across S32/Containers ... 00:50
Specifically perlcabal.org/syn/S32/Containers.html#grab
And I'm curious as to why only QuantHash has a .grab method, and not any other container 00:51
TimToady QuantHash is a role 00:54
r: say SetHash ~~ QuantHash
camelia rakudo-parrot de5c8f, rakudo-jvm de5c8f: OUTPUT«True␤»
TimToady r: say Set ~~ QuantHash 00:55
camelia rakudo-parrot de5c8f, rakudo-jvm de5c8f: OUTPUT«True␤»
TimToady hmm, that seems wrong
sets are immutable, so .grab makes no sense
r: my $s = set(<a b c>); say $s.grab 00:56
camelia rakudo-parrot de5c8f: OUTPUT«Cannot call 'grab' on an immutable 'Set'␤ in method grab at gen/parrot/CORE.setting:15300␤ in block at /tmp/j7jTJDNa3r:1␤ in any at /tmp/j7jTJDNa3r:1␤ in any at gen/parrot/stage2/NQPHLL.nqp:1146␤ in any eval at gen/parrot/stage2/NQPHLL.…»
..rakudo-jvm de5c8f: OUTPUT«Cannot call 'grab' on an immutable 'Set'␤ in block at /tmp/309gmtPfNA:1␤ in any eval at gen/jvm/stage2/NQPHLL.nqp:1086␤ in any evalfiles at gen/jvm/stage2/NQPHLL.nqp:1292␤ in any command_eval at gen/jvm/stage2/NQPHLL.nqp:1196␤ in any command…»
TimToady anyway, Set shouldn't do QuantHash in my book 00:57
(or Bag, or Mix)
so rakudobug on reporting Set ~~ QuantHash as true 00:58
00:58 pmurias left
TimToady on the compiling jvm, I've often run into the OOM that piers hit, but recompiling with the same command immediately generally works! 00:59
dunno why that happens, unless jvm is keeping some state around from run to run 01:00
(this is openjdk)
01:01 xenoterracide left
TimToady maybe it's jvm keeping process around after they've 'exited' somehow 01:01
pdcawley TimToady: Weird. 01:04
Sooner I can get off JVM and onto Moar, the better, methinks.
01:06 emma_ is now known as emma 01:09 jnap left 01:15 xenoterracide joined 01:19 pdcawley left 01:26 Entonian joined 01:28 skyheights joined 01:29 skyheights left, jlaire left
BenGoldberg Why isn't there an Array.grab method? 01:30
01:32 xenoterracide left 01:36 TimK1 left, xenoterracide joined 01:39 jnap joined
lue BenGoldberg: because Array.pick and Array.roll should do the job already :) . 01:40
01:42 xenoterracide left 01:43 thou left 01:44 jnap left 01:47 Entonian left, xenoterracide joined 01:59 jeffreykegler left
timotimo lue: except grab is supposed to remove the item at the same time as returning it, no? 01:59
02:07 lizmat left 02:09 aindilis` left, aindilis joined
lue timotimo: .pick acts as though you're removing items already. Arrays are immutable, AFAIK, so .grab really doesn't provide anything Array.pick doesn't already do. 02:13
TimToady removing items from an Array is not generally what you want to do, either
you should probably be using a SetHash in that case 02:14
lue Array.grab would only serve as a useful synonym for too-liberally type-constrained variables. :)
TimToady well, if you did implement Array.grab, you'd probably want it to do a splice, not a delete 02:17
lue I meant that as in method grab(<params>) { self.pick(<params>) } 02:18
colomon lue: Arrays are mutable. 02:20
lue oh?
r: say ++(Array.new(1,2,3)[1]);
TimToady mapping .grab to .pick is always wrong
camelia rakudo-parrot de5c8f, rakudo-jvm de5c8f: OUTPUT«3␤»
lue r: say (++Array.new(1,2,3)[1]).perl;
camelia rakudo-parrot de5c8f, rakudo-jvm de5c8f: OUTPUT«3␤»
TimToady pick is "without replacement", but the array itself is not modified 02:21
grab always modifies whatever you're grabbing from
it's not polite that way :)
lue would then contest that changing the size of an Array via randomly removing certain numbers is perhaps not the best idea. I'm with TimToady on that being a more SetHashy thing. 02:22
s/numbers/elements/ 02:23
colomon just timed his ISO 10303-21 test suite, and it's 4x faster under jakudo. 02:27
shaves 75% off the timing, I mean. 02:28
also, having perl-j available for easy testing is really nice. 02:36
02:37 kaare_ joined 02:48 filly left 02:50 jnap joined 02:57 filly joined, jnap left 03:05 hummeleBop1 left 03:08 jeff_s1 left 03:19 segomos left, segomos joined
diakopter forwarded something to p6-l 03:23
colomon p6-l? 03:25
r: say (32 < * < 128)(1000) 03:26
camelia rakudo-parrot de5c8f, rakudo-jvm de5c8f: OUTPUT«True␤»
colomon rakudobug
timotimo known :( 03:27
colomon no need to call you-know-who, then. timotimo++ 03:28
colomon mourns his beautiful code which …. no, I can do this. 03:29
actually looks better this way.
03:42 atroxaper joined 03:46 xinming_ joined 03:49 xinming left
diakopter p 03:51
colomon: perl6-language?
you know, on that thing we used before github, email 03:52
colomon diakopter: that was more along the lines of "why would a sensible person send something to perl6-language?"
diakopter heh oh 03:54
colomon I've come to associate it strongly with endless pointless chatter. :)
diakopter take a look at what I sebt 03:56
sent
colomon diakopter++ # hopefully that's safe 03:57
diakopter what's safe? 03:58
colomon your message
people won't start arguing about the color of the benchmarks, or something like that.
bikeshedding, that's the term. 04:01
04:20 atroxaper left, atroxaper joined 04:21 preflex_ joined, ChanServ sets mode: +v preflex_ 04:22 preflex left, preflex_ is now known as preflex 04:26 atroxaper left 04:27 atroxaper joined 04:32 BenGoldberg left 04:49 Entonian joined 05:01 adu joined 05:05 atroxaper left 05:09 raiph left 05:16 atroxaper joined 05:18 thou joined 05:20 araujo left, itz joined 05:21 Entonian left
diakopter well, you could build it entirely out of paint. 05:37
or paint thinner it into nothing.
05:40 Entonian joined 05:46 Entonian left 05:52 atroxaper left 06:08 rurban1 joined 06:12 rurban2 joined 06:13 rurban1 left 06:15 SamuraiJack_ joined 06:19 rindolf joined 06:22 rurban2 left 06:27 SamuraiJack_ left 06:30 SamuraiJack joined 06:38 SamuraiJack left, rurban1 joined 06:39 SamuraiJack joined 06:50 zakharyas joined 06:52 rurban1 left 07:06 darutoko joined
[Coke] diakopter: wow, if that was on a weekend, I'd make the drive. 07:08
07:11 zakharyas left 07:19 quester joined 07:23 rindolf left
dalek rl6-roast-data: 2d5a20e | coke++ | / (5 files):
today (automated commit)
07:38
FROGGS japhb: I am working on that: irclog.perlgeek.de/perl6/2013-12-06#i_7967667 07:45
07:52 SamuraiJack_ joined 07:53 lizmat joined 07:56 SamuraiJack left 07:57 adu left, adu_ joined, adu_ is now known as adu
moritz m\orning 07:59
07:59 sqirrel joined
FROGGS morning mo/ritz 07:59
preflex: tell pdcawley that your problem seems to be that java's classpath environment variable is set, can you unset it and try again? 08:02
preflex Consider it noted. 08:03
08:03 adu left
FROGGS lee_: same for you 08:03
jnthn: rakudo-p's stage parse dropped from ~124s to ~117s # jnthn++ 08:10
moritz thought the optimizations where jvm only? 08:12
oh, there's the "Optimize QAST node creation" commit in nqp 08:13
FROGGS yeah, must be that then...
I mean, I didn't make a proper benchmark 08:14
moritz and a commit not use slurpies in the accessors of the QAST nodes
FROGGS both are likely to save seconds 08:15
08:16 quester left, xenoterracide left, quester joined 08:17 quester is now known as Guest62135 08:18 sqirrel left
Guest62135 help set 08:24
08:25 Guest62135 left 08:26 xenoterracide joined
FROGGS I have an idea about installing several modules that provide a binary that has the same name as the other modules 08:30
when installing it a wrapper is created with that file name, that would execute the binary of the "best" module [more]
like a "use Foo" would need/import the best module
and then the wrapper would provide options like --auth, --name and --ver, that does the lookup if you want to execute an older binary or a dev version 08:31
08:36 quester_ joined, quester_ left, quester_ joined, genehack_ is now known as genehack
FROGGS moritz: what is your opinion on that? 08:36
08:37 quester_ left
FROGGS it would even work with development modules, since their bin folder should be in path first (and the user is responsible for that) 08:37
08:39 lizmat left
FROGGS and btw, I am thinking about creating a wrapper that defaults to `perl6`, and a wrapper-p for perl6-p, and a wrapper-j for perl6-j 08:41
so, panda-j would work then in theory
08:51 quester__ joined, quester__ left, quester__ joined 09:06 quester__ is now known as quester 09:08 FROGGS left, quester left 09:14 lizmat joined
lizmat FROGGS: isn't that the responsability of CompUnitRepo.candidates ? 09:22
09:23 PacoAir joined
lizmat and morning #perl6! 09:23
09:28 FROGGS joined
FROGGS lizmat: the wrapper would ask the CompUnitRepos for candidates, as for "use Foo", yes 09:29
lizmat so I'm not sure you would need a wrapper ? 09:31
FROGGS lizmat: I am talking about installed scripts
how will that work without a wrapper?
say you have installed version 1 of panda and version 2 of panda in home 09:32
both provide a panda executable 09:33
lizmat that would be 2 CompUnitRepo objects, no?
FROGGS no
home is a CompUnitRepo
lizmat one for the installed version, and one for home?
FROGGS err, I meant that both are installed in home 09:34
so, when you execute `panda`, you should clearly execute the binary from version 2
but what if you want to execute `panda` from version one? 09:35
you are unable to do so
(without a wrapper)
lizmat I'm unsure whether it should be possible at all to have this situation 09:36
FROGGS why? 09:37
lizmat assuming a CompUnitRepo maintains a database of sorts in the directory for which it is responsible
FROGGS yes
lizmat how would both panda 1 and panda 2 be installed in there without either two databases clashing 09:38
or the one database knowing about both of them
FROGGS you have a single bin folder per CompUnitRepo
lizmat perhaps
that's the responsibiliuty of the CompUnitRepo 09:39
FROGGS so, if you install several versions of panda to the same CompUnitRepo, then you would be in that situation, no?
lizmat whether or not that uses a bin dir, is entirely up to the implementation of that CompUnitRepo
FROGGS you need a bin dir to execute scripts
there is no other way
lizmat hmmm 09:40
so we're extending "use" and "need" now to qx() ?
FROGGS you need somewhere a folder that contains a thing called "panda" to run panda
no
it is about executing script from your shell
09:40 SevenWolf left
FROGGS you don't run panda from a use statement 09:41
it is a command line tool
lizmat ok, I misunderstood your original statement
09:41 woolfy joined
FROGGS good 09:41
:o)
lizmat
.oO( must wake up first, get more tea )
FROGGS so the problem is:
you type "panda" or "perl6-debug" into your shell, and press enter 09:42
it looks up a binary in you PATH
and then, this script is from a specific version of its distro
it will usually do a "use" of a module of its distro 09:43
which might even be the wrong one for that script version
lizmat hmmm... I guess this touches on the more general issues of non-source files associated with a distribution
FROGGS true, but binaries are a thing on its own 09:44
locating files you might load from within your module is another problem
FROGGS .oO( File::ShareDir )
btw, when doing "panda --ver=1", I'd propose that all use-statements within that panda script that use modules from its dist will get the :ver(1) passed implicitly 09:49
lizmat TimToady: re irclog.perlgeek.de/perl6/2013-12-07#i_7969313 : there is no QuantHash role implemented just yet 09:50
because of the attribute visibility issue with roles, I didn't start with refactoring all of the Set/Bag/Mix stuff to the role structure as specced just yet 09:51
09:54 Piers_ joined 09:55 cognominal joined 09:57 Rotwang joined, kivutar joined
lizmat saved a conversation with jnthn of about 6 weeks ago 10:12
gist.github.com/lizmat/7839326/raw...tfile1.txt
and is going to look at it while at the patch -p1 10:13
10:15 rindolf joined
FROGGS nice 10:17
rindolf Hi all. 10:18
FROGGS: hi.
FROGGS hi rindolf
rindolf FROGGS: there's a pull request for the SDL_manual.
FROGGS rindolf: PR applied, thanks for reporting :o) 10:20
rindolf FROGGS: OK.
FROGGS: you're welcome.
FROGGS: and thanks for applying it.
FROGGS sure
:o)
10:23 Piers_ left 10:24 araujo joined 10:26 Timbus left 10:28 sivoais left 10:29 Rotwang left, sivoais joined, Timbus joined
jnthn morning o/ 10:34
10:34 Piers_ joined
diakopter mawrnig 10:34
lizmat jnthn, diakopter: good *! 10:36
jnthn: re "At the moment, when we see a $!foo, we immediately ask the class, "do you know of a $!foo"?"
I'm having trouble locating where that is done
do you have a pointer :-) 10:37
jnthn Well, it'll be some code-path from variable...
lizmat check_variable perhaps ? 10:38
10:40 szabgab joined
jnthn No 10:40
szabgab hi everyone,
FROGGS don't you see the location when you run that code with --ll-exception?
szabgab: hi
szabgab I wonder if someone could give me a hand with a Grammar
FROGGS sure 10:41
jnthn lizmat: In make_variable_from_parts
szabgab github.com/szabgab/perl6-xml-sax
I have that stupid XML parser
jnthn lizmat: In the elsif $twigil eq '!' { ... } branch
szabgab it passed its test in february - the last time I checked
but now, with * 2013.11 it fails
lizmat jnthn: thanks! 10:42
szabgab of course if there is a good XML parser in Perl 6 , then I can start using that instead of mine ...
hi lizmat , long time not seen!
lizmat hi szabgab, see you at FOSDEM? :-)
szabgab unlikely :( 10:43
lizmat well, you are responsible for woolfy and me having gone there for the past 4 years!
so you should come every now and then as well :-) 10:44
jnthn lizmat: Specifically, it's the call to get_attribute_meta_object that actually throws 10:46
lizmat I just found that, using FROGGS++ suggestion: called from Sub 'get_attribute_meta_object' pc 14738 (src/gen/perl6-actions.pir:5834) (src/Perl6/Actions.nqp:1776)
szabgab lizmat: I know, and I am really sorry 10:47
FROGGS szabgab: I'll check
szabgab FROGGS: thanks!
lizmat don't! although exhausting, it's always been fun!
szabgab lizmat: I am really sorry I cant' come :( 10:48
lizmat ah, ok
:-)
we too :-(
FROGGS perl6-xml-sax$ PERL6LIB=lib prove -e perl6 t
t/xml.t .. 1/39 Left over string: '<chapter id="12" name="perl" ></chapter>'
szabgab: is that what you get?
szabgab yes
this is the first test case with attributes 10:49
so I think the problem in the grammar is somewhere matching attr
the grammar does not match that string 10:50
FROGGS szabgab: gimme a few minutes 10:51
rindolf szabgab: hi.
jnthn FROGGS: Mebbe sigspace changes... 10:52
szabgab hi rindolf
FROGGS that is possible
github.com/szabgab/perl6-xml-sax/b...mar.pm#L13 10:53
maybe that should be a rule?
10:54 thou left
jnthn Well, but does it rely on backtracking semantics? 10:54
But yeah, it's an issue 'cus
\< <element> <attr>* \/\> }
And then
rule attr { [<name>\=\"<value>\"] }
Will no longer match whitespace at the start 10:55
Alternatively, turning token element { \w+ } into a rule may be the quickest fix (to match whitespace after the element name)
Oh...but that may screw up the actions :)
FROGGS szabgab: I changed all regexes to "rule", and now it fails four tests only 10:56
szabgab I guess it would be hard to find out what changes were made to the regex engine that make this fail now. 10:58
and if those changes were intentional ?
FROGGS no too hard
szabgab the question if it is important to know 10:59
FROGGS after an hour or two of bisecting you should know
szabgab :)
FROGGS and I bet these changes where intentional :o)
raydiak :w
FROGGS szabgab: after dinner I'll have a fix
szabgab then it ok
raydiak erm
FROGGS err lunch 11:00
szabgab FROGGS: appreciate
but if there is working XML parser, I could use that too
FROGGS dunno, is there? 11:01
jnthn btw, from a performance perspective it's best to avoid regex in grammars.... 11:06
diakopter heh. 11:07
szabgab I also tried to switch all the regexes to rules 11:10
it seems the test failures are now all about leaving out the spaces
from the text 11:11
11:11 Piers_ left
szabgab Expected: ' before ' # Received: 'before ' 11:11
11:12 denis_boyun joined
lizmat jnthn: what is the significance of "$past.unshift(QAST::Var.new( :name('self'), :scope('lexical') ));" in "make_variable_from_parts" ? 11:15
is that creating self ?
so, if we have multiiple $!vars, we would get multiple "self"s?
jnthn lizmat: When you look up an attribute, you need two children. 11:18
The object to do the lookup against, and then the class the attribute lives in.
lizmat ah, ok
jnthn That unshift is doing the first of those. 11:19
11:19 denis_boyun left
jnthn A QAST::Var is only declaring anything if there's also a :decl(...) in it. 11:19
Otherwise it's just a lookup
lizmat gotcha
11:21 spider-mario joined
lizmat so how would I hang something off of $*PACKAGE ? 11:22
jnthn: because that's where I would to need to hang the hash of arrays of from, right ?
create another hash with $*PACKAGE as the key ? 11:23
jnthn No
Just declare a my %*ATTR_USAGES; or so in package_def, right where my $*PACKAGE is declared. 11:24
Then you'll automatically get the right behavior if one package is nested inside another.
lizmat gotcha 11:25
jnthn github.com/rakudo/rakudo/blob/nom/....nqp#L1896 is where I mean, just to be clear
Though the comment is full of it...should say type object, not meta-object :)
lizmat will fix 11:26
jnthn Hm, my apartment is darker than usual 'cus snow has covered the skylights :) 11:28
11:29 xinming_ left
lizmat so, if I understand you correctly, we would need to keep the $past around for each occurrence, as well as $/ for error reporting, right ? 11:29
so that we can fix up the $past when we compose the class? 11:30
11:31 xinming joined
FROGGS szabgab: you've got a PR 11:31
jnthn Yeah, though if you do $past.node($/) then you just can keep the $past around :)
And then just do .node if you need to look it up.
lizmat ah, gotcha again 11:32
11:33 szabgab left 11:35 szabgab joined
lizmat jnthn: github.com/rakudo/rakudo/blob/nom/....nqp#L3689 contains a call to get_attribute_meta_object 11:36
but apparently it is not interested in the side effect
only to throw if it doesn't exist
this implies there is nothing to fix up 11:37
so, should I just remove the test?
jnthn lizmat: Well, it's *only* interested in the side-effect. :)
lizmat (as I intend to resolve *all* $!private at compose time)
jnthn: duh, must wake up some more 11:38
so, get_attribute_meta_object will never throw
jnthn Well, today it does throw
That's why it calls it.
lizmat package_def will throw later 11:39
jnthn It's for the method foo($!bar) { } case.
Right, but you need to make sure that happens.
szabgab FROGGS: thanks!
colomon jnthn++ # Stage parse : 84.557
lizmat but there is no $past there to fix up?
jnthn Right, we could well just create a QAST::Var there with an appropriate name and $/. It'll be throw-away, but good enough for detecting the error. 11:40
lizmat ok
jnthn So I'd just turn that line into a %*ATTR_USAGES{$name}.push(QAST::Var.new( :node($/) )) or so
(Won't be quite that simple as no auto-viv in NQP. Maybe factor that out into an add_attr_to_check sub...) 11:41
lizmat ok 11:42
FROGGS colomon: what backend is that? 11:45
11:46 tgt joined
colomon FROGGS: parrot 11:46
FROGGS wow, nice machine :o)
colomon FROGGS: it's been routinely 90 for the last month or two, and was 100 for much of the summer 11:47
jnthn Wow, indeed. What's it do JVM in? :)
colomon give me a mine...
minuget
minute
two early
jnthn hands colomon a mine and runs away
colomon silver or gold? 11:48
jnthn Oh, I thought you meant the explosive kind
My bad P
:P
colomon compiling now. 11:49
11:51 markov left 11:53 Baggio left 11:54 szabgab left 11:59 SamuraiJack_ left
lizmat jnthn: if I understand this correctly, I should do the check *after* the pkg_compose, but before the create_code_object, right ? 12:17
jnthn lizmat: Certainly after pkg_compose
Where is the crate_code_object you're thinking about? 12:18
lizmat Actions, 1914
well, in my version, a few lines less in yours, I guess
jnthn lizmat: I think you may want to do it outside of that if/else 12:19
e.g. put it above the # Document
lizmat also for a role?
jnthn Sure, we need to check attribute declarations in roles too...
lizmat ah, duh
ok
jnthn That's why I'm suggesting putting out outside of the if/else 12:20
Note that both branches call compose.
lizmat ok 12:21
do we have .kv in nqp ? 12:22
jnthn No 12:23
Just do for %hash { ... }
And then you can do $_.key and $_.value
lizmat yeah, found that meme in the code :-) 12:33
12:34 markov joined
lizmat jnthn: Stage start : 0.000 12:39
Error while compiling op p6decontrv: No scope specified or locatable in the symbol table for '$!WHY'
jnthn: the diff so far: gist.github.com/lizmat/7840724 12:40
jnthn yeah, I can see what's up 12:41
You can't move as much as you have 12:42
These:
- my $attr := get_attribute_meta_object($/, $past.name());
- $past.returns($attr.type);
Are correctly moved, and should be.
But the other lines...
- $past.scope('attribute');
- $past.unshift(instantiated_type(['$?CLASS'], $/));
lizmat need to be at the original location 12:43