https://dlnext.acm.org/doi/abs/10.1145/3498886.3502201 Biri, [2022] "Dependent tagless final"
https://github.com/idris-lang/Idris2/blob/main/libs/papers/Language/Tagless.idr
https://github.com/idris-lang/Idris2/blob/main/libs/papers/Language/Tagless.idr
ACM Conferences
Dependent tagless final | Proceedings of the 2022 ACM SIGPLAN International Workshop on Partial Evaluation and Program Manipulation
Forwarded from Anton Trunov
# Лялямбда 22 — Call for Prepods
Летом пройдёт школа по формальной верификации и функциональному программированию. Приходите преподавать и жечь петухов.
Школа будет идти две недели: это два недельных интенсива друг за другом, ориентировочно в июле. Даты и место сейчас выбираем.
Интенсивы будут в несколько потоков: можно предложить что-то как для матёрых верификаторов, так и для начинающих хаскеллят. Хорошо идут минипроекты.
Податься просто, как 1-2-3:
1. Заполните [анкету курса](https://docs.google.com/forms/d/e/1FAIpQLSdjVSLijWI4H7iN5HJ2jz1ukZve_YYhKo9KqrNRNcJ3cxM2xw/viewform) (с кратким описанием, требованиям к участникам, т.п.) и посмотрите на анкеты курсов коллег.
2. Выберите время для звонка с нами. Будем встраивать курс в общую программу.
3. Приезжайте на офлайн-педсовет. Задача педсовета — познакомиться, синхронизироваться по тому, что хотим донести, культурным взглядам, художественным вкусам, собраться в стройную боевую единицу и зарядиться силой весны.
Сориентироваться, как было в прошлый раз, можно [тут](https://lalambda.school); задавать вопросы можно @AntonTrunov; приезжайте, будем рады.
Если хотите быть students, а не prepods, мы скоро откроем регистрацию и напишем в [канале школы](https://www.tg-me.com/lalambdaschool).
Летом пройдёт школа по формальной верификации и функциональному программированию. Приходите преподавать и жечь петухов.
Школа будет идти две недели: это два недельных интенсива друг за другом, ориентировочно в июле. Даты и место сейчас выбираем.
Интенсивы будут в несколько потоков: можно предложить что-то как для матёрых верификаторов, так и для начинающих хаскеллят. Хорошо идут минипроекты.
Податься просто, как 1-2-3:
1. Заполните [анкету курса](https://docs.google.com/forms/d/e/1FAIpQLSdjVSLijWI4H7iN5HJ2jz1ukZve_YYhKo9KqrNRNcJ3cxM2xw/viewform) (с кратким описанием, требованиям к участникам, т.п.) и посмотрите на анкеты курсов коллег.
2. Выберите время для звонка с нами. Будем встраивать курс в общую программу.
3. Приезжайте на офлайн-педсовет. Задача педсовета — познакомиться, синхронизироваться по тому, что хотим донести, культурным взглядам, художественным вкусам, собраться в стройную боевую единицу и зарядиться силой весны.
Сориентироваться, как было в прошлый раз, можно [тут](https://lalambda.school); задавать вопросы можно @AntonTrunov; приезжайте, будем рады.
Если хотите быть students, а не prepods, мы скоро откроем регистрацию и напишем в [канале школы](https://www.tg-me.com/lalambdaschool).
Google Docs
Регистрация на Лялямбду '22: преподаватели
Школа верификации и функционального программирования. https://lalambda.school
Forwarded from AlexTCH
В Inria порываются создать пиринговую сеть сертифицированных машинных доказательств: https://www.inria.fr/en/towards-internet-proof
Звучит, конечно, классно, но что-то мне сомнительно, что это будет пользоваться популярностью в обозримом будущем...
Звучит, конечно, классно, но что-то мне сомнительно, что это будет пользоваться популярностью в обозримом будущем...
www.inria.fr
Towards an internet of proof?
In October 2021, Dale Miller, Director of Research at Inria, will launch a new exploratory action that could revolutionise the world of formal proof. The aim is to create a network for sharing documents that certify the validity of computer programs. Using…
Janet is a functional and imperative programming language and bytecode interpreter. It is a lisp-like language, but lists are replaced by other data structures (arrays, tables (hash table), struct (immutable hash table), tuples). The language also supports bridging to native code written in C, meta-programming with macros, and bytecode assembly.
https://github.com/janet-lang/janet
https://github.com/janet-lang/janet
GitHub
GitHub - janet-lang/janet: A dynamic language and bytecode vm
A dynamic language and bytecode vm. Contribute to janet-lang/janet development by creating an account on GitHub.
Forwarded from AlexTCH
https://www.hytradboi.com/
Super cool online one-day conference around Databases topics organized by pretty well-known Jamie Brandon. Look at the speakers, there are familiar names too.
Super cool online one-day conference around Databases topics organized by pretty well-known Jamie Brandon. Look at the speakers, there are familiar names too.
Вдруг кто-то мечтал освоить биоинформатику за 21 день 3 дня.
https://rsmu.ru/structure/edu-dept/mbf/bioinf-school/
https://rsmu.ru/structure/edu-dept/mbf/bioinf-school/
Forwarded from Alexander Chichigin
А вы знали про https://learn-idris.net/play ? Там даже можно переключаться между первым и вторым! 😃
Forwarded from AlexTCH
https://proofassistants.stackexchange.com/a/940/333
This answer is golden, it links to all of the best materials on Type Theory and related subjects.
This answer is golden, it links to all of the best materials on Type Theory and related subjects.
Proof Assistants Stack Exchange
So many data types, so little time
I find my mathematics and programming background$^*$ do not endow me with much understanding of type theory as it pertains to proof assistants. To remedy this shortcoming I don't expect a Royal Ro...
Forwarded from AlexTCH
https://press.princeton.edu/books/paperback/9780691145990/how-mathematicians-think
"How Mathematicians Think: Using Ambiguity, Contradiction, and Paradox to Create Mathematics"
Sounds like serious fun! 😁
"How Mathematicians Think: Using Ambiguity, Contradiction, and Paradox to Create Mathematics"
Sounds like serious fun! 😁
press.princeton.edu
How Mathematicians Think
Наверное все знают, но на Степике есть очень много бесплатных курсов по математике. Вот весть каталог https://stepik.org/catalog/6
Stepik: online education
Математика
Курсы подготовки к ЕГЭ по математике и олимпиадам, курсы по теории вероятности, дискретной математике, линейной алгебре и другим разделам математики.
Namespaced DeBruijn Indices By Gabriella Gonzalez https://watch.softinio.com/w/tgDXLAUEAhGooiJiskwCFy
watch.softinio.com
Namespaced DeBruijn Indices By Gabriella Gonzalez
Namespaced DeBruijn Indices By Gabriella Gonzalez This presentation describes a simple and elegant solution for avoiding name capture in interpreted languages that also improves the readability of inferred types and β-reduced normal forms. The name for the…
Verified Textbook Algorithms
A Biased Survey
Tobias Nipkow and Manuel Eberl and Maximilian P. L. Haslbeck
https://www21.in.tum.de/~nipkow/pubs/atva20.pdf
A Biased Survey
Tobias Nipkow and Manuel Eberl and Maximilian P. L. Haslbeck
https://www21.in.tum.de/~nipkow/pubs/atva20.pdf
Forwarded from Artem Pelenitsyn
Габриэла Гонзалез (широко известная в мире Хаскеля) написала хороший пост про то, как окунуться в теорию типов
https://www.haskellforall.com/2022/05/introductory-resources-to-type-theory.html
https://www.haskellforall.com/2022/05/introductory-resources-to-type-theory.html
Haskellforall
Introductory resources to type theory for language implementers
Introductory resources to type theory for language implementers This post briefly tours resources that he...
👍11🤔1
Forwarded from Блог*
#prog #parsing #article
Faster general parsing through context-free memoization (pdf, thanks @zukaboo)
(thanks @grammarware, @GabrielFallen)
We present a novel parsing algorithm for all context-free languages. The algorithm features a clean mathematical formulation: parsing is expressed as a series of standard operations on regular languages and relations. Parsing complexity w.r.t. input length matches the state of the art: it is worst-case cubic, quadratic for unambiguous grammars, and linear for LR-regular grammars. What distinguishes our approach is that parsing can be implemented using only immutable, acyclic data structures. We also propose a parsing optimization technique called context-free memoization. It allows handling an overwhelming majority of input symbols using a simple stack and a lookup table, similarly to the operation of a deterministic LR(1) parser. This allows our proof-of-concept implementation to outperform the best current implementations of common generalized parsing algorithms (Earley, GLR, and GLL). Tested on a large Java source corpus, parsing is 3–5 times faster, while recognition—35 times faster.
Честно скажу, я прочитал по диагонали, но фактически алгоритм выглядит, как parsing with derivatives, но сделанный правильно.
Faster general parsing through context-free memoization (pdf, thanks @zukaboo)
(thanks @grammarware, @GabrielFallen)
We present a novel parsing algorithm for all context-free languages. The algorithm features a clean mathematical formulation: parsing is expressed as a series of standard operations on regular languages and relations. Parsing complexity w.r.t. input length matches the state of the art: it is worst-case cubic, quadratic for unambiguous grammars, and linear for LR-regular grammars. What distinguishes our approach is that parsing can be implemented using only immutable, acyclic data structures. We also propose a parsing optimization technique called context-free memoization. It allows handling an overwhelming majority of input symbols using a simple stack and a lookup table, similarly to the operation of a deterministic LR(1) parser. This allows our proof-of-concept implementation to outperform the best current implementations of common generalized parsing algorithms (Earley, GLR, and GLL). Tested on a large Java source corpus, parsing is 3–5 times faster, while recognition—35 times faster.
Честно скажу, я прочитал по диагонали, но фактически алгоритм выглядит, как parsing with derivatives, но сделанный правильно.
ACM Conferences
Faster general parsing through context-free memoization | Proceedings of the 41st ACM SIGPLAN Conference on Programming Language…
👍2
Forwarded from Covalue
Нашел два интересных обзорных эссе о теории доменов в прошлогоднем бюллетене от британской группы по формальным методам BCS-FACS:
* Monahan, [2021] "Domain Theory - Revisited"
* Winskel, [2021] "Domain theory and interaction"
Первое эссе за авторством Монахана даёт обзор мотивации, контекста появления и основных идей теории доменов. Рассказывается о преодолении недоверия к нетипизированному лямбда-исчислению, поиске способов масштабирования и подходов к спецификации программ, о необходимости работы с частичными (из-за общей рекурсии) функциями.
Ключевая идея теории доменов - функции ЛИ соответствуют математическим функциям над особыми множествами (собственно, доменами, которые моделируют типы), упорядоченными по количеству содержащейся в ней абстрактной информации, причем функции сохраняют этот порядок. Подобная структура функций позволяет конструировать неподвижные точки для них и таким образом моделировать рекурсию как предел нарабатывающего информацию процесса. Так впервые был выстроен топологический взгляд на вычисления, и информатика (точнее, теория языков программировании) оказалась полноценной математической теорией, а не просто "двиганием битов", что в свою очередь дало толчок развитию теорий типов и формальных семантик.
Эссе Винскеля более техническое и фокусируется на теме конкурентных и взаимодействующих вычислений. Начинается оно с введения в историю ТД с точки зрения её создателей, упоминает о создании LCF/PCF и ML, затем переходит к классическим проблемам ТД - работа с нондетерминизмом, проблема полной абстракции (конструкции в модели, для которых не существует синтаксиса). Пытаясь решить эти проблемы, теория доменов (и денотационная семантика в целом) перешла к созданию интерактивных моделей, в дальнейшем оформившихся в виде игровой семантики. С другой стороны, из-за проблем при работе с конкурентными программами, часть исследователей переключилась на алгебры процессов CCS/CSP с синхронизацией. Тем временем продолжение работ в рамках теории порядков привело к созданию понятия структуры событий (формализацию которых на Coq, кстати, можно найти тут).
Дальше эссе подчеркивает связи с теорией категорией - предпучки, моноидальные категории, затрагивает связи с работами Жирара, описывает появление игровой семантики и её конкурентной разновидности - где одновременно и игры (модели типов), и стратегии (модели программ) описываются структурами событий (в отличие от классических игр на деревьях), показывает как свести конкурентные игры к доменным моделям, геометрии взаимодействия и линзам.
* Monahan, [2021] "Domain Theory - Revisited"
* Winskel, [2021] "Domain theory and interaction"
Первое эссе за авторством Монахана даёт обзор мотивации, контекста появления и основных идей теории доменов. Рассказывается о преодолении недоверия к нетипизированному лямбда-исчислению, поиске способов масштабирования и подходов к спецификации программ, о необходимости работы с частичными (из-за общей рекурсии) функциями.
Ключевая идея теории доменов - функции ЛИ соответствуют математическим функциям над особыми множествами (собственно, доменами, которые моделируют типы), упорядоченными по количеству содержащейся в ней абстрактной информации, причем функции сохраняют этот порядок. Подобная структура функций позволяет конструировать неподвижные точки для них и таким образом моделировать рекурсию как предел нарабатывающего информацию процесса. Так впервые был выстроен топологический взгляд на вычисления, и информатика (точнее, теория языков программировании) оказалась полноценной математической теорией, а не просто "двиганием битов", что в свою очередь дало толчок развитию теорий типов и формальных семантик.
Эссе Винскеля более техническое и фокусируется на теме конкурентных и взаимодействующих вычислений. Начинается оно с введения в историю ТД с точки зрения её создателей, упоминает о создании LCF/PCF и ML, затем переходит к классическим проблемам ТД - работа с нондетерминизмом, проблема полной абстракции (конструкции в модели, для которых не существует синтаксиса). Пытаясь решить эти проблемы, теория доменов (и денотационная семантика в целом) перешла к созданию интерактивных моделей, в дальнейшем оформившихся в виде игровой семантики. С другой стороны, из-за проблем при работе с конкурентными программами, часть исследователей переключилась на алгебры процессов CCS/CSP с синхронизацией. Тем временем продолжение работ в рамках теории порядков привело к созданию понятия структуры событий (формализацию которых на Coq, кстати, можно найти тут).
Дальше эссе подчеркивает связи с теорией категорией - предпучки, моноидальные категории, затрагивает связи с работами Жирара, описывает появление игровой семантики и её конкурентной разновидности - где одновременно и игры (модели типов), и стратегии (модели программ) описываются структурами событий (в отличие от классических игр на деревьях), показывает как свести конкурентные игры к доменным моделям, геометрии взаимодействия и линзам.
Wikipedia
BCS-FACS
specialist Group of the BCS
👍2
Forwarded from AlexTCH
Writing portable code is hard: https://www.chemistryworld.com/news/structures-in-more-than-150-papers-may-be-wrong-thanks-to-nmr-coding-glitch/4010413.article
Which meant the script worked fine on Windows while producing incorrect results on GNU/Linux. This jeopardizes some 150 chemistry papers.
The error is the result of a simple file sorting problem. On operating systems without default file name sorting, the script fails to match the files containing a conformer’s free energy with its chemical shift – leading to an overall wrong value.
Which meant the script worked fine on Windows while producing incorrect results on GNU/Linux. This jeopardizes some 150 chemistry papers.
Chemistry World
Structures in more than 150 papers may be wrong thanks to NMR coding glitch
Chemical shift-calculating bug casts doubt on studies ranging from natural product discovery to biosynthesis
🤯6👍2👎1