Ex-nunc
Overview
Ex-nunc (pronounced x-noonk) is an open-source framework aimed to help the development of Web based applications. It is written in Objective Caml, a language that is compiled, statically typed, strictly evaluated, and uses automatic memory management. Ex-nunc is designed to exploit these features, trying to detect most of the common programming errors at compile time. This way, the developer wastes less time hunting for misspellings, and has more time for functionality testing of his applications.
Features
These are the most noticeable features of the framework:
- Strongly-typed page parameters
Each page can accept a tuple of parameters. Therefore, calling a page works, more or less, like invoking a function. Moreover, the compiler can check the numbers and the types of the arguments.
- Strongly-typed session
Session data is stored in an OCaml record, generated at compile time.
- Strongly-typed form data
Form data is stored too in an OCaml record, where user input is automatically converted to the right OCaml type.
- Form validation
Input validation is performed through validators. Validators provide a mechanism for all common types of standard validation (e.g., verifying that a value can be safely converted to a specific OCaml type, i.e. int, float, etc.). Additionally, validators display custom error information to the user. This feature is mainly inspired by ASP.NET validation controls.
Status of the project
At the moment I'm writing this note (2010-03-14), the development of the Ex-nunc project is considered concluded by the authors.
Download
You can download the latest release of Ex-nunc here:
File | MD5 |
ex-nunc_latest_2010-03-14.tar.gz | 6ce7df2dcedb37a8582ae6efa3f2e934 |
This release is considered quite stable and produces a library and a compiler that can compile the included demo.
Contacts and further informations
If you are interested in the Ex-nunc project and you want further informations about the architecture, or you simply want to compile it and you need help, please don't hesitate and contact the authors: and Alessandro Strada.