background preloader

Caml / OCaml

Facebook Twitter

Le Langage Caml. Le langage Caml: Accueil. OCaml. Présentation générale OCaml est la principale variante du langage Caml.

OCaml

Du point de vue du langage, elle étend le noyau du langage Caml avec une couche orientée objets complète, ainsi qu'un système de modules puissant. Un système de types polymorphe avec inférence automatique des types assure la cohérence de ces traits. Le système OCaml est une implémentation de qualité industrielle de ce langage, comprenant un compilateur produisant du code natif de haute performance (ocamlopt) pour 9 architectures de microprocesseurs (IA32, PowerPC, AMD64, Alpha, Sparc, Mips, IA64, HPAA, StrongArm), un compilateur code-octet (ocamlc) et une boucle d'interaction (ocaml) pour la rapidilité du développement et la portabilité. Présentation d'Objective-Caml. Introduction au langage OCaml : Introduction au langage OCaml. Objective Caml. The Caml Hump: Latest updates. Mirage OS. MirageOS : machines virtuelles compilées à la demande avec le système d'exploitation et l'application.

Un article d’Anil Madhavapeddy et David J.

MirageOS : machines virtuelles compilées à la demande avec le système d'exploitation et l'application

Scott Machines virtuelles et hyperviseur, petit rappel Un article précédent de ce site expliquait pourquoi et comment la technologie des machines virtuelles (VM) était essentielle pour l’informatique en nuage. En résumé, une machine virtuelle est un logiciel qui simule le comportement d’un ordinateur physique. En interposant entre une machine physique et une machine virtuelle un système d’exploitation simplifié nommé hyperviseur, on permet à la machine virtuelle d’accéder aux ressources matérielles de la machine physique par le biais de simulacres des dispositifs matériels habituels : interface réseau, clé USB, clavier, écran, souris, etc. Ce système génial réalise une abstraction du matériel : seul l’hyperviseur a besoin de savoir piloter tous les dispositifs matériels dont il apparaît chaque jour de nouveaux modèles chez les fournisseurs.

Un logiciel, une VM, un OS sur mesure, compilés ensemble, en langage fonctionnel Peut-on aller plus loin ? Principes et Programmation des Systèmes d'exploitation. Programmation du système Unix en Objective Caml. Version monolitique, Postscript, PDF; les Sources et leur licence.

Programmation du système Unix en Objective Caml

Résumé: Ce document est un cours d’introduction à la programmation du système Unix, mettant l’accent sur la communication entre les processus. Real World OCaml. Interview et Revue du Livre : Real World OCaml. Le langage fonctionnel statiquement typé OCaml existe depuis presque deux décennies et a influencé de nombreux langages, comme F# et Scala.

Interview et Revue du Livre : Real World OCaml

O'Reilly a publié le livre "Real World OCaml" pour introduire aux lecteurs la programmation avec OCaml ainsi que les librairies et outils liés aux langages. De même que le précédent "Real World Haskell", sorti également chez O'Reilly, le contenu de ce nouveau libre peut être consulté gratuitement sur internet, agrémenté de nombreux commentaires que les lecteurs ont pu laisser. OCaml se différencie d'Haskell sur plusieurs sujets : la statégie d'évaluation (stricte dans OCaml et lazy en Haskell), l'importance des Monad (voir interview ci-dessous), et bien d'autres points. Pour avoir une idée de pourquoi OCaml mérite d'avoir de l'attention, InfoQ a discuté avec deux des auteurs de Real World OCaml, Yaron Minsky et Anil Madhavapeddy.

OCaml Forge: Bienvenue. Js_of_ocaml. ODT: OCaml Development Tools. Ocsigen. Tuto. Blog du projet Pumgrana. Depuis ses débuts l’idée de Pumgrana a fait du chemin et le projet est devenu de plus en plus ambitieux, que ce soit dans les fonctionnalités que nous voulons proposer ainsi que dans les concepts que nous souhaitons mettre en place pour offrir une expérience nouvelle aux futurs utilisateurs.

Blog du projet Pumgrana

En réalisant un bref tour d’horizon sur ce qu’est le web actuellement force est de constater que, depuis quelques temps, les services proposés sont en train d’évoluer radicalement et rapidement, notamment grâce aux nouvelles possibilités qu’offrent les navigateurs HTML5, aux différents supports sur lesquels nous consommons internet, et à la multitudes de projets et d’applications en tout genre qui voient le jour. C’est pourquoi actuellement, il est devenu quasiment impensable de mettre en ligne un service « bancale » avec une interface mal finalisée et des fonctionnalités pas suffisamment avancées. Pumgrana. OPAM - the Package Manager edited by OCamlPro. Psellos: Contemporary Development With Functional Programming. Les interfaces graphiques avec OCaml. OCaml-Top. OPAM - the Package Manager edited by OCamlPro.

Homebrew — Le gestionnaire de paquets pour OS X. Apprendre – OCaml. Un exposé de Xavier Leroy présentant les dernières nouveautés d'OCaml à la réunion annuelle des développeurs OCaml (OUD'2013) à Boston ( en PDF).

Apprendre – OCaml

Un cours invité donné par Yaron Minsky, de Jane Street, sur comment programmer efficacement en ML. L'exposé a été donné à Harvard, pendant le cours d'introduction à l'informatique, CS51, où les étudiants passent un semestre à programmer en OCaml. Jane Street est une société d'arbitrage financier qui met l'accent sur la résolution de problèmes technologiques et collaboratifs. Presque tous leurs systèmes sont écrits en OCaml: du code de recherche statistique qui opère sur des téra-octects de données aux outils de gestion système, comme l'infrastructure de transactions en temps réel. Et la plupart de ces systèmes sont déployés à l'échelle réelle : dans une journée classique, leurs transactions représentent entre 1% et 2% du volume du marché américain. Unison est un synchroniseur de fichiers innovant, basé sur la plus récente recherche. France-IOI.

Prog caml. OCaml pour les Zéros. Version en ligne.

OCaml pour les Zéros

Graphics and GUI tool kits. Mirage OS. What is Mirage OS?

Mirage OS

Mirage is an exokernel (also called a Cloud Operating System) for constructing secure, high-performance network applications across a variety of cloud computing, embedded and mobile platforms. Mirage OS was initially designed to for cloud use, which is why we call it a Cloud Operating System. Mirage OS applications are developed in a high-level functional programming language (OCaml) on a desktop OS such as Linux or Mac OSX, and is then compiled into a fully-standalone, specialised microkernel.

These microkernels run directly on Xen Project hypervisor APIs. Since the Xen Project powers most public clouds such as Amazon EC2, Rackspace Cloud, and many others, Mirage lets your servers run more cheaply, securely and faster in any Xen Project based cloud or hosting service. MirageOS : machines virtuelles compilées à la demande avec le système d'exploitation et l'application. Mirage OS. Ocaml Quick Start. Building an ARMy of Xen unikernels. Building an ARMy of Xen unikernels By Thomas Leonard Mirage has just gained the ability to compile unikernels for the Xen/arm32 platform, allowing Mirage guests to run under the Xen hypervisor on ARM devices such as the Cubieboard 2 and CubieTruck.

Building an ARMy of Xen unikernels

Introduction The ARMv7 architecture introduced the (optional) Virtualization Extensions, providing hardware support for running virtual machines on ARM devices, and Xen's ARM Hypervisor uses this to support hardware accelerated ARM guests. Mini-OS is a tiny OS kernel designed specifically for running under Xen. Mirage v1 was built on an old version of Mini-OS which didn't support ARM. In a similar way, we have replaced Mirage v1's bundled maths library with a dependency on the external OpenLibm, which we also extended with ARM support (this was just a case of fixing the build system; the code is from FreeBSD's libm, which already supported ARM). Mirage v1 also bundled dietlibc to provide its standard C library. Trying it out. Nymote. GODI - Ocaml for Everybody. Platform GODI bundles the Ocaml compiler with a large list of add-on packages, and serves as a development platform for Ocaml applications.

GODI - Ocaml for Everybody

GODI makes it very easy to install open source libraries for all kinds of development areas on your computer.