Я читал модель дипломатии для Chisel. У меня возник вопрос относительно философии дизайна, стоящей за этим. Насколько я понимаю, ленивое вычисление Scala используется для регистрации некоторой информации времени компиляции, которую можно заставить оценивать во время разработки перед генерацией FIRRTL для выполнения мета-операций, таких как согласование параметров.
Мой вопрос: это единственный подход? Можно ли создать в Scala прокси-объект, который регистрирует эти метасвойства и оценивает их при вызове конкретной функции? Затем эта функция может быть вызвана перед оценкой для согласования.
Причина, по которой я спрашиваю об этом, заключается в том, что я постепенно изучаю Scala и Chisel, поэтому хотел бы понять, как создавать абстракции как можно более постепенно, без использования как можно более простых примитивов.