Я читал немного о денотационной семантике (DS), и я очень заинтригован процессом разработки компьютерных программ, где типы и функции имеют четкое и ясное отображение в математике.
Существуют ли какие-либо ресурсы, которые подробно обсуждают вопросы разработки программ на основе DS? Я видел несколько поверхностных обработок предмета.
Я знаком с Haskell, Scala, Common Lisp и немного Scheme, поэтому любые ресурсы, использующие эти языки, будут высоко оценены.
Ответы:
Денотационный дизайн ( дизайн программы основан на денотационной семантике и вытекает из нее) - моя основная методология. Несколько лет назад, когда я писал о FRP, я понял, что я делаю. См. Двухтактное функциональное реактивное программирование . Для более явного описания парадигмы и множества примеров см. Denotational design с морфизмами классов типов . Как только я осознал шаблон, я начал искать его повсюду. Где это терпит неудачу, я знаю, что у меня есть утечка абстракции. Для раннего, неофициального описания, см. Сообщение в блоге Люка Палмера Семантический дизайн» .
Я всегда заинтересован в приложениях денотационного дизайна, поэтому я хотел бы услышать о ваших исследованиях.
источник
Мы применили денотационную семантику к самому языковому проектированию, утверждая, что проектирование языков, в частности, предметно-ориентированных языков, должно начинаться с определения семантики. Если вас интересуют подробности, вы, возможно, захотите взглянуть на семантику DSL Design и Semantics First! Переосмысление процесса проектирования языка .
источник