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)
шерстяной ленин

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     

Most Popular Tags

Page Summary

Style Credit

Expand Cut Tags

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