Quantcast
Channel: Syntax!
Browsing latest articles
Browse All 19 View Live

Image may be NSFW.
Clik here to view.

New draft: Proofs, upside down

There is a new draft on my web page, that should be of interest to those who enjoyed my posts about reversing data structures and the relation between natural deduction and sequent calculus. It is an...

View Article



Image may be NSFW.
Clik here to view.

New draft on Normalization by Evaluation using GADTs

There is a new draft on my web page! It is called Tagless and Typeful Normalization by Evaluation using Generalized Algebraic Data Types, which is a mouthful, but only describes accurately the cool new...

View Article

Image may be NSFW.
Clik here to view.

Quick, dirty and shallow definitions

Here is a quick hack. A few months ago, I advocated for pointer equality in OCaml (==) as a way to deal with fresh symbols in a toy compiler. Today, I’ll show another application of pointer equality:...

View Article

Image may be NSFW.
Clik here to view.

1 ≠ 0

Learning Coq is usually an enlightening experience. I know it first-hand, it can also be a quite frustrating one, because it seems at first to involve remembering quite a lot of arbitrarily-named...

View Article

Image may be NSFW.
Clik here to view.

Update on Typeful Normalization by Evaluation

In October, I publicized here a new draft on normalization by evaluation, which provoked some very helpful comments and constructive criticisms. Together with Chantal and Olivier, we thus revised the...

View Article


Image may be NSFW.
Clik here to view.

Representing pattern-matching with GADTs

Here is a little programming pearl. I’ve been wanting to work on pattern-matching for a while now, and it seems like I will finally have this opportunity here at my new (academic) home, McGill....

View Article

Image may be NSFW.
Clik here to view.

Big-step disjunctive normal forms

This is probably a second-semester functional programming exercise, but I found it surprisingly hard, and could not find a solution online. So at the risk of depriving a TA from a problem for its...

View Article

Image may be NSFW.
Clik here to view.

Typeful disjunctive normal form

This is the answer to last post’s puzzle. I gave an algorithm to put a formula in disjunctive normal form, and suggested to prove it correct in OCaml, thanks to GADTs. My solution happens to include a...

View Article


Image may be NSFW.
Clik here to view.

Escaping continuations

Beta had a funny joke at POPL last year; he said: “you exit a monad like you exit a building on fire: by running”. I recently got myself in the stressful situation of being trapped in a monad—the...

View Article


Image may be NSFW.
Clik here to view.

Parametric HOAS with first-class modules

One of the first choice to make when starting the development of a compiler, or any program manipulating syntax with binders (e.g. programs with functions and variables), is how to represent these...

View Article
Browsing latest articles
Browse All 19 View Live




Latest Images