~/talk

Explicit Level Imports

links:none on file
slides:none on file

Extension changes GHC so imports are annotated with levels instead of being available at all stages, disabling no implicit stage persistence and adding explicit level imports with splice imports (level -1) and quote imports (level +1). Implementation is merged for GHC 9.14 and is tested on Pandoc: five modules get splice-annotated and GHCi bytecode compilation time for that package drops by about 50%. Also enables more precise Cabal/package cross-compilation and staged dependency tracking.

AI-written summary · about

  1. 0:00Explicit level imports
  2. 0:48Template Haskell import issues
  3. 2:09Precision in compile-time deps
  4. 3:11GHC’s level system
  5. 4:38Levels versus stages
  6. 6:21Principle of levels
  7. 8:05Cross-stage persistence downsides
  8. 10:35Explicit level imports
  9. 12:00Splice and quote import syntax
  10. 13:25Limits of level system
  11. 14:27Explicit annotations over inference
  12. 15:51Design choices for extensions
  13. 17:17Nested splices and quotations
  14. 18:22Quote imports for runtime deps
  15. 19:03Balancing restrictions and usability
  16. 19:23Pandoc compilation impact
  17. 20:50Future work and cross-compilation
  18. 21:52Correct package dependencies impact
  19. 22:53Q&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.