Hinterland

Recent Entries

You are viewing the most recent 3 entries.

10th January 2017

9:11pm: Против аналогового секвенсора не попрешь, part 1: QuasiQuotation
На первоначальных этапах нам предстоит иметь дело с генерацией и преобразованиями С-кода, поэтому стоит поговорить о механизме QuasiQuotation.

Пусть у вас есть два языка программирования L и M (это может быть один и тот же язык). Вы хотите генерировать или преобразовывать программы на языке M функциями языка L. Пусть SM -- тип, описывающий синтаксис языка M в языке L. На практике тип SM это обычно запутанный набор взаимно-рекурсивных типов. Чтобы что-то с ним сделать вам придется изучить как он устроен и писать много довольной уродливых выражений. Гораздо удобнее иметь механизм, позволяющий вам писать куски кода на M, которые автоматически преобразовываются в выражения типа SM. Более того, вы можете иметь ``переменные'' внутри фрагментов M-кода, с соответствующей операцией подстановки. Это и есть механизм QuasiQuotation. Когда возможности подстановки нет, это называется просто Quotation.

Поясним на примере.
Read more... )
Такие дела. На фото я.

Current Mood: geeky
Current Music: Tomo Akikawabaya -- Mars

9th January 2017

1:43pm: Против аналогового секвенсора не попрешь, part 0
Ах да, синтостроительный блог. Все в курсе, что пресеты убивают музыку, да? Вместо того, чтобы искать интересные новые звуки, люди просто строят композиции из уже готовых. Иногда это уместно, но когда я снова и снова слышу драм-машину TB-808, хочется ``блевануть, прыгнуть с обрыва, броситься по автобус''. Симфонический оркестр, панк-тройка это все виды пресетов. Кроме того, думаю ясно, что инструмент (в широком смысле) накладывает определенные ограничения на конечный результат. Здесь должна быть релевантная цитата из Миши про кубейс, но я ее почему-то не нашел.
Read more... )
Такие дела, на фото я.
Current Mood: calm
Current Music: Black Marble -- Pretender

9th December 2014

10:31pm: All Concepts are Kan Extensions, Part 0
Решил изучить continuation-passing style, call/cc, codensity monad, вот это все. Прочитал статью, в которой в числе прочего утверждается, что многие оптимизирующие преобразования программ суть реализации категорной конструкции под названием правое расширение Кана. Типа вся сущность СиПиЭс была изложена в упражнениях к десятой главе известной книги ``Categories for the working mathematician''. Хорошо бы понять так ли это.

Сегодня будет разогрев.

Read more... )

В комментариях всем людям доброй воли предлагается рассказать свои истории про то, как им в жизни помогли сопряженные функторы.

Картинка для привлечения внимания:

Current Mood: geeky
Current Music: Sixth June -- Back for a Day
Powered by LJ.Rossia.org