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

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

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

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

Date: 2017-07-10 08:56 pm (UTC)
xacid: (Default)
From: [personal profile] xacid
а как у фоас с модульностью? ну скажем если мы вдруг захочем что нибудь туда добавить поверх - старый код курочить не придется?
Edited Date: 2017-07-10 09:41 pm (UTC)

Profile

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

September 2017

S M T W T F S
      1 2
3 4 5 6 7 8 9
1011 12 13 14 1516
1718 1920212223
24252627282930

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 20th, 2017 01:53 am
Powered by Dreamwidth Studios