Movatterモバイル変換


[0]ホーム

URL:


Aller au contenu
Wikipédial'encyclopédie libre
Rechercher

Caml

Un article de Wikipédia, l'encyclopédie libre.
Caml

Informations
Développé parInriaVoir et modifier les données sur Wikidata
Première versionVoir et modifier les données sur Wikidata
TypeDialecte(en)Voir et modifier les données sur Wikidata
Site webcaml.inria.frVoir et modifier les données sur Wikidata

modifier -modifier le code -voir Wikidata(aide)

Caml (prononcécamel, signifieCategorical Abstract Machine Language) est unlangage de programmation généraliste conçu pour la sécurité et la fiabilité des programmes. Il se prête à des styles de programmationfonctionnelle,impérative etorientée objet. C'est de plus un langagefortement typé.

Le style fonctionnel rapproche le langage Caml de l’écriture mathématique, notamment grâce à larécursivité et aufiltrage par motif(pattern matching). Ce dernier, particularité de la famille ML, offre une syntaxe au cas par cas claire et lisible, et est aussi utilisé dans le rattrapage desexceptions, en particulier pour la gestion des erreurs. Letypage fort rend l’usage sûr mais moins souple pour le programmeur. Enfin, Caml pratique l’inférence de types pour déterminer automatiquement le type desvariables etexpressions et permet lagénéricité.

Descendant dulangage ML, le Caml est développé depuis 1985 par les équipes Formel puis Cristal de l'Inria et l'a notamment été pendant cinq ans par le professeurGuy Cousineau (université Paris-Diderot)[1]. La variante active de Caml estOCaml. Par rapport à l'ancienne varianteCaml Light, aujourd'hui obsolète, elle ajoute de nombreuses fonctionnalités, comme un système demodules beaucoup plus poussé et le support de la programmation orientée objet (reposant sur leduck typing) dont elle tire son nom.

Consortium

[modifier |modifier le code]

La conception et le développement du langage Caml ainsi que son environnement sont fédérés par unconsortium dirigé parInria[2].

Extensions

[modifier |modifier le code]
Article connexe :OCaml#Langages dérivés.

Il existe un grand nombre d'extensions de Caml, permettant au langage de couvrir beaucoup de concepts.

Voir aussi

[modifier |modifier le code]

Articles connexes

[modifier |modifier le code]

Liens externes

[modifier |modifier le code]

Notes et références

[modifier |modifier le code]

Notes

[modifier |modifier le code]

Références

[modifier |modifier le code]
  1. « CV de Guy Cousineau », suraeres-evaluation.fr(consulté le)
  2. « Une histoire de Caml », surcaml.inria.fr,
  3. (en) Daniel S.Dantas, DavidWalker, GeoffreyWashburn et StephanieWeirich, « PolyAML : A Polymorphic Aspect-oriented Functional Programming Language »,Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP),vol. 40,no 9,‎,p. 306-319(DOI 10.1145/1086365.1086404,lire en ligne[PDF])
  4. (en) HidehikoMasuhara, HideakiTatsuzawa, AkinoriYonezawa et StephanieWeirich, « Aspectual Caml : An Aspect-Oriented Functional Language »,Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP),vol. 40,no 9,‎,p. 320-330(DOI 10.1145/1086365.1086405,lire en ligne[PDF])
  5. (en) « CDuce: OCamlDuce », surcduce.org(consulté le)
  6. (en) « MetaOCaml :A compiled, type-safe, multi-stage programming language », surcs.rice.edu(consulté le)
  7. (en) « MetaOCaml :An OCaml dialect for multi-stage programming », surokmij.org(consulté le)
  8. (en)« Ocaml-templates »(Archive.orgWikiwixArchive.isGoogleQue faire ?), surpps.jussieu.fr(consulté le)
  9. (en) Mark R.Shinwell, Andrew M.Pitts et Murdoch J.Gabbay, « FreshML: Programming with Binders Made Simple »,Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP),vol. 38,no 9,‎,p. 263-274(DOI 10.1145/944705.944729,lire en ligne[PDF])
  10. (en) J.Furuse, « Generic Polymorphism in ML »,Journées francophones des langages applicatifs (JFLA),‎,p. 75-96(ISBN 2-7261-1180-7,lire en ligne[PDF])
  11. « O’Jacare : Une interface objet entre O’Caml et Java »(Archive.orgWikiwixArchive.isGoogleQue faire ?), surpps.jussieu.fr(consulté le)
  12. (en) « The OCaml system, § 12. Lexer and parser generators (ocamllex, ocamlyacc) », surcaml.inria.fr(consulté le)
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Caml&oldid=231144610 ».
Catégories :
Catégories cachées :

[8]ページ先頭

©2009-2026 Movatter.jp