• Aucun résultat trouvé

Jean-JacquesL´evy,INRIA Caml,Ocaml,Jocaml

N/A
N/A
Protected

Academic year: 2022

Partager "Jean-JacquesL´evy,INRIA Caml,Ocaml,Jocaml"

Copied!
1
0
0

Texte intégral

(1)

Caml, Ocaml, Jocaml

Jean-Jacques L´ evy, INRIA

Caml is the version of Robin Milner’s ML language developed at INRIA by Xavier Leroy et al. To be short, ML = Lisp + strong typing. Types in ML are polymorphic with a powerful type inference system. Caml is now the most popular programming language for implementing theorem provers. It is also used in programs for machine learning, mathematics for finance and web applications.

This course is built on a sequence of examples illustrating the power of the language. All classes will correspond to programming exercices. This course might motivate students to functional programming (with languages such as Caml, F#, SML, or Haskell) and to languages with a strong typing discipline (Java, C#, or Scala). Synchronization by Join patterns has been implemented inside Visual Studio for C and Visual Basic.

Basics of Caml

Thursday 14:00-16:00, 11/19, FIT 1-515

functional programming: functions, closures, recursive data types, poly- morphic types

Friday 09:00-11:00, 11/20, FIT 1-515

imperative features: references, mutable data, i/o’s [list processing, tree traversals]

Thursday 14:00-16:00, 11/26, FIT 1-415

standard library [labeling program for bitmap graphics]

The duality between Modules and Objects in Ocaml Friday 09:00-11:00,

11/27, FIT 1-415

modules, signatures, parametric modules, private variables, abstract types. Objects in Ocaml [examples of subtyping in graphics and user interfaces]

Concurrent programs and remote invocation of functions in Jocaml Thursday 14:00-16:00,

12/03, FIT 1-515

standard multithread programming (Linux threads) for shared memory architectures

Friday 09:00-11:00, 12/04, FIT 1-415

concurrency in distributed applications, join-patterns [example of small games and a distributed ray tracing program]

• Books on Caml:

– Le langage Caml, Pierre Weis and Xavier Leroy (in French), InterEditions, 1993

– The Functional Approach to Programming, Guy Cousineau and Michel Mauny, CUP 1998.

• Books and Tutorial on Ocaml:

– www.ocaml-tutorial.org/ (partly in chinese)

– Introduction to Objective Caml: www.cs.caltech.edu/courses/cs134/cs134b/book.pdf – Developing Applications With Objective Caml: caml.inria.fr/pub/docs/oreilly-book/

– Ocaml for Scientits: www.ffconsultancy.com/products/ocaml for scientists/

• Documentation on Jocaml:

– Info and Tutorial at jocaml.inria.fr

– Milner’s book: Communicating and Mobile Systems: The Pi-Calculus, CUP, 1999

Références

Documents relatifs

The PROJ rule must be applied on a parallel vector available at the current level p. The resulting value is a closure which contains the content of the given vector. As expected,

Ref- erences are early attempts to marry type inference for Hindley and Milner’s type system with first- class polymorphism, via a feature that one could refer to as

In short, MLGX marries type inference for Hindley and Milner’s type system with typechecking for generalized algebraic data types.. how about some local

In short, MLGX marries type inference for Hindley and Milner’s type system with typechecking for generalized algebraic data types.. In order to reduce the annotation burden, we

Prove that the type system for the extended language satisfies subject reduction.. Show that non-interference for the initial language is a consequence of

A recursive type declaration for a given datatype introduces at least one refinement type name, but many other refinement types can be formed by intersection, union, function type

Vous devez citer le nom de l’auteur original de la mani`ere indiqu´ee par l’auteur de l’oeuvre ou le titulaire des droits qui vous conf`ere cette autorisation (mais pas

Nous utiliserons dans tout le document la version basique de CAML (en fait OCAML (c’est-à-dire CAML avec des modules pour faire de la programmation orientée objet) ou CAML Light