Jean Mouric

professeur de mathématiques à Rennes

vous propose quelques utilitaires pour Caml sous Mac OS X, Windows ou Java


Dernières mises à jour:

16/02/2018: Patch Caml Light (PatchCl75_2018_02_16) et WinCaml 6.1:
- Aucun changement concernant MacOS ou Linux.
- Ce nouveau patch améliore celui du 02/02/2018 : il permet sous Windows (de XP sp3 au dernier Windows 10) l’installation de Caml Light dans des dossiers à chemins
unicode variés pouvant comporter des espaces, à condition d’être utilisé à partir d’un terminal utf-8 (msys2 pour obtenir une distribution Windows native, cygwin sinon).
- WinCaml (obtenu à partir de l’archive WinCaml6-src_1.zip) a été modifié pour pouvoir en profiter.
Sous Windows utiliser plutôt 7zip pour décompresser WinCaml6-src_1.zip afin d’éviter toute dégradation des chemins.
(WinCaml 6.1 uniquement sous forme de code source pour l’instant).

02/02/2018: Patch Caml Light (PatchCl75_2018_02_01) et WinCaml 6.1:
- Aucun changement pour MacOS, pour Linux et pour Windows avec Cygwin.
- Ce nouveau patch peut remplacer ceux du 30/01/2018 (les trois) pourvu que celui des trois systèmes de développement suivants utilisé sous Windows:
    mingw/msys ou mingw-w64/msys ou mingw-w64/msys2
soit muni de la librairie libiconv. Il devrait fonctionner sous Windows XP et suivants. (libiconv permet de remplacer la fonction Windows
MultiByteToWideChar dont l’utilisation paraît problématique sous XP avec mingw).
Il permet d’avoir pour WinCaml (obtenu à partir de l’archive WinCaml6-src_1.zip) des toplevels Caml Light Windows natifs capables d’ouvrir,
y compris sous Windows XP, des fichiers à chemins unicode variés (cf. le fichier exemples/Caml Light/unicode/Очи чëрные.txt dans l’archive
WinCaml6-src_1.zip). Sous Windows utiliser plutôt 7zip pour décompresser WinCaml6-src_1.zip afin d’éviter toute dégradation des chemins.
- WinCaml 6.1 (archive WinCaml6-src_1.zip) est muni d’un toplevel camltoplevel32.exe obtenu à partir du PatchCl75_2018_02_01.

30/01/2018: Patch Caml Light et WinCaml 6.1
IMPORTANT: ce Patch Caml Light ne fonctionne sans doute pas avec les systèmes Windows antérieurs à Windows 10.
Utiliser alors le Patch Caml Light 2017 ou le Patch Caml Light précédent.
- Suppression des lignes shebang dans les binaires pour Windows obtenus à l’aide de mingw/msys (remplacées par lib/caml-light/header).
- Modifications permettant sous Windows 10 l’ouverture par les toplevels Caml Light natifs utilisés par WinCaml de fichiers à chemins unicode (utf-16 a priori):
cf. le fichier exemples/Caml Light/unicode/Очи чëрные.txt dans l’archive WinCaml6-src_1.zip. Les toplevels Cygwin64 paraissent fonctionner correctement.
Toutefois le chemin absolu de l’installation de Caml Light sous Windows doit pour l’instant ne comporter que des caractères latins sans accents ou des espaces,
au moins pour les toplevels Caml Light natifs (i.e. obtenus à l’aide de mingw/msys, indépendants de Cygwin).
Mac OS et Linux, avec chemins à encodage utf-8, ne soulèvent pas tous ces problèmes.
- WinCaml 6.1 (archive WinCaml6-src_1.zip) est muni d’un toplevel camltoplevel64.exe obtenu à partir du PatchCl75_2018_01_29.

21/01/2018: WinCaml 6.1, Patch Graphique OCaml et Patch OCaml
- Patches: correction de l'affichage des titres des fenêtres graphiques sous Windows en cas d’utilisation d’OCaml 4.06.0
- WinCaml 6.1: remplacement dans l’archive WinCaml6-src_1.zip du contenu du dossier caml/ocaml/windows/ocaml64:
-- nouveau miniocaml extrait d’OCaml 4.06.0
-- nouvelle bibliothèque dllgraphics.dll conforme aux Patches précédents
(WinCaml sous forme de code source uniquement pour le moment).

18/01/2018: WinCaml 6.1
Comme pour MacCaml précédemment, même corrections et adaptation à Unicode
Sous forme de code source uniquement pour le moment.
La note du 15/01/2018 sur les applications non signées ne concerne que Mac OS (Sierra et High Sierra): après téléchargement sur Mac, le dossier décompressé
WinCaml6-src_1 devrait se trouver dans le dossier "Téléchargements" ($HOME/Downloads). Entrer dans terminal la commande:
sudo xattr -r -d com.apple.quarantine $HOME/Downloads/WinCaml6-src_1 avant d’essayer de compiler WinCaml.

15/01/2018: MacCaml 5.3 et variante Swift
- Correction d’un problème de coloration syntaxique des constantes chaînes de caractères terminées par \\" et d'un problème d’indentation associé.
- Adaptation à Unicode: modification de la communication avec Caml dans les deux sens; les chaînes de caractères sont transmises à Caml en utf-8 et le reste en Latin1,
et en sortie les séquences d’octets décimaux \xxx sont remplacées par leurs équivalents utf-16 adaptés à l’affichage dans le panneau de sortie
Et si Caml lit un fichier censé représenter du texte (MacRoman, Latin1 ou utf-8) MacCaml essaie de l’afficher correctement.
(cf. les dossiers exemples/Caml Light/unicode et exemples/OCaml/unicode).
Parmi les conséquences sans doute indésirables... mais normales: string_length "é" = 2
Note: (en cas de difficultés d’installation et de mise en œuvre)
- Vérifier (Menu Pomme > Préférences Système... > Sécurité et confidentialité) que vos préférences de sécurité ne vous limitent pas aux applications téléchargées depuis l’App Store.
- MacCaml n’étant pas une application signée, elle sera certainement après téléchargement affublée de l’attribut étendu com.apple.quarantine. Bien qu'il soit possible d'autoriser le lancement de MacCaml après un clic droit sur son icône, ceci peut ne pas suffire pour éviter son lancement avec translocation, ce qui perturbera son fonctionnement (en raison de changements dans les chemins). Une solution est alors de supprimer l’attribut com.apple.quarantine comme suit: Supposons par exemple que le dossier MacCaml ait été placé directement dans le dossier /Applications. Entrer alors dans terminal la commande sudo xattr -r -d com.apple.quarantine /Applications/MacCaml (qui demande le mot de passe administrateur). Il faudra peut-être ensuite se déconnecter et se reconnecter, voire redémarrer pour disposer complètement de MacCaml.

02/01/2018: Patch OCaml.
Cette nouvelle archive patch_oc.zip permet d’utiliser, en plus d’espaces, toute sorte de caractères non-ASCII dans le chemin d'installation
(on peut introduire un chemin ésotérique par copier/coller dans le terminal au moment où le chemin d’installation est demandé).
Ceci devrait fonctionner avec les systèmes suivants:
- MacOS et Linux avec chemins UTF-8
- Windows 10, mais seulement avec OCaml 4.06.0
Remarque concernant OCaml 4.06.0: Pour installer camlp4 utiliser ocamlbuild-0.12.0.tar.gz et camlp4-4.06-1.tar.gz,
et pour installer la libnum utiliser findlib-1.7.3.tar.gz (ou findlib-1.7.1.tar.gz) et num-1.1.tar.gz

suite de l’historique

  • Patches de Caml-Light et OCaml utilisés par MacCaml, WinCaml/WindCaml/WindSCaml, JavaCaml et LinCaml:

    Pour compiler Caml-Light sous OS X, Windows et divers Linux:
    patch caml-light (2018/02/16)     patch caml-light (2018/02/01)     patch caml-light (2018/01/29)
    Patch Caml Light 2017      Patch Caml Light précédent

    Pour compiler OCaml sous OS X, Windows et divers Linux:
    Patch graphique OCaml (modifie les bibliothèques graphiques X11 et Windows d’OCaml et fournit la bibliothèque graphique Cocoa)
    Patch OCaml (modifie les bibliothèques graphiques X11 et Windows d’OCaml, fournit la bibliothèque graphique Cocoa et installe OCaml)
    ancien Patch OCaml
    L'archive cl75unix.tar.gz et les archives ocaml-x.yy.z.tar.gz sont présentes ici : archives caml-light et ocaml



  • MacCaml, pour l’utilisation interactive de Caml-Light et OCaml sous Mac OS X:

    Télécharger la version 5.3 de MacCaml (5,2 Mo)
    pour Lion, Mountain Lion, Mavericks, Yosemite, El Capitan ou Mac OS Sierra sur architecture x86_64
    ou sa variante pour Mavericks 10.9.5, Yosemite, El Capitan ou Sierra (9,3 Mo) fondée sur le langage Swift
    (Pour utiliser OCaml, installer OCaml 4.0x.y à partir de la distribution en code source: ocaml)
    (On pourra utiliser le Patch OCaml)

    En cas d’utilisation de XQuartz et d’absence de /usr/X11, créer un lien symbolique /usr/X11
    vers le répertoire /opt/X11 (ligne de commande: sudo ln -s /opt/X11 /usr/X11)
    pour que la bibliothèque graphique OCaml X11 intégrée à MacCaml fonctionne.
    Supprimer cette dernière (dllgraphics.so) sans créer le lien symbolique si OCaml a été installé à partir du patch ocaml

    Télécharger la version 4.7.2 de MacCaml (5,8 Mo)
    pour Tiger (10.4.11 ppc 32 bits), Leopard (10.5.8 intel 32 bits), Snow Leopard (10.6.8 intel 64 bits)... et Mac OS Sierra
    MacCaml 4.7.2 fonctionne avec ocaml 3.11.0, 3.11.1, 3.11.2, 3.12.0, 3.12.1 ou 4.0x.y:
    (installer de préférence OCaml à partir de la distribution en code source: ocaml)
    (On pourra utiliser le Patch OCaml)

    MacCaml contient des fichiers binaires obtenus à partir des distributions Caml-Light et OCaml pour unix disponibles ici:

    Distributions Caml-Light et OCaml


  • WinCaml pour l’utilisation interactive de Caml-Light et OCaml sous Windows 2000 Pro, XP, Windows 7 ou 8 ou 10:

       Pour installer WinCaml 6 (6.0):
          1. Télécharger et dézipper celle des trois archives suivantes qui paraît le mieux convenir (x86 = 32 bits, x64 = 64 bits)

    Télécharger  WinCaml 6 (win2000)                 WinCaml 6 (x86)                 WinCaml 6 (x64)                

               (ou au choix celle des trois suivantes respectivement équivalentes aux trois précédentes)

    Télécharger  WinCaml 6 (mingw win2000)     WinCaml 6 (mingw x86)     WinCaml 6 (mingw x64)    

               Elle contient l’exécutable WinCaml.exe
          2. Télécharger et dézipper l’archive suivante contenant le dossier WinCaml6

    Télécharger le dossier de WinCaml 6 (7,2 Mo)

          3. Placer ce dossier WinCaml6 où bon vous semble   (ne pas utiliser le dossier WinCaml d’une installation antérieure à sa place)
          4. Placer l’exécutable WinCaml.exe dans ce dossier WinCaml6 au premier niveau

       Les versions 5.8 et 5.9 sont encore disponibles.

    WinCaml inclut des fichiers binaires obtenus à partir des distributions source de Caml-Light et OCaml.
    Le graphisme est emprunté à la distribution OCaml pour Windows.
    La distribution Caml-Light n’est pas nécessaire.
    La distribution OCaml ne devrait pas être nécessaire sur une machine équipée d’un processeur x64 ou amd64.
    Les distributions Caml Light et OCaml sont téléchargeables ici:
    Distributions Caml-Light et OCaml.
    WinCaml dispose à peu près des mêmes fonctions que MacCaml.

    La boucle interactive OCaml 64 bits intégrée peut nécessiter (en cas d’absence de MSVCR100.dll) l’installation du paquet
    Microsoft Visual C++ 2010 redistributable (x64)

    WinOcaml et l’ancien WinCaml sont toujours disponibles: WinOCaml , Ancien WinCaml,
    ainsi que WinCaml 4.5

  • WinCaml pour Windows 64, Debian Gnu Linux 64 (Wheezy ou Jessie ou Stretch) et Mac OS via wxWidgets ou Qt:

    WinCaml pour Windows x64
    WinCaml pour Linux x86_64            WinCaml pour Debian Linux 9.1.0 x86_64
    WinCaml via Qt pour Mac OS (Lion 10.7.5 et suivants)


    La présence à part des bibliothèques wxWidgets et Qt n’est en principe pas nécessaire (lien statique).

    Mise en œuvre de WinCaml pour Linux x86_64 avec tp-algo

    Aperçus de WinCaml pour Linux via wxWidgets sous tp-algo de l’E.N.S. Lyon (cliquer sur la miniature):



    Pour Linux il faudra peut-être rendre exécutables les binaires wincamlinit, WinCamlqt, WinCamlwx et lintoplevel64
    Les binaires WinCamlqt et WinCamlwx peuvent fonctionner avec d’autres distributions Gnu/Linux amd64,
    éventuellement après avoir installé la Libpng12 (WinCaml pour Linux x86_64 seulement)

    Pour Windows installer, en cas d’absence de MSVCR110.dll ou de MSVCP110.dll, le paquet Microsoft Visual C++ 2012 redistributable (x64)

    Pour Mac OS veiller à ce que XQuartz soit installé

  • Code source C++ complet de WinCaml 6, (Windows, Mac OS X et Linux):

    Cette archive contient aussi les éléments constitutifs du dossier de WinCaml 6 pour les trois systèmes
    et des scripts de construction à adapter éventuellement à la ligne de commande de l’environnement de programmation

    Code source C++ de WinCaml 6 (8,1 Mo)

    Code source C++ de WinCaml 6.1 (20 Mo)

    Important: Les toplevels caml-light proposés, notamment lintoplevel32 et lintoplevel64 pour Linux, peuvent ne pas convenir.
    Dans ce cas les remplacer en utilisant le patch caml-light

    Pour OS X, en cas d’utilisation de XQuartz et d’absence de /usr/X11, créer un lien symbolique /usr/X11
    vers le répertoire /opt/X11 (ligne de commande: sudo ln -s /opt/X11 /usr/X11)
    pour que la bibliothèque graphique OCaml X11 intégrée à WinCaml fonctionne.
    Supprimer cette dernière (dllgraphics.so) sans créer le lien symbolique si OCaml a été installé à partir du patch ocaml


  • JavaCaml, pour l’utilisation interactive de Caml-Light et OCaml sous Linux, Mac OS X, ou Windows:

    Télécharger JavaCaml-5.0 (9 Mo)
    JavaCaml inclut des fichiers binaires obtenus à partir de la distribution source de Caml-Light pour unix:
    cette dernière (archive cl75.unix.tar.gz), non indispensable, est disponible ici:
    Distributions Caml-Light et OCaml

    Pour l’installation d’OCaml, voir le fichier A lire joint à JavaCaml
    Sous Mac OS X JavaCaml utilise le serveur graphique Apple X11
    Sous Windows, la boucle interactive OCaml 64 bits intégrée peut nécessiter (en cas d’absence de MSVCR100.dll) l’installation du paquet
    Microsoft Visual C++ 2010 redistributable (x64)
    JavaCaml fonctionne avec la machine virtuelle (jre) d’Oracle en version 5, 6, 7 ou 8

    Important: Les toplevels caml-light proposés, notamment lintoplevel32 et lintoplevel64 pour Linux, peuvent ne pas convenir.
    Dans ce cas les remplacer en utilisant le patch caml-light

    La version 4.9 de JavaCaml est encore disponible:     JavaCaml 4.9 (9 Mo)     Code source de JavaCaml 4.9

    Code source de JavaCaml 5.0 (1,1 Mo)


  • MacCaml est une application Cocoa. WinCaml est dans les versions inférieures à 5 une application MFC (Microsoft Foundation Classes) et dans la version 5 une application Win32/Win64, ou une application Qt ou wxWidgets; assez proche de MacCaml, WinCaml fonctionne sous Windows 2000 professionnel, Windows XP et Windows 7 ou 8 et dans ses versions Qt et wxWidgets sous OS X et Linux. JavaCaml est une application Java Swing apparentée aux précédentes fonctionnant sous Mac OS X, Windows et Linux équipés de la machine virtuelle Java d’Oracle (jre: Java Runtime Environment).



  • Capture d’écran de WinCaml 5.7 sous Debian Wheezy Live (tp-algo E.N.S. Lyon) dans une machine virtuelle Parallels 4 Go sous OS X Yosemite: MacBook Pro Retina 15 pouces 16 Go 1920 x 1200 (cliquer dessus pour obtenir une image plus précise):



  • Capture d’écran de WinCaml 5.7 sous Debian Wheezy Live (tp-algo E.N.S. Lyon) sur PC portable ASUS intel core 2 duo 4 Go 1366 x 768 (cliquer dessus pour obtenir une image plus précise):



  • Captures d’écran de MacCaml 4.4 (cliquer dessus pour obtenir une image plus précise):



  • Capture d’écran de WinCaml 4.3 sous Windows XP (cliquer dessus pour obtenir une image plus précise):



  • Capture d’écran de JavaCaml sous Debian Gnu/Linux avec environnement graphique Gnome (cliquer dessus pour obtenir une image plus précise):



  • Dossier Caml sur les automates finis et langages rationnels:

    Télécharger l’archive AFetLR.zip (215 Ko)