The Curious Engineer

All blogs / Functional / PL theory

Daniel's Blog

danilafe.com

Daniel Fedorin's personal blog, covering topics such as functional programming, compiler development, and more!

Functional / PL theoryCompilersC++

’05’10’15’20’25
Posts
82 from 1 Jan 2001 to 15 Sep 2026
Posting
monthly (6 in the last year)
Kind
personal blog
Feed
https://danilafe.com/index.xml

2026 5

  1. The LLM Comments Are Not For You
  2. Persistence of Vision
  3. Personal Software with the Help of LLMs
  4. Generating Flashcards from PDF Underlines
  5. On Spiders

2025 2

  1. Reasons to Love the Field of Programming Languages
  2. Chapel's Runtime Types as an Interesting Alternative to Dependent Types

2024 14

  1. Implementing and Verifying "Static Program Analysis" in Agda, Part 9: Verifying the Forward Analysis
  2. Implementing and Verifying "Static Program Analysis" in Agda, Part 8: Forward Analysis
  3. Implementing and Verifying "Static Program Analysis" in Agda, Part 7: Connecting Semantics and Control Flow Graphs
  4. Implementing and Verifying "Static Program Analysis" in Agda, Part 6: Control Flow Graphs
  5. Implementing and Verifying "Static Program Analysis" in Agda, Part 5: Our Programming Language
  6. Implementing and Verifying "Static Program Analysis" in Agda, Part 4: The Fixed-Point Algorithm
  7. Implementing and Verifying "Static Program Analysis" in Agda, Part 3: Lattices of Finite Height
  8. Implementing and Verifying "Static Program Analysis" in Agda, Part 2: Combining Lattices
  9. Untitled Short Story
  10. Implementing and Verifying "Static Program Analysis" in Agda, Part 1: Lattices
  11. Implementing and Verifying "Static Program Analysis" in Agda, Part 0: Intro
  12. Microfeatures I Love in Blogs and Personal Websites
  13. Integrating Agda's HTML Output with Hugo
  14. The "Deeply Embedded Expression" Trick in Agda

2023 5

  1. Bergamot: Exploring Programming Language Inference Rules
  2. My Favorite C++ Pattern: X Macros
  3. The "Is Something" Pattern in Agda
  4. Proving My Compiler Code Incorrect With Alloy
  5. Search as a Polynomial

2022 2

  1. Generalizing Folds in Haskell
  2. Declaratively Deploying Multiple Blog Versions with NixOS and Flakes

2021 8

  1. Digit Sum Patterns and Modular Arithmetic
  2. Introducing Matrix Highlight
  3. A Verified Evaluator for the Untyped Concatenative Calculus
  4. Formalizing Dawn in Coq
  5. Type-Safe Event Emitter in TypeScript
  6. Approximating Custom Functions in Hugo
  7. Pleasant Code Includes with Hugo
  8. Advent of Code in Coq - Day 8

2020 20

  1. Advent of Code in Coq - Day 1
  2. A Typesafe Representation of an Imperative Language
  3. Compiling a Functional Language Using C++, Part 13 - Cleanup
  4. How Many Values Does a Boolean Have?
  5. Meaningfully Typechecking a Language in Idris, With Tuples
  6. Time Traveling In Haskell: How It Works And How To Use It
  7. DELL Is A Horrible Company And You Should Avoid Them At All Costs
  8. Meaningfully Typechecking a Language in Idris, Revisited
  9. Rendering Mathematics On The Back End
  10. Compiling a Functional Language Using C++, Part 12 - Let/In and Lambdas
  11. Building a Crystal Project with Nix, Revisited
  12. Compiling a Functional Language Using C++, Part 11 - Polymorphic Data Types
  13. Compiling a Functional Language Using C++, Part 10 - Polymorphism
  14. Math Rendering is Wrong
  15. Creating Recursive Functions in a Stack Based Language
  16. Meaningfully Typechecking a Language in Idris
  17. Building a Basic Crystal Project with Nix
  18. Compiling a Functional Language Using C++, Part 9 - Garbage Collection
  19. Using GHC IDE for Haskell Error Checking and Autocompletion
  20. A Language for an Assignment - Homework 3

2019 19

  1. A Language for an Assignment - Homework 2
  2. A Language for an Assignment - Homework 1
  3. JavaScript-Free Sidenotes in Hugo
  4. Compiling a Functional Language Using C++, Part 8 - LLVM
  5. Thoughts on Better Explanations
  6. Compiling a Functional Language Using C++, Part 3 - Type Checking
  7. Compiling a Functional Language Using C++, Part 4 - Small Improvements
  8. Compiling a Functional Language Using C++, Part 5 - Execution
  9. Compiling a Functional Language Using C++, Part 6 - Compilation
  10. Compiling a Functional Language Using C++, Part 7 - Runtime
  11. Switching to a Static Site Generator
  12. Compiling a Functional Language Using C++, Part 0 - Intro
  13. Compiling a Functional Language Using C++, Part 1 - Tokenizing
  14. Compiling a Functional Language Using C++, Part 2 - Parsing
  15. Local Development Environment for JOS and CS 444
  16. Lambda Calculus and Church Encoded Integers
  17. Proof of Inductive Palindrome Definition in Coq
  18. Setting Up Crystal on ARM
  19. Haskell Error Checking and Autocompletion With LSP

2017 1

  1. A Look Into Starbound's File Formats

2016 4

  1. New Look, New Features!
  2. Learning Emulation, Part 2.5 - Implementation
  3. Learning Emulation, Part 2
  4. Learning Emulation, Part 1

2001 2

  1. Content Graph
  2. Favorites