Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
First release of focalize, a development environment for high integrity programs.
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2009-03-24 (10:07)
From: Pierre Weis <weis@d...>
Subject: First release of focalize, a development environment for high integrity programs.
Hi to all of you careful bug hunters and happy hackers reading this message!

It is my pleasure to announce the first public release for FoCaLize, a purely
functional language and environment to express and formally prove algorithms
and their implementation.

(0) What is it ?

FoCaLize is an integrated development environment to write high integrity
programs and systems. It provides a purely functional language to formally
express specifications, describe the design and code the algorithms.  Within
the functional language, FoCaLize provides a logical framework to express the
properties of the code. A simple declarative language provides the natural
expression of proofs of those properties from within the program source code.

The FoCaLize compiler extracts statements and proof scripts from the source
file, to pass them to the Zenon proof generator that produces in turn the Coq
proof terms that are formally verified.

The FoCaLize compiler also generates the code corresponding to the
program as an Objective Caml source file. This way, programs developped in
FoCaLize can be efficiently compiled to native code on a large variety of

Last but not least, FoCaLize automatically generates the documentation
corresponding to the development, a requirement for high evaluation

The FoCaLize system provides means for the developers to formally express
their specifications and to go step by step (in an incremental approach) to
design and implementation, while proving that such an implementation
meets its specification or design requirements. The FoCaLize language offers
high level mechanisms such as inheritance, late binding, redefinition,
parametrization, etc.  Confidence in proofs submitted by developers or
automatically done relies on Coq formal proof verification. 

FoCaLize is a son of the previous Focal system. However, it is a completely
new implementation with vastly revised syntax and semantics, featuring a
rock-solid infrastructure and greatly improved capabilities.

(1) Where to find it ?
FoCaLize home page is
FoCaLize source files can be found at

(2) How to install it ?
Uncompress, extract, then read the INSTALL file in the newly created
directory focalize.0.1.0 and follow the simple instructions written there.


For the entire FoCaLize implementor group,

Pierre Weis.

Tuesday, March 24, 2009 10:05:13