10 KiB
title |
---|
Resources |
Development Resource
LLVM
- Brief Overview of LLVM
- A bit in depth details on LLVM
- Official LLVM tutorial C++
- Interactive C++ with Cling
- My First LLVM Compiler
- A Complete Guide to LLVM for Programming Language Creators
- LLVM Internals
- How to learn about compilers (LLVM Version)
TableGen
Data Structures
- Pure functional datastructures papaer
- Dynamic typing: syntax and proof theory
- Representing Type Information in Dynamically Typed Languages
- An empirical study on the impact of static typing on software maintainability
Other languages
Memory management
- Visualizing memory management in Golang
- TCMalloc : Thread-Caching Malloc
- A visual guide to Go Memory Allocator from scratch (Golang)
Concurrency
Garbage collection
- GC on V8
- Perceus: Garbage Free Reference Counting with Reuse
- Boehm GC
- MPS
- MMTK
- Whiro
This is not GC but a tool to debug GC and memory allocation.
JIT
Optimizations
Compiler
- Stack frame layout on x86-64
- Pointers Are Complicated
- Pointers Are Complicated III, or: Pointer-integer casts exposed
- A compiler writting journal
Linker
Toolchain
Cross compilation
- Creating portable Linux binaries
A nice to read article on some of the common problems when linking statically with none default libc or libc++
Lang
- Scheme
Emacs mode
Mathematics
-
CS410 course: Advance Functional Programming
If you need to learn Agda (We use it for the mathematics side of Serene, to proof certain features) check out -
Programming Language Foundations in Agda
This book is an introduction to programming language theory using the proof assistant Agda.
Curry-Howard correspondence
Type Theory
-
Practical Foundations of Programming Languages
-
Types and Programming Languages
-
Advanced Topics in Types and Programming Languages
-
The Works of Per Martin-Löf:
-
The Works of John Reynolds
Proof Theory
-
Frank Pfenning's Lecture Notes
Category Theory
-
Category Theory in Context
-
Practical Foundations of Mathematics
-
Categorical Logic and Type Theory
Others
-
OPLSS:
The Oregon Programming Languages Summer School is a 2 week long bootcamp on PLs held annually at the university of Oregon. It's a wonderful event to attend but if you can't make it they record all their lectures anyways! They're taught be a variety of lecturers but they're all world class researchers.