~/talk

Embedding Functional Logic Programming in Haskell via a Compiler Plugin

Talkat PADL 2023 · 2023-01-16..01-17· [compilers-and-language-design]
links:none on file
links:none on file
links:none on file
slides:none on file

Claims an embedding of a functional-logic language into Haskell by a GHC plugin that performs a monadic lifting transformation after typechecking, preserving Haskell typing and IDE errors. The implementation includes an import-constraint solver to reconcile types across compiled modules, supports about 19 common GHC extensions, and ships a prototype on GitHub. Call-time choice handling is deferred, performance varies with the chosen monad (the Curry monad is competitive), and limitations include Haskell syntax bounds and only standard monads supported.

AI-written summary · about

  1. 0:00Introduction
  2. 0:46Nondeterministic Choice Operator
  3. 10:26Interface
  4. 12:01Idea
  5. 13:43Example
  6. 14:28How does it work
  7. 15:11Type checking
  8. 16:06Import check
  9. 17:47Import constraint solver
  10. 19:57Language extensions
  11. 21:02Example program
  12. 21:46Embedding other languages
  13. 24:18Conclusion
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.