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.
Supported environments
At this time, supported environments are CGI and FastCGI.

Documentation

Quick start
Not yet available.
Introduction
This document covers the main concepts behind the Ex-nunc framework.
User manual
Not yet available.
Reference
Not yet available.

Download

Sources
The CVS repository is available at SourceForge:
cvs -d:pserver:anonymous@ex-nunc.cvs.sourceforge.net:/cvsroot/ex-nunc login
cvs -z3 -d:pserver:anonymous@ex-nunc.cvs.sourceforge.net:/cvsroot/ex-nunc co -P ex-nunc
You can browse CVS repository here.
Demo
A binary demo package is available on SourceForge. It should work on any GNU/Linux distribution, running on a i386 or compatible CPU. To install and run it, please follow the instructions in README.demo file.

Demo

Here is an on-line demo. This is the statically linked and natively compiled version you can download from SF. It is a CGI application, so the "Quit" button will not really shut down the server process, because each request is served by a newly spawned process. That button is working only for the FastCGI version of the demo, that will be available in a future release.

About

Project Ex-nunc was started in September, 2005 by Paolo Donadeo and Alessandro Strada. It was initiated to consolidate the authors' expertise in Web development, to build an open-source platform that tries to fix the most common idiosyncrasies of traditional frameworks, and to explore the potentials of the OCaml language, a functional language that is gaining increasing popularity. The main sources of inspiration for this project are WDialog and ASP.NET.

Acknowledgments go to Matteo Beniamino, for testing the demo.

Ex nunc is Latin and stands for "from now". It is currently used as a legal term, and gives prospective meaning to an event, opposed to ex tunc (from then), that gives retroactive meaning.