~/talk

LunarML: From Standard ML to Scripting Languages

Talkat ML 2025 · on Monday, 2025-11-24· [compilers-and-language-design, javascript]
links:none on file
slides:none on file

LunarML is a Standard ML ’97 compiler that actually compiles itself and runs HaMLet, targeting Lua and JavaScript backends. It implements the full language plus a subset of the ML Basis Library, uses a CPS intermediate representation and trampolines for engines missing tail calls, and chooses a 53‑bit/54‑bit integer strategy to avoid JS precision loss. The JavaScript backend implements multi‑prompt delimited continuations via CPS, supports Lua 5.3/5.4 quirks, and works but currently runs slow on script targets.

AI-written summary · about

  1. 0:00LunarML project intro
  2. 1:30Targeting Standard ML & JS
  3. 3:13Compiler architecture & CPS
  4. 5:30Factorial to JavaScript
  5. 8:07R5RS Scheme intro
  6. 10:36JS targeting challenges
  7. 14:10Text encoding differences
  8. 14:55JS integer representation
  9. 16:41Delimited continuations
  10. 20:12UTF & hex float extensions
  11. 23:07Infix operators & identifiers
  12. 24:14Type comments for compat
  13. 25:18Project status & plans
  14. 26:05Q&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.