$\DeclareMathOperator{\even}{even} \DeclareMathOperator{\odd}{odd}$ $\DeclareMathOperator{\true}{true} \DeclareMathOperator{\false}{false}$
Introduction au cours et à OCaml

Nous fournissons des instructions pour installer un environnement de développement pour OCaml

  1. Donner le type des expressions suivantes (lorsque possible) :
    
      01)   42
      02)   42.0
      03)   42,0
      04)   42;0
      05)   true
      06)   ()
      07)   []
      08)   [1]
      09)   [1, true]
      10)   [1;true]
      11)   1 + 1
      12)   1. + 1
      13)   1. +. 0.
      14)   x
      15)   'x'
      16)   "x"
      17)   0 = 1
      
  2. Donner des exemples d'expressions OCaml ayant les types suivants :
    
      01)   int
      02)   int * bool
      03)   int -> bool
      04)   int * int -> string
      
  3. Let-bindings Pour chacune des expressions ci-dessous, donner la valeur retournée par l'interpréteur OCaml.
    
      01)   let a = 1 in a + 2
      02)   let a = 1 in a + 2; a
      03)   (let a = 1 in a + 2); a
      04)   let a = 7 in let b = a in a + b
      05)   let a = 1 in let a = 2 in a
      06)   let a = 1 in (let a = 2 in ()); a
      07)   let f x = fun y -> x * y in let g = f 3 in g 5
      
  4. Ordre supérieur / paramétricité
  5. Récursivité (simple, mutuelle, mémoisation & terminale)
  6. Listes
  7. Types record, types sommes
  8. Références, entrées/sorties