~/talk

GOOL: A Generic Object-Oriented Lanugage

Talkat PEPM 2020 · on Monday, 2020-01-20· [compilers-and-language-design]
links:none on file
slides:none on file

GOOL is a embedded DSL in Haskell that uses finally‑tagless encodings and type families to generate readable, idiomatic code and documentation for multiple OO targets. The implementation comprises 43 classes and 328 methods that encode a common core plus language‑specific payloads so C# and Java share most generators while Python and C++ need more divergence. It plugs into the Raziel pipeline, offers knobs for visibility, logging and bundling, and successfully produces human‑looking code.

AI-written summary · about

  1. 0:00Intro
  2. 0:21Observation
  3. 1:38DSL Sauce
  4. 2:36Generating readable programs
  5. 4:08Writing documentation
  6. 5:03Our approach
  7. 5:47Remarks
  8. 7:10Blocks
  9. 9:06Packages
  10. 10:52Classes
  11. 11:35Languages
  12. 12:43List routines
  13. 13:28External syntax
  14. 14:15Generating documentation
  15. 16:33Knobs
  16. 17:19Programming Language
  17. 18:00Questions
~/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.