Article ID Journal Published Year Pages File Type
423291 Electronic Notes in Theoretical Computer Science 2011 19 Pages PDF
Abstract

We present the design and implementation of dynamic type and value introspection for the OCaml language. Unlike previous attempts, we do not modify the core compiler or type-checker, and instead use the camlp4 metaprogramming tool to generate appropriate definitions at compilation time. Our dynamics library significantly eases the task of generating generic persistence and I/O functions in OCaml programs, without requiring the full complexity of fully-staged systems such as MetaOCaml. As a motivating use of the library, we describe a SQL backend which generates type-safe functions to persist and retrieve values from a relational database, without requiring programmers to ever use SQL directly.

Related Topics
Physical Sciences and Engineering Computer Science Computational Theory and Mathematics