====== Overview ====== Ex-nunc (pronounced x-noonk) is an open-source framework aimed to help the development of Web based applications. It is written in [[http://caml.inria.fr|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 [[http://msdn.microsoft.com/asp.net|ASP.NET]] validation controls. * **Supported environments**\\ At this time, supported environments are [[http://www.w3.org/CGI/|CGI]] and [[http://www.fastcgi.com/|FastCGI]].