~/talk

Slinc: A Library for Scala to C Interoperability

Talkat Scala Days 2023 Seattle · 2023-06-05..06-07· [rust, c-and-cpp]
links:none on file
slides:none on file

Slinc provides Scala-to-C bindings built with Scala 3 metaprogramming, the Java Panama/Foreign API (Java 17/19), and a runtime multi-stage JIT. It exposes ergonomic traits for C functions and structs, pointer.copy/scopes for native heap access, varargs support for C variadic calls, and platform-dependent C types (e.g. C long) so bindings are safe across Linux, macOS and Windows. Runtime JIT compiles hot paths after ~10,000 calls, yielding ~20–30x faster code than the generic generated version and ~80% of handwritten native-call speed.

AI-written summary · about

  1. 0:00Intro
  2. 0:49Platforms
  3. 1:33The problem
  4. 1:56Native Interoperability for Java
  5. 2:29Slinc's niche
  6. 3:19Slinc is Scala 3 exclusive
  7. 3:53rand binding
  8. 6:12Memory
  9. 7:55Ptr Mutation
  10. 9:36C Strings
  11. 11:06Passing args
  12. 12:43sprintf binding
  13. 15:16Java 19
  14. 17:18Multiplatform
  15. 20:17Foreign mem writer
  16. 21:29Jit Compilation
  17. 22:08JIT generated writer
  18. 22:57Performance comparison
  19. 24:00Singleshot comparison
~/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.