~/talk

Featherweight Go

Talkat OOPSLA 2020 · 2020-11-15..11-20· [go, compilers-and-language-design]
slides:none on file

Defines a minimal core language Featherweight Go (FG) and its generic extension Featherweight Generic Go (FGG), proves a semantics-by-translation claim that monomorphisation preserves and reflects typing and runtime behavior, and identifies a decidable Nomono predicate that rules out non‑monomorphisable (polymorphically recursive) programs. Provides a working Go toolchain (interpreter, static nomono check, monomorphiser, fgg-gen) that exposes a real gotcha—must generate dummy methods to preserve structural subtyping—or simulation breaks.

AI-written summary · about

  1. 0:00Intro
  2. 0:21The Go Programming Language
  3. 0:53Go Developers and Generics
  4. 1:38Design constraints
  5. 2:02Approach
  6. 3:18Featherweight Go
  7. 5:15Featherweight Generic Go
  8. 8:07Monomorphisation: instance set
  9. 9:01Monomorphisation: instance generation
  10. 9:23Formalisation of monomorphisation
  11. 9:41Not all FGG programs are monomorphisable
  12. 10:24Monomorphisation: results
  13. 14:06Prototype Implementations
  14. 15:02Collaboration with Go Team
~/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.