parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

moko 24.10 00:47 / 24.10 01:01

То есть, в таком классе явно не указан @BASE (что не вызывает ошибки компиляции)
В моих примерах тоже не указан @BASE.
Насколько понимаю, цель в том, чтобы иметь подмешиваемые классы с «динамическим родителем».
Ну он писал, "аналог механизма Трейтов". Mixin делает ровно требуемое. Но конкретно BASE использовать в подмешиваемых методах нельзя, надо получать базовый класс через reflection, $base[^reflection:base[$self]].
Тут помогла бы возможность переопределять или назначать базовый класс для подмешиваемых классов именно в момент подмешивания, a-la:
^reflection:mixin[…;$.base[override]]'
Увы, но BASE заменяется в момент компиляции, так что такое сделать весьма проблематично.