A brief introduction to systems programming, with Scala Native
summary
Scala Native’s unsafe API gives Scala direct C-level control while staying in Scala: Scala Native 0.4.0-M2 compiles with LLVM, exposes pointers (8-byte addresses), stack alloc and malloc (example: 16-int array initialized with pointer arithmetic), C strings accessed via strlen, and C function pointers used to call C quicksort via qsort. Resulting binaries are tiny (about 1.5 MB binary) and the demos run correctly, showing low-overhead interop and comparable raw performance to C for array and string workloads.
AI-written summary · about
chapters (11)
- 0:00Introduction to the talk
- 1:24State of Scala Native
- 2:55Defining systems programming
- 5:02The C abstraction model
- 9:04Scala Native overview
- 10:41Primitive data types
- 12:34Working with pointers
- 17:22Arrays and memory access
- 20:14String management
- 23:33Structs and unions
- 25:43Functions and final thoughts
related talks
36mHands-on Scala-Native
35mA Deep Dive into Scala Native Internals
27mScala and C – tight as brothers
30mExploring JVM Innovations Through the Lens of Scala Native
48mFast, Simple Concurrency with Scala Native
37mExplaining Different Coroutine Flavours using Scala Native
57mThe Magic Recipe of Scala.js: a Cross‑Platform Language
01h 05mScala: The Simple Parts
