Theoretical Computer Science Stack Exchange is a question and answer site for theoretical computer scientists and researchers in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

In the process of creating an AST analysis framework one of the challenges is creating good reusable functions and to avoid too much boiler-plate code. To that end catamorphisms seem like a good fit, as described here:

Catamorphisms (1-7)

Is there other interesting recursion schemes and techniques that are beneficial for AST analysis like catamorphisms?

In particular with application within the constraints of the F# programming language.

share|cite|improve this question
Paramorphisms, hylomorphisms, anamorphisms, .... Also look at some of the work by Ralf Lämmel on "Scrap your boilerplate". – Dave Clarke Feb 25 '12 at 16:13
Maybe the acronym AST is clear from context to experts. What does it mean here? (I would assume Abstract Syntax Tree). The paper "Parsing with Derivatives" might interest you. – Vijay D Feb 26 '12 at 2:38
Thanks for the pointers. Yes, AST means what you think it means. – Bent Rasmussen Feb 26 '12 at 9:46

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.