~/talk

Mercury: An Odd Amalgam of Haskell and Prolog - Part 2 of 2

Talkat LambdaConf 2017 · 2017-05-25..05-27· [networking]
links:none on file
slides:none on file

Claims a working HTTP 1.0 parser written in Mercury that demonstrates Prolog-style unification and determinism annotations, implemented via strict accumulators and reverse-at-end parsing. Live coding repeatedly hits compiler and mode errors (no character literals, overloaded modes, backtracking vs destructive IO), uses trace goals to debug, and ultimately parses the request line and basic headers. Mercury compiles to C/Java backends; several library-mode gaps force handwritten, sometimes non‑bi‑directional primitives.

AI-written summary · about

  1. 0:00Introduction
  2. 1:17Parsing path segments
  3. 5:09Path accumulation and reversal
  4. 10:20Syntax quirks in Mercury
  5. 15:07HTTP request parser
  6. 20:32Debugging and IO in Mercury
  7. 27:30Fixing multi-determinism
  8. 33:34Trace goals for debugging
  9. 38:12Live debugging
  10. 44:19Simplifying path parsing
  11. 46:48Advantages of Mercury
  12. 47:32Comparison with Haskell and Prolog
  13. 51:26Mercury versus Haskell
  14. 53:09Mercury for permissions
  15. 56:38Industry use cases
  16. 59:00Backends and performance
  17. 1:00:11Q&A
~/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.