← Înapoi la Urmăritori

Cel mai recent articol

Ultima verificare

Urmăritori 0 urmăritori
Articole: 11
  1. Presence polymorphism

    I’ve been blogging about row polymorphism since 2013 (a life wasted?)

  2. Coherence and orphan instance rules

    Typeclasses are an overloading mechanism that allows compile time or runtime polymorphism.

  3. Unification and impl search

    At a high level Haskell’s typeclasses and Rust’s traits are the same feature, but they also differ quite a bit in details.

  4. Macros in Fir

    Fir macros are fully deterministic programs that are distributed separately and that can introspect into the using program’s type-checked AST definitions.

  5. A lesson we can derive from Rust’s error handling and async libraries, and Haskell’s effect system libraries, is that languages need to have opinionated (and efficient, flexible) interop features.

  6. I was just going through old files and saw a cool video of an old project that I thought I should share.

  7. One of my original goals with Fir was to bootstrap it as early as possible.

  8. Robert Harper’s “Exceptions Are Shared Secrets” is an intriguing blog post, but it may come as a bit abstract unless you’re already familiar with the idea of accidental exception (or more generally, effect) handling, as the post has no code.

  9. In the previous post we looked at a way to extend product types with new fields and sum types with new constructors, using row types, in Fir.

  10. Extensible named types in Fir

    The front-end AST types are one of the most important types in a language implementation, and if we get them wrong nothing will be right in the rest of the implementation.

  11. How Fir formats comments

    Fir formats comments by assigning comment tokens to non-comment tokens (only conceptually, not in the implementation, see below), and generating comments when formatting the tokens that “own” them.