We describe an implementation of LDTA 2011 Tool Challenge tasks in Objective Caml language. Instead of using some dedicated domain-specific tools we utilize typical functional programming machinery such as polymorphic functions, monads and combinators; in addition we extensively use an idiom of type-driven transformers, which can be considered as a form of datatype-generic programming. Our implementation provides a good example of utilization of Objective Caml specific features such as open and implicitly defined types. As a result we provide a highly modular implementation built up of separately compiled components combined in a type-safe manner.

Original languageEnglish
Pages (from-to)57-73
Number of pages17
JournalScience of Computer Programming
Volume114
DOIs
StatePublished - 15 Dec 2015

    Scopus subject areas

  • Software

    Research areas

  • Combinators, Compilers, Datatype-generic programming, Functional programming, Modularization and code reuse

ID: 76606821