~/talk

Time Travel: Applying Gradual Typing to Time Types with Clang's LibTooling

Talkat CppCon 2019 · 2019-09-15..09-20· [developer-experience, c-and-cpp]
links:none on file
slides:none on file

Google runs clang-tidy and Clang's libTooling over ~250M lines to migrate ints/doubles to absl::Time/absl::Duration, using expression simplifiers, factory-distribution, variable and inter-function rewrites and seeded overloads. Automated passes catch real bugs: mistaken milliseconds-vs-seconds that lengthen timeouts by 1000× and absurd deadlines (years instead of seconds). Tooling is mostly autonomous and converges to safer code, but requires manual seeding and work on corner cases and has cross-translation-unit limits that still need engineering.

AI-written summary · about

  1. 0:00Introduction
  2. 0:50Dynamically typed code
  3. 3:17Types
  4. 9:35Time Programming Fundamentals
  5. 10:06Abseil Time Library
  6. 14:33Gradual Typing
  7. 17:13Things that dont work
  8. 20:58Expressionbased transformations
  9. 22:29Simplification
  10. 30:08Addition
  11. 33:36Distribution
  12. 35:58Conversion
  13. 37:10Timeout
  14. 38:06Class variables
  15. 41:09Return Values
  16. 43:56RPC Framework
  17. 44:40RPC Configuration
  18. 45:03The Bug
  19. 46:46The Point
  20. 51:47What do people think
  21. 54:53How hard was it
~/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.