bamalip: (Default)
Я тут начал разбираться с HOAS и понял, что он нинужин от слова совсем.

Мало того, что его семантика сомнительна, по крайней мере нормальных объяснений я не видел, везде это представлено в виде "а вот есть такой фокус". Но! Цели HOAS достигаются простым FOAS, если он монадичен. А ведь он действительно, обычно представляет собой монаду, да еще и свободную. Хотя свободность не обязательна.

Более конкретно, для конвертации из внешней лямбды в пользовательский тип и обратно достаточно структуры монады на обычном (FOAS-like) AST. Демонстрационный код на Идрисе сейчас в процессе написания и вскоре воспоследует; по идее он ничего специфического использовать не должен, и будет портируем на Скалу или Хаск.

UPD
https://github.com/zraffer/AST/blob/be3b945aad3f5987d19668238f523324e4d0d0ba/src/idris/type_monad.idr
завтра сделаю для примера вариант simple typed lambda, чтобы можно было конвертировать из синтаксической формы в семантическую и обратно. ежели получиццо.

Profile

bamalip: (Default)
шерстяной ленин

July 2017

S M T W T F S
       1
2 3 4 56 7 8
9 1011 12 13 14 15
161718 19 2021 22
23242526272829
3031     

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 22nd, 2017 06:40 pm
Powered by Dreamwidth Studios