| 27. 10. 2024 | On the universal relation – bernsteinbear.com
|
| 22. 10. 2024 | Adding row polymorphism to Damas-Hindley-Milner – bernsteinbear.com
|
| 15. 10. 2024 | Damas-Hindley-Milner inference two ways – bernsteinbear.com
|
| 11. 9. 2024 | What's in an e-graph? – bernsteinbear.com
|
| 7. 9. 2024 | microui+fenster=small gui – bernsteinbear.com
|
| 25. 8. 2024 | Precedence-aware pretty printing – bernsteinbear.com
|
| 23. 7. 2024 | Abstract interpretation in the Toy Optimizer – bernsteinbear.com
|
| 10. 7. 2024 | Some tricks from the Scrapscript compiler – bernsteinbear.com
|
| 19. 6. 2024 | TCC does support __attribute__(section(...)), actually – bernsteinbear.com
|
| 1. 6. 2024 | A baseline scrapscript compiler – bernsteinbear.com
|
| 19. 5. 2024 | Compilers for free with weval – bernsteinbear.com
|
| 15. 3. 2024 | Waking my computer from afar – bernsteinbear.com
|
| 22. 2. 2024 | Neat parallel output in Python – bernsteinbear.com
|
| 18. 2. 2024 | Vectorizing ML models for fun – bernsteinbear.com
|
| 31. 1. 2024 | Sorry for marking all the posts as unread – bernsteinbear.com
|
| 23. 1. 2024 | scrapscript.py – bernsteinbear.com
|
| 23. 1. 2024 | scrapscript.py – bernsteinbear.com
|
| 13. 1. 2024 | Type information for faster Python C extensions – bernsteinbear.com
|
| 13. 1. 2024 | Type information for faster Python C extensions – bernsteinbear.com
|
| 27. 11. 2023 | Building a small REPL in Python – bernsteinbear.com
|
| 27. 11. 2023 | Building a small REPL in Python – bernsteinbear.com
|
| 9. 11. 2023 | A quick look at destination-driven code generation – bernsteinbear.com
|
| 9. 11. 2023 | A quick look at destination-driven code generation – bernsteinbear.com
|
| 4. 11. 2023 | Ninja is enough build system – bernsteinbear.com
|
| 4. 11. 2023 | Ninja is enough build system – bernsteinbear.com
|
| 19. 9. 2023 | Compiling ML models to C for fun – bernsteinbear.com
|
| 19. 9. 2023 | Compiling ML models to C for fun – bernsteinbear.com
|
| 19. 6. 2023 | Compiling typed Python – bernsteinbear.com
|
| 19. 6. 2023 | Compiling typed Python – bernsteinbear.com
|
| 7. 11. 2022 | Inline caches in the Skybison Python runtime – bernsteinbear.com
|
| 7. 11. 2022 | Inline caches in the Skybison Python runtime – bernsteinbear.com
|
| 3. 11. 2022 | Writing a symbolizer for the Cinder JIT – bernsteinbear.com
|
| 3. 11. 2022 | Writing a symbolizer for the Cinder JIT – bernsteinbear.com
|
| 18. 10. 2022 | How we use binary search to find compiler bugs – bernsteinbear.com
|
| 18. 10. 2022 | How we use binary search to find compiler bugs – bernsteinbear.com
|
| 2. 5. 2022 | How the Cinder JIT's inliner works – bernsteinbear.com
|
| 26. 3. 2022 | Discovering basic blocks – bernsteinbear.com
|
| 21. 10. 2021 | Team dynamics – bernsteinbear.com
|
| 11. 2. 2021 | Small objects and pointer tagging – bernsteinbear.com
|
| 3. 2. 2021 | Inline caching: quickening – bernsteinbear.com
|
| 14. 1. 2021 | Inline caching – bernsteinbear.com
|
| 29. 10. 2020 | Compiling a Lisp: Labelled procedure calls – bernsteinbear.com
|
| 19. 10. 2020 | Compiling a Lisp: Instruction encoding interlude – bernsteinbear.com
|
| 11. 10. 2020 | Compiling a Lisp: Heap allocation – bernsteinbear.com
|
| 7. 10. 2020 | Compiling a Lisp: If – bernsteinbear.com
|
| 1. 10. 2020 | Compiling a Lisp: Let – bernsteinbear.com
|
| 22. 9. 2020 | Compiling a Lisp: Reader – bernsteinbear.com
|
| 16. 9. 2020 | Compiling a Lisp: Primitive binary functions – bernsteinbear.com
|
| 5. 9. 2020 | Compiling a Lisp: Primitive unary functions – bernsteinbear.com
|
| 2. 9. 2020 | Compiling a Lisp: Booleans, characters, nil – bernsteinbear.com
|
| 31. 8. 2020 | Compiling a Lisp: Integers – bernsteinbear.com
|
| 30. 8. 2020 | Compiling a Lisp: The smallest program – bernsteinbear.com
|
| 29. 8. 2020 | Compiling a Lisp: Overture – bernsteinbear.com
|
| 2. 5. 2019 | Recursive Python objects – bernsteinbear.com
|
| 11. 3. 2019 | Understanding the 100 prisoners problem – bernsteinbear.com
|
| 4. 1. 2019 | Bytecode compilers and interpreters – bernsteinbear.com
|
| 13. 7. 2018 | JumboSmash: a technical retrospective – bernsteinbear.com
|
| 30. 5. 2018 | How to mess with your roommate – bernsteinbear.com
|
| 13. 4. 2018 | Driving student programs – bernsteinbear.com
|
| 13. 1. 2018 | I'm confused – bernsteinbear.com
|
| 6. 10. 2017 | How to shoot yourself in the foot without really trying – bernsteinbear.com
|
| 11. 5. 2017 | Writing a Lisp, Part 18: No Define – bernsteinbear.com
|
| 2. 5. 2017 | Writing a Lisp, Part 17: Modules – bernsteinbear.com
|
| 22. 3. 2017 | Writing a Lisp, Part 16: Standard Library – bernsteinbear.com
|
| 18. 3. 2017 | Writing a Lisp, Part 15: I/O – bernsteinbear.com
|
| 15. 3. 2017 | Writing a Lisp, Part 14: Comments – bernsteinbear.com
|
| 14. 3. 2017 | Writing a Lisp, Part 13: Let – bernsteinbear.com
|
| 1. 3. 2017 | Writing a Lisp, Part 12: Metacircular Evaluator – bernsteinbear.com
|
| 9. 2. 2017 | Writing a Lisp, Part 11: Primitives 3 – bernsteinbear.com
|
| 7. 2. 2017 | Writing a Lisp, Part 10: Closures – bernsteinbear.com
|
| 1. 2. 2017 | Writing a Lisp, Part 9: Quote – bernsteinbear.com
|
| 31. 1. 2017 | Writing a Lisp, Part 8: ASTs – bernsteinbear.com
|
| 18. 1. 2017 | Writing a Lisp, Part 7: Primitives 2 – bernsteinbear.com
|
| 27. 12. 2016 | Writing a Lisp, Part 6: Primitives 1 – bernsteinbear.com
|
| 19. 12. 2016 | Writing a Lisp, Part 5: If-Expressions – bernsteinbear.com
|
| 19. 12. 2016 | Writing a Lisp, Part 4: Environments – bernsteinbear.com
|
| 6. 12. 2016 | Writing a Lisp, Part 3: Lists – bernsteinbear.com
|
| 1. 11. 2016 | Writing a Lisp, Part 2: Symbols – bernsteinbear.com
|
| 28. 10. 2016 | Writing a Lisp, Part 1: Booleans – bernsteinbear.com
|
| 27. 10. 2016 | Writing a Lisp, Part 0: Fundamentals – bernsteinbear.com
|
| 19. 10. 2016 | An error in ML that caused me much grief – bernsteinbear.com
|
| 2. 1. 2014 | The cost of applying to college: data – bernsteinbear.com
|
| 20. 9. 2012 | A quest for anonymity – bernsteinbear.com
|
| 21. 8. 2012 | DNS tunneling, or, how to get around Gogo – bernsteinbear.com
|
| 13. 8. 2012 | Dictionary – bernsteinbear.com
|
| 25. 7. 2012 | New public key! – bernsteinbear.com |