Skip to content

Language Internals

The layer beneath the syntax — how programming languages actually work under the hood, language-agnostic where possible and concretely specified where the implementations diverge.


Sections

  • Concurrency — threading models, primitives, async runtimes, race conditions, deadlock detection.
  • Memory Management — stack vs heap, allocators, GC strategies (mark-sweep, generational, reference counting), escape analysis, ownership models.
  • Type Systems — static vs dynamic, structural vs nominal, generics, variance, type inference, soundness.
  • Compilers and Interpreters — lexing, parsing, AST, IR, optimisation passes, codegen, JIT vs AOT, runtime interplay.
  • Metaprogramming — reflection, macros (hygienic vs textual), code generation, build-time vs runtime.