Banner

Tag : ocaml

Djinn, Coq, Monad and a bit of Haskell

Posted by alpheccar - May 24 2007 at21:37 CEST

Even if your are a beginner in functional programming, you have probably heard of the program-as-proof correspondence, also known as the Curry-Howard isomorphism. It is a bridge between the world of logic and the world of computation. A type is a specification and a program is a proof of that type. Typechecking is just checking the proof. Types can be used to specify lots of constraints about your programs. With sophisticated type systems like the ones in [Ocaml](http://caml.inria.fr/ocaml/index.fr.html) and [Haskell](http://haskell.org/haskellwiki/Haskell) you can really do wonderful stuff. But, those type systems are not powerful enough. We may dream of extracting a program from its specification. But, for that we need to be able to express very rich specifications. It is possible with the calculus of constructions which is the type system implemented in [Coq](http://coq.inria.fr/).

The best programming languages

Posted by alpheccar - Jun 13 2006 at19:06 CEST

It is of course impossible to choose, in a objective and absolute way the best programming language. Choosing a programming language is dependent on too many things. A language which may be very good for a specific use may be the wrong language to use for another task.