Ocaml ou Caml light ?

Répondre

Messages : 10

Enregistré le : 28 juil. 2018 12:18

Classe : MP*

Ocaml ou Caml light ?

Message par LErst102 » 28 juil. 2018 12:20

Bonjour, est-ce vrai que le programme changera l'année prochaine en bsculant de Caml Light vers Ocaml. Si oui, Merci de me donner une source officielle.

Messages : 493

Enregistré le : 08 juin 2017 21:39

Classe : Moi j'joue à Albion

Re: Ocaml ou Caml light ?

Message par MinAloye » 28 juil. 2018 12:45

PS : c'est bête de s'être fait chier pour voir que t'avais perdu :)

Messages : 10

Enregistré le : 28 juil. 2018 12:18

Classe : MP*

Re: Ocaml ou Caml light ?

Message par LErst102 » 28 juil. 2018 12:52

MinAloye Merci beaucoup. Vous ne savez pas s'il y aura des bouquins pour bosser l'info après ce changement ?

Messages : 152

Enregistré le : 10 juin 2018 02:30

Classe : yiyuan

Re: Ocaml ou Caml light ?

Message par Fengbao » 28 juil. 2018 13:56

LErst102 a écrit :
28 juil. 2018 12:52
Vous ne savez pas s'il y aura des bouquins pour bosser l'info après ce changement ?
Tu connais l'ouvrage de conchon( https://sites.google.com/site/barsbaltu ... t-86962279 )?

YS1

Messages : 69

Enregistré le : 06 févr. 2005 11:50

Classe : MPSI, PCSI, MP*, PC*

Re: Ocaml ou Caml light ?

Message par YS1 » 28 juil. 2018 19:32

Les ressources écrites au niveau CPGE en Caml Light restent pour l'essentiel valables pour OCaml : il n'y a qu'un nombre très réduit de changements à apporter. Ils concernent surtout le nom des fonctions des bibliothèques standard, mais en prépa la seule qu'on utilise vraiment est celle concernant les tableaux.

On n'écrira donc plus

Code : Tout sélectionner

make_vect, vect_length, make_matrix
mais

Code : Tout sélectionner

Array.make, Array.length, Array.make_matrix
. Également, pour les chaines, on remplace

Code : Tout sélectionner

string_length
par

Code : Tout sélectionner

String.length
. Pour l'exhaustivité (même si normalement on ne s'en sert pas trop), les fonctions hd et tl n'ont plus le privilège d'être dans le module de base et on doit donc écrire List.hd et List.tl. On peut trouver la liste des modules de la bibliothèque standard dans la doc officielle (ces modules ne sont pas à connaitre, pas plus qu'à l'époque de Caml Light : le langage a changé mais pas le programme d'enseignement).

L'autre point est la disparition de la syntaxe (qu'on trouve dans pas mal de vieux sujets de CCP)

Code : Tout sélectionner

type nouveau_nom == ancien_nom
: on utilise désormais à cet endroit un seul signe = (comme dans toutes les autres définitions de type).

Dernière précaution à prendre : les noms des constructeurs doivent commencer par une majuscule, et au contraire les noms des variables doivent commencer par une minuscule (Caml Light acceptait les deux pour les deux). À nouveau, un certain nombre d'annales de concours doivent être légèrement transposées (on ne peut pas en OCaml appeler une variable par exemple).

Mais vous n'avez pas vraiment à vous soucier de tout cela : votre professeur vous donnera toutes les ressources dont vous avez besoin et elles seront en OCaml. Si toutefois vous teniez à aller chercher des choses en plus, sachez que c'est beaucoup plus facile d'obtenir de l'aide sur internet en OCaml qu'en Caml Light puisque ce langage dispose d'une communauté vivante ; c'est une des raisons du changement opéré.

Répondre