~/talk

Callable Objects in Java, C#, Rust, and C++

Talkat ACCU 2023 · 2023-04-19..04-22· [compilers-and-language-design]
links:none on file
slides:none on file

Compares how Java uses lambdas and a runtime method handle to adapt arbitrary method names, how C# exposes a fat pointer called a delegate, and how Rust uses retrospective implementations and trait object fat pointers to attach callability to existing types. Shows C++ additions — function_ref, a move only function type and a non type template parameter that builds a pointer‑to‑member thunk at call site — that reproduce those capabilities and actually reduce indirection and boilerplate. The library change compiles and interoperates with existing code and yields measurable ergonomic gains.

AI-written summary · about

  1. 0:00Callable objects overview
  2. 8:03Java functional interfaces
  3. 27:19C# delegates details
  4. 40:07Rust traits and callables
  5. 53:28C++ type erasure
  6. 1:04:39C++23 function_ref
  7. 1:14:04Summary
~/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.