-
Notifications
You must be signed in to change notification settings - Fork 1
dev@lang@compilation
Olivier DALET edited this page Aug 29, 2022
·
11 revisions
-
Joe Duffy's blog:
-
Paranoid Coding
-
Gradual Typing + inference
-
mono- vs bi-directional type inference (Hindley-Milner): https://eli.thegreenplace.net/2018/type-inference/
- Unification Algorithm: https://eli.thegreenplace.net/2018/unification/
- https://en.wikipedia.org/wiki/Gradual_typing
- https://en.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_system
- http://www.cs.cmu.edu/~aldrich/FOOL/fool08/siek-slides.pdf
- https://www.cs.umd.edu/~avik/projects/iogti/paper.pdf
- https://www.irif.fr/~gc/papers/popl19.pdf
- http://ecee.colorado.edu/~siek/dls08igtlc.pdf
- https://www.researchgate.net/publication/330153340_Dynamic_type_inference_for_gradual_Hindley-Milner_typing/fulltext/5c30159f92851c22a35b342d/Dynamic-type-inference-for-gradual-Hindley-Milner-typing.pdf
-
mono- vs bi-directional type inference (Hindley-Milner): https://eli.thegreenplace.net/2018/type-inference/
-
Lexing
- Compiler Design (Lexical analysis): https://www.tutorialspoint.com/compiler_design/compiler_design_lexical_analysis.htm
- Compiler Construction/Lexical analysis: https://en.wikibooks.org/wiki/Compiler_Construction/Lexical_analysis
- https://en.wikipedia.org/wiki/Operator-precedence_parser
- https://en.wikipedia.org/wiki/Shunting-yard_algorithm
- chibicc: A Small C Compiler
- tcc
-
lcc
- Companion book: https://drh.github.io/lcc/
- Github: https://github.com/terrajobst/minsk
- Youtube Series: https://www.youtube.com/playlist?list=PLRAdsfhKI4OWNOSfS7EUu5GRAVmze1t2y
- Toolchain: https://dave.cheney.net/tag/toolchain
- https://go.googlesource.com/go/+refs
- https://go.googlesource.com/go/+/refs/heads/master/src
- https://go.googlesource.com/go/+/refs/tags/weekly.2009-11-06/src/cmd/gc/walk.c
- https://web.archive.org/web/2005*/http://iti.spbu.ru/eng/grants/Cflat.asp
- https://web.archive.org/web/20051003220405/http://iti.spbu.ru/eng/grants/Cflat.asp
- JInt: Javascript Interpreter for .NET
- JS + Wasm: https://www.courier.com/blog/build-a-webassembly-language-lexing/
- TextReader to IEnumerable: http://blog.einbu.no/2009/03/parsing-textfiles-with-linq/
- toolchains: https://toolchains.bootlin.com/
- https://en.wikipedia.org/wiki/Static_single_assignment_form
- Understanding static single assignment forms
- Methods to implement a register-based IR in static single assignment form
- SSA in Scheme
- Translating Out of Static Single Assignment Form