Ответ 1
Mixin был классическим способом введения AOP в Scala (как в AOP-Style Mixin Composition Stacks в Scala "от Джонаса Бонера".
Но я знаю только " Метод AOP на основе прокси-сервера в Scala" (Daniel Spiewak - также здесь, на SO - и Tian Zhao) в качестве расширенной реализации AOP в Scala ( исходный код здесь).
В нашей технике используются функции более высокого порядка Scala для перехвата вызовов методов с минимальными синтаксическими накладными расходами, наложенными на базовую программу.
Эта структура позволяет разработчикам определять pointcuts, задавая типы классов и сигнатуры методов. Структура также позволяет получить доступ к контекстным переменным, в то время как аспекты могут вставлять код совета до или после консультативного органа.