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.

  • 3
    $\begingroup$ Paramorphisms, hylomorphisms, anamorphisms, .... Also look at some of the work by Ralf Lämmel on "Scrap your boilerplate". $\endgroup$ Commented Feb 25, 2012 at 16:13
  • 1
    $\begingroup$ 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. $\endgroup$
    – Vijay D
    Commented Feb 26, 2012 at 2:38
  • $\begingroup$ Thanks for the pointers. Yes, AST means what you think it means. $\endgroup$ Commented Feb 26, 2012 at 9:46


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.