|
Fire is step THREE! | github.com/perl6/toolchain-bikeshed | Channel logs: irclog.perlgeek.de/perl6-toolchain/today | useful prior art: metacpan.org/pod/CPAN::Meta::Spec Set by moderator on 16 March 2016. |
|||
|
02:25
pnu joined
06:59
domidumont joined,
FROGGS joined
07:04
domidumont joined
11:25
domidumont1 joined
12:54
sufrostico joined
13:08
sufrostico joined
14:12
FROGGS joined
|
|||
| ugexe | does inheritence work different during SETTING? it seems like im getting unexpected inheritance/compose differences from what i get from a golf | 16:21 | |
| a little more specifically a named parameter not getting set through the constructor of all the appropriate roles/classes | 16:22 | ||
| role Foo { has $.foo; multi submethod BUILD(:$!foo) { nextsame; }; }; role Bar { has $.bar; multi submethod BUILD(:$!bar) { nextsame; }; }; class Baz does Foo does Bar { method new($positional, *%_) { self.bless(:foo($positional), |%_); }; }; say Baz.new(1, bar => 2); | 16:23 | ||
| something like this | |||
| in SETTING the above needs to have `proto` for each BUILD though, which seems to muck it up | 16:25 | ||
|
17:10
sufrostico joined
17:12
Kassandry joined
17:33
tony-o joined
17:56
domidumont joined
|
|||
| nine | In the SETTING you don't get protos generated automatically for you. That happens only in user level code which is why few know that multis actually need protos :) | 18:57 | |
| ugexe | yeah i see. are there any other little gotchas like that you know of? or do i just need to hit them as i go... | 18:59 | |
| perlpilot | ugexe: you could write them down for others. I think those things are mostly just in the collective consciousness of the people who hack on things | 19:00 | |
| nine | ugexe: can't think of anything right now except for that you of course have to keep in mind the order in which core classes are placed in the generated source | 19:03 | |
|
19:06
lizmat joined
19:08
FROGGS joined
20:19
lizmat joined
|
|||
| ugexe | gist.github.com/ugexe/e09c4af4910d17319216 | 21:45 | |
| The commit link in the description is rakudo with the old Distribution stuff completely replaced (s/Distribution::Interface/Distribution/ from last time). The gist shows how to invoke the 2 supplied Distribution implementations: Distribution::Hash and Distribution::Path | |||
| I'm not sure the invocations are ideal though. I was hoping to design it so you invoke with the source of `meta` data as well as the `Storage` type/role to be used (contains method .content) to map any paths in the `meta` to a IO::Handle, but i'm not sure this is it | |||
| unfortunately `role Foo[::FulfillsInterface] does FulfillsInterface does SomeInterfaceContract { }` doesnt work, hence the BUILDALL bit | 21:49 | ||