~/talk

EDSL Infinity Wars: Mainstreaming Symbolic Computation

Talkat CppCon 2019 · 2019-09-15..09-20· [compilers-and-language-design]
links:none on file
slides:none on file

A C++ EDSL is presented that separates storage from symbolic formulas by using stateless expression templates, encodes symbol names as a 64-bit integral sequence for unique compile-time types, and performs on-the-fly simplification via structural pattern matching to avoid explosive template growth. It implements named-argument binding with aggregated lambdas, static visitors for evaluation and symbolic derivatives, and partial evaluation; prototypes compile with mainstream compilers and work on scalars today, with array/Eigen vectorization and broadcasting as active next steps.

AI-written summary · about

  1. 0:00Introduction and motivation
  2. 1:12What is EDSL Infinity Wars
  3. 3:17Simulation vs theory divide
  4. 6:11Domain-specific languages explained
  5. 7:54Expression templates deep dive
  6. 13:33Problems with expression templates
  7. 17:28Separating concerns in DSLs
  8. 18:33Symbolic math fundamentals
  9. 21:23Formulas equations and identities
  10. 23:30Abstract syntax trees for math
  11. 28:08Stateless expression design
  12. 30:18User API and design goals
  13. 32:44Lightweight expression template
  14. 34:51Expression matching techniques
  15. 37:39Compile-time simplification
  16. 41:15Symbol naming and hashing
  17. 44:05Variable binding and evaluation
  18. 48:21Visitors and differentiation
  19. 51:12Future work and limitations
  20. 53:21Practical examples and demos
  21. 58:04Advantages of the approach
  22. 59:09Compile-time parsing and future
  23. 1:01:19Q&A session
~/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.