Jean Mouric

professeur de mathématiques à Rennes

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





MacCaml         WinCaml 7.2 pour Windows         WinCaml 7.2 pour Linux, Mac, Windows         Code source de WinCaml 7.2         JavaCaml

Patches et distributions binaires natives Caml Light et OCaml

Anciennes versions de WinCaml



Dernières mises à jour:

05/11/2024: MacCaml 7.1
Rétablissement des bibliothèques graphiques Cocoa intégrées

19/10/2024: WinCaml 7.2
Recompilation pour rétablissement du fonctionnement conjoint du panneau de recherche et du panneau de sortie.
Archives modifiées:
- WinCaml 7.2 pour Windows (les 4 images)
- WinCaml7-WSL : nouvelles images de WinCaml
- WinCaml pour Gnu/Linux amd64 ou arm64: idem
Note : problème possible avec Windows Defender : le signalement, comme grave, de Behavior:Win32/DefenseEvasion.A!ml qui semble par ailleurs connu comme faux-positif.

15/10/2024: WinCaml 7.2
- Correction du fonctionnement du panneau de sortie (le basculement par touche 'retour' entre l’affichage de la première ligne et l’affichage complet d'une commande située à l’endroit où on vient de cliquer dans ce panneau pouvait mener dans de rares circonstances à un crash par débordement de tableau).
- Suppression de l'action analogue par ctrl-clic sur le panneau de sortie.
Archives modifiées:
- Code source de WinCaml 7.2
- WinCaml 7.2 pour Windows (quatre fichiers images)
- WinCaml7-WSL
- WinCaml pour Gnu/Linux amd64 ou arm64

06/10/2024: WinCaml7-WSL
Remplacement des images WinCaml.exe dans les sous-dossiers WinCaml-MGW et WinCaml-MSW (modification du 04/10/2024).
Archive modifiée: WinCaml7-WSL
Par ailleurs les images de WinCaml pour Linux fonctionnent aussi bien avec Debian 12 (bookworm) et Ubuntu 24.04.1 LTS (noble).

04/10/2024: WinCaml 7.2 pour Windows
Modification du fonctionnement du dialogue d’ouverture de fichiers: après chaque démarrage de WinCaml, première ouverture sur le répertoire de WinCaml (pour une meilleure stabilité).
Archives modifiées:
- Code source de WinCaml 7.2
- WinCaml 7.2 pour Windows (quatre fichiers images)

29/09/2024: WinCaml 7.2
- Correction de la modification de la sélection par le clavier (combinaisons de touches "majuscule flèche vers la gauche" et "majuscule flèche vers le haut") avec RichEdit20.dll i.e. sans Scintilla
- Possibiblité d’utiliser avec Scintilla les styles (essentiellement gras et italique) comme c'était déjà le cas avec RichEdit20.dll
Archives modifiées:
- Code source de WinCaml 7.2
- WinCaml 7.2 pour Windows (quatre fichiers images)
- WinCaml7-WSL
- WinCaml pour Gnu/Linux amd64 ou arm64

21/09/2024: MacCaml 7.1 et WinCaml 7.2 : Quelques corrections
- Couleurs syntaxiques après présence d’un \\ en fin de chaîne (MacCaml et WinCaml)
- Dialogue de recherche et remplacement: option 'Remplacer tout' (WinCaml)
- Et les deux images 32 bits proposées sont à nouveau utilisables avec Windows XP
Archives modifiées:
- MacCaml 7.1
- Code source de WinCaml 7.2
- WinCaml 7.2 pour Windows (quatre fichiers images)
- WinCaml7-WSL
- WinCaml pour Gnu/Linux amd64 ou arm64

23/08/2024: Nouvelles distributions binaires OCaml 4.14.2 pour Windows
- L’archive ocamlms-xp-4142.zip contient une distribution 32 bits (x86) obtenue à l’aide des outils de développement natifs de Microsoft, pouvant fonctionner sous Windows XP (sp3);
elle est équipée de la bibliothèque zarith non optimisée fondée sur mpir
- L’archive ocamlmgw-win10-4142.zip contient une distribution 32 bits (x86), obtenue à l’aide des outils de développement msys2/mingw32, (devrait fonctionner sous Windows Vista);
elle est équipée de la bibliothàque zarith fondée sur gmp
- L’archive ocamlms64-win10-4142.zip contient une distribution 64 bits (x64) obtenue l’aide des outils de développement natifs de Microsoft pour Windows 10 et Windows 11;
elle est équipée de la bibliothèque zarith fondée sur mpir.
Chacune de ces distributions devrait pouvoir être utilisée par le dernier WinCaml après avoir déposé son dossier dans la fenêtre de WinCaml.

12/08/2024: Renouvellement du paragraphe WinCaml 7.2 pour Windows
- Abandon de Windows 2000
- 4 nouveaux liens vers des images pour Windows 10 ou 11 de WinCaml obtenues à partir du dernier Code source de WinCaml 7.2

09/08/2024: Distribution binaire OCaml 4.14.2 pour Windows 10 ou 11
Pour l’utilisation de cette distribution avec WinCaml 7.2 du 30/07/2024 l’emplacement du dossier ocamlmgw64 contenu dans l’archive importe peu:
(faire par exemple un glisser-déposer de ce dossier sur la fenêtre de WinCaml).
Une telle distribution peut aussi maintenant être obtenue en utilisant opam 2.2.

07/08/2024: JavaCaml 5.3
Correction des scripts lintop et mactop pour rétablir l’appel des interruptions de Caml-Light et OCaml.
Noter qu’avec OCaml 5 et JavaCaml ou WinCaml utilisés directement sous Windows ces interruptions ne fonctionnent pas correctement (elles stoppent Caml):
on pourra dans ce cas préférer utiliser JavaCaml et WinCaml entièrement dans WSL avec des distributions binaires Caml-Light et OCaml pour Linux.

30/07/2024: WinCaml 7.2 et JavaCaml 5.3
Traitement d’un problème pouvant se présenter en cas de configuration incomplète.
Renouvellement des archives suivantes:
- Code source de WinCaml 7.2
- WinCaml7-WSL
- WinCaml pour Gnu/Linux amd64 ou arm64
- JavaCaml 5.3

27/07/2024:Code source de WinCaml 7.2
Modification de la variable PATH dans le script MinGW/mingw.sh (devrait convenir à davantage d’installations de MSYS2/MINGW64).

26/07/2024: Distribution binaire OCaml 5.2.0 pour Windows 10 ou 11
Remplacement de domainslib à partir du nouvel opam 2.2 pouvant fonctionner sous Windows. Cette domainslib est utilisable avec ocamlopt (mais ceci ne concerne ni WinCaml ni JavaCaml).

24/07/2024: Distribution binaire OCaml 5.2.0 pour Windows 10 ou 11
Le dossier ocamlmgw64 contenu dans l'archive est destiné à C:\ ( i.e. C:\ocamlmgw64) mais peut être placé ailleurs sans modification s’il s’agit de l’utiliser seulement avec le dernier WinCaml.
Il contient la bibliothèque graphique pour Windows (nommée graphics ou graphicx), la bibliothèque numérique zarith et l'ancienne bibliothèque numérique num; et seulement sous forme de bytecode la bibliothèque domainslib empruntée à opam (WSL , Debian 11 amd64)

23/07/2024: WinCaml
Correction d’un appel direct d’OCaml par WinCaml (cas où la distribution OCaml utilisée n’est pas à l’emplacement pour lequel elle a été compilée)
Renouvellement des archives suivantes:
- Code source de WinCaml 7.2
- WinCaml7-WSL
- WinCaml pour Gnu/Linux amd64 ou arm64

22/07/2024: JavaCaml 5.3
Gestion de la coloration syntaxique et de l’indentation des String literals avec quoted-string-id mentionnés dans la documentation d’OCaml (The OCaml language > Lexical conventions).
Archive modifiée : JavaCaml5.3-src.zip

17/07/2024: JavaCaml 5.3
JavaCaml adapté à WSL et opam
Le fichier javacaml.jar contenu dans l'archive JavaCaml5.3-src.zip devrait pouvoir être utilisé aussi bien avec macOS, Windows 10 ou 11 (dans WSL 1 ou 2 ou directement sous Windows) et divers systèmes Gnu/Linux munis d’openJRE (8 ou plus), sinon utiliser openJDK pour le recréer.
Le dossier JavaCaml5.3-src obtenu en développant l’archive pourra être placé dans le dossier personnel puis utilisé en ligne de commande comme suit :
cd JavaCaml5.3-src
DISPLAY=:0 <chemin de java>/java -jar javacaml.jar
    (DISPLAY=:0 pour le graphisme X11)
Vérifier que les différents scripts bash mactop, lintop, camlHelp sont bien exécutables ainsi que caml_all, caml_all.exe (pour Caml Light) et ocamlrun, ocamlrun.exe (pour OCaml)
Adapter camlHelp et indiquer à JavaCaml les emplacements de Caml light et OCaml. On pourra notamment utiliser OCaml 5.2.0 fourni par opam.
Problème rencontré: si JavaCaml paraît figé il se peut qu’un dialogue modal soit passé en arrière plan et momentanément invisible, mais il reste récupérable.
Le dossier de configuration de JavaCaml est le sous-dossier JavaCaml du dossier personnel. On peut réinitialiser JavaCaml en le supprimant.

09/06/2024: MacCaml, WinCaml
Renouvellement des archives suivantes (exemples et exécutables communs)
- MacCaml 7.1
- Code source de WinCaml 7.2
- WinCaml7-WSL
- WinCaml pour Gnu/Linux amd64 ou arm64

02/06/2024: MacCaml 7.1
Mise à jour pour utilisation avec OCaml 5.2.0 placé par opam dans $HOME/.opam/5.2.0 en tant que switch courant
(en cas d’emplacement différent revoir le script MacCaml.app/Contents/Resources/camltoplevel).

01/06/2024: WinCaml 7
Remplacement de l'archive WinCaml7-WSL (en fait remplacement de WinCaml.app pour macOS dans cette archive).
Penser, avant le premier lancement de WinCaml.app, à exécuter dans Terminal la commande :
sudo xattr -r -d -s com.apple.quarantine <chemin absolu du dossier parent de WinCaml.app>

31/05/2024: WinCaml 7
- code source : suppression du menu 'Fichier > Inclure...', ajout d'un menu d'effacement de la liste des fichiers récents, mise à jour pour macOS via Qt
- binaires pour Windows 10 ou 11 (x64), pour Gnu/Linux compatibles Debian 11 Bullseye amd64 ou aarch64, et pour macOS Big Sur ou plus récent.
Nouvelles archives: (remplacent celles du 22/05/2024)
- Code source de WinCaml 7.2
- WinCaml7-WSL (contient les binaires WinCaml pour Windows, Linux et macOS obtenus à partir du code source précédent)

22/05/2024: WinCaml: code source et binaires pour Windows 10 ou 11 (x64) et Gnu/Linux compatibles Debian 11 Bullseye amd64 ou aarch64
WinCaml n'est plus associé a priori aux distributions OCaml ou Caml Light.
En plus du choix par dialogue, le choix des distributions Caml Light et OCaml peut être fait par glisser-déposer de leur dossier depuis l’explorateur de fichiers.
OCaml et Caml Light peuvent être ailleurs sur le réseau ou dans WSL.
Dans une certaine mesure, WinCaml est configuré (pour OCaml en présence de findlib notamment) sans affecter les distributions OCaml ou Caml Light.
En cas de problème, il convient de vérifier à part que les fichiers censés être exécutables le sont effectivement (notamment caml_all pour Caml Light; ocamlrun, ocaml pour OCaml).
Nouvelles archives :
- Code source de WinCaml 7.2
- WinCaml7-WSL (contient les binaires WinCaml pour Windows et Linux obtenus à partir du code source précédent)

07/04/2024: MacCaml 7.1
Si le panneau de sortie ne se rafraîchit pas ou ne défile pas correctement après redimensionnement de la fenêtre (Mac M1 avec macOS Sonoma notamment), quitter MacCaml, afficher le contenu du paquet MacCaml (clic droit sur son icône...), ouvrir le fichier Contents/Info.plist (à l’aide de Xcode ou nano ou TextEdit...), et remplacer la valeur 11 de la clé Minimum system version (alias LSMinimumSystemVersion) par 10.13, et voir ensuite si ça marche normalement.

19/03/2024: WinCaml7-WSL, binaires OCaml 5.1.1 pour Windows 10 ou 11
- WinCaml7-WSL : bibliothèque graphique adaptée à OCaml 5.1.1 pour Windows, modification légère en conséquence des exemples graphiques pour compatibilité (la gestion de la boîte de fermeture de la fenêtre graphique est d'ailleurs inutile avec cette bibliothèque, WSL et donc X11 n'étant pas ici concernés)
- binaires OCaml 5.1.1 pour Windows : Cette distribution peut être utilisée par WinCaml à la place de la distribution Linux dans WSL. Le dossier ocamlmgw64 contenu dans l'archive est destiné à C:\ ( i.e. C:\ocamlmgw64). Il contient la bibliothèque graphique précédente (nommée pour l’occasion graphics ou graphicx), la bibliothèque numérique zarith et l'ancienne bibliothèque numérique num; et seulement sous forme de bytecode la bibliothèque domainslib empruntée à opam (WSL , Ubuntu).
- WinCaml7-WSL (archive modifiée)
- Distributions binaires OCaml 4.14.1 et OCaml 5.1.1 pour Windows 10 ou 11 (nouvelles archives)
Autres mises à jour correspondantes:
- WinCaml pour Gnu/Linux amd64 ou arm64
- patch graphique OCaml (2024/03/17)
- Code source de WinCaml 7.2

13/03/2024: WinCaml: code source et binaires pour Windows et Linux
"Plus aucun lien symbolique ajouté n'est nécessaire dans ou vers le répertoire d’OCaml" était un peu vite dit...
Prise en compte du cas où la Stdlib d'OCaml est placée dans lib64 ou lib64/ocaml plutôt que dans lib ou lib/ocaml (openSUSE Leap et openSUSE Tumbleweed par exemple).
Noter que pour l’instant WinCaml va encore chercher, sauf indication contraire, OCaml dans /usr/local ou /usr, ce qui peut conduire en cas d'échec de lancement d’OCaml à un laconique "Caml a quitté!". Dans ce cas utiliser le menu Caml>Nouvelle distribution... et naviguer de préférence vers le switch opam courant (opam switch show) s'il existe.
Archives modifiées:
- Code source de WinCaml 7.2
- WinCaml7-WSL (pour utilisation de WinCaml avec opam et le Sous-système de Windows pour Linux)
- WinCaml pour Gnu/Linux amd64 ou arm64 (pour utilisation de WinCaml avec opam et Linux)

11/03/2024: WinCaml: code source et binaires pour Windows et Linux
- Meilleure intégration avec OCaml installé par opam: plus aucun lien symbolique ajouté n'est nécessaire dans ou vers le répertoire d’OCaml. En particulier avec WinCaml pour Linux on peut maintenant aller chercher OCaml dans les dossiers cachés; et les lanceurs .desktop, notamment avec Gnome, prennent en compte les emplacements des fichiers bibliothèques.
- Abandon de la bibliothèque graphique adaptée à WinCaml actuelle en raison de quelques problèmes avec Xlib et WSL. WinCaml peut utiliser avec des sources codés latin1 la bibliothèque graphique 5.1.2 fournie par opam (mais avec celle-ci la gestion de la boîte de fermeture de la fenêtre graphique semble scabreuse), et avec des sources codés latin1 ou utf-8 une nouvelle bibliothèque adaptée dérivée de graphics-master (https://github.com/ocaml/graphics) prenant en charge l’utf-8 et permettant une meilleure gestion de la boîte de fermeture de la fenêtre graphique. Pour passer d’une bibliothèque à l’autre il suffit de remplacer #require "graphicx par #require "graphics" et vice-versa dans les sources pour le toplevel OCaml.
- Les exemples graphiques ont été revus et utilisent maintenant, à l’exception d’un seul (dans le dossier "unicode") la bibliothèque graphique 5.1.2 founie par opam. Ils gèrent par des appels à la fonction "wait_next_event" la boîte de fermeture. Leur fonctionnement avec 'graphicx' (avec graphics-master en fait) semble meilleur.
Archives modifiées:
- Code source de WinCaml 7.2
- WinCaml7-WSL (pour utilisation de WinCaml avec opam et le Sous-système de Windows pour Linux)
- WinCaml pour Gnu/Linux amd64 ou arm64 (pour utilisation de WinCaml avec opam et Linux)

06/03/2024: MacCaml 7.1
Application universelle (Intel:x86_64 et Apple silicon:arm64) pour macOS ≥ Big Sur utilisant les mêmes réglages que MacCaml 7.0: le dossier MacCaml de l’archive devrait remplacer le précédent dans le dossier /Applications
- prévue pour fonctionner avec opam : MacCaml 7.1 suppose que la commande opam est installée dans /usr/local/bin ou dans /opt/homebrew/bin et utilise le switch opam courant censé être $HOME/.opam/x.y.z et contenir OCaml x.y.z (sinon adapter le script bash MacCaml.app/Contents/Resources/camltoplevel).
- pourvue d'une nouvelle bibliothèque graphique dérivée de graphics-master (https://github.com/ocaml/graphics) permettant la gestion de la boîte de fermeture de la fenêtre graphique et utilisant le codage utf-8 : cette bibliothèque, fournie aussi sous forme de code source, est réinstallable suivant le contexte (macOS: ≥ Big Sur, architecture: Intel ou Apple Silicon, version d'OCaml ≥ 4.14.1) par scripts bash 'install' sous le nom 'graphicx' dans MacCaml (dans le dossier MacCaml.app/Contents/Resources/ocamlgraph à côté de la bibliothèque graphique cocoa, d’où elle peut être utilisée par #load "graphicx";; ) ou à côté de 'graphics' (dans $HOME/.opam/x.y.z/lib, d’où elle peut être utilisée par #require "graphicx";; au lieu de #require "graphics";;); les exemples graphiques ont été revus
- avec suppression des menus obsolètes Fichier > Inclure,   Aide > Manuel de Camlp4  et  Aide > Tutoriel de Camlp4
- et ajout des menus Aide > Manuel de Graphics,   Aide > Manuel de Zarith (manuels html obtenus en appliquant ocamldoc aux fichiers .mli)
Pas de distribution binaire OCaml en accompagnement ici puisque l'intention est de passer par opam (mais on peut toujours utiliser comme avant OCaml sous /opt en adaptant le script MacCaml.app/Contents/Resources/camltoplevel).
On trouvera en fin de fichier principal Alire de l’archive quelques indications sur l'installation d’opam ( 2.1.5) et OCaml ( 4.14.1).

13/02/2024: WinCaml: code source et binaires pour Windows et Linux.
- Code source de WinCaml 7.2 (quelques simplifications)
- WinCaml7-WSL (devrait permettre par l’intermédiaire de WSL de n’utiliser avec Windows 10 ou 11 que des distributions binaires OCaml compilées pour Linux)
- WinCaml pour Gnu/Linux amd64 ou arm64 (pour Linux fonctionnant avec bureau Gnome notamment)

10/02/2024: Code source de WinCaml et MacCaml:
- WinCaml: Gestion de la coloration syntaxique et de l’indentation des String literals avec quoted-string-id mentionnés dans la documentation d’OCaml (The OCaml language > Lexical conventions). WinCaml peut utiliser OCaml 5 installé de façon standard par Opam (Gnu/Linux , WSL dans Windows 10 ou 11).
- MacCaml: Correction de la gestion des chaînes de caractères (coloration syntaxique et indentation introduites le 21/01/2024).
Archives modifiées:
- Code source de WinCaml 7.2
- MacCaml 7.0 Swift pour Mac M1 (Apple Silicon)
- MacCaml 7.0 ObjC pour Mac M1 (Apple Silicon)
- MacCaml 7.0 Swift pour Mac Intel (x86_64)
- MacCaml 7.0 ObjC pour Mac Intel (x86_64)

21/01/2024: MacCaml 7.0 accompagné de binaires OCaml 4.14.1 et OCaml 5.1.1
- Possibiblité d’utiliser une installation Opam d’OCaml en changeant OCAMLDIR et de passer d’une version à l’autre d’OCaml en modifiant OCAMLVERSION au début du script MacCaml.app/Contents/Resource/camltoplevel (voir aussi le fichier Alire de l’archive pour l’installation)
- Gestion par MacCaml de la coloration syntaxique et de l’indentation des String literals avec quoted-string-id mentionnés dans la documentation d’OCaml (The OCaml language > Lexical conventions).
Archives modifiées:
- MacCaml 7.0 Swift pour Mac M1 (Apple Silicon)
- MacCaml 7.0 ObjC pour Mac M1 (Apple Silicon)
- MacCaml 7.0 Swift pour Mac Intel (x86_64)
- MacCaml 7.0 ObjC pour Mac Intel (x86_64)

suite de l’historique

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

    Pour compiler Caml Light sous Windows avec les outils en ligne de commande de Microsoft:  cl75win
    Pour compiler Caml-Light sous OS X, Windows et divers Linux:
    patch caml-light (2022/08/20)     patch caml-light (2022/01/23)
    patch caml-light (2021/05/23)     patch caml-light (2020/12/22)     patch caml-light (2020/09/30)     patch caml-light (2020/06/19)
    patch caml-light (2020/01/28)     patch caml-light (2019/09/27)     patch caml-light (2019/05/20)     patch caml-light (2018/08/06)
    patch caml-light (2018/06/06)     patch caml-light (2018/05/29)     patch caml-light (2018/05/22)     patch caml-light (2018/02/19)
    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:
    (le patch adapte à WinCaml, MacCaml et JavaCaml les bibliothèques graphiques X11 et Windows d’OCaml,
    fournit la bibliothèque graphique Cocoa de MacCaml et installe OCaml)
    patch OCaml (2023/01/04)
    patch OCaml (2022/09/04)     patch OCaml (2022/08/16)
    patch OCaml (2021/11/10)     patch OCaml (2021/05/05)
    patch OCaml (2020/12/22)     patch OCaml (2020/07/30)     patch OCaml (2020/03/30)
    patch OCaml (2019/11/11)     patch OCaml (2019/08/17)     patch OCaml (2019/07/04)
    patch OCaml (2019/03/16)     patch OCaml (2018/08/01)
    patch OCaml précédent         ancien Patch OCaml

    Pour obtenir à partir d’un OCaml déjà installé des bibliothèques graphiques adaptées à WinCaml, MacCaml ou JavaCaml
    à placer aux endroits prévus dans le répertoire de WinCaml ou JavaCaml, ou dans le bundle MacCaml
    (modifie les bibliothèques graphiques X11 et Windows d’OCaml et fournit la bibliothèque graphique Cocoa)
    patch graphique OCaml (2024/03/17)     patch graphique OCaml (2023/12/03)     patch graphique OCaml (2021/05/05)
    patch graphique OCaml (2020/07/12)     patch graphique OCaml (2020/04/03)     patch graphique OCaml (2019/09/28)
    patch graphique OCaml (2019/07/04)     patch graphique OCaml (2019/03/16)     patch graphique OCaml (2018/07/02)
    ancien patch graphique OCaml

    L'archive cl75unix.tar.gz et les archives ocaml-x.yy.z.tar.gz sont présentes ici : archives caml-light et ocaml


    On pourra, à défaut d’installer directement Caml Light ou OCaml à partir des sources, utiliser les distributions binaires natives suivantes.
    Mais pour une utilisation complète les outils de développement correspondants devraient aussi être installés.

            Binaires Caml Light pour Windows 11 arm64 : camllight_win11_arm64.zip

             Distribution binaire OCaml 4.13.1, pour Windows 10 ou 11, (179 Mo), munie de la bibliothèque numérique Zarith fondée sur MPIR,
             Distribution binaire OCaml 4.14.0, pour Windows 10 ou 11, (184,6 Mo), munie de la bibliothèque numérique Zarith fondée sur MPIR,
            obtenue à l’aide des outils de développement en ligne de commande de Microsoft de 2019
            (utilisable avec les outils de Visual Studio 2015 (vc 14.0) et suivants).

             Distribution binaire OCaml 4.13.1, pour Windows 10 ou 11, (205,5 Mo), munie de la bibliothèque numérique Zarith fondée sur GMP,
             Distribution binaire OCaml 4.14.0, pour Windows 10 ou 11, (211,5 Mo), munie de la bibliothèque numérique Zarith fondée sur GMP,
            obtenue à l’aide des outils de développement en ligne de commande MSY2-MINGW64 (x86_64-w64-mingw32-gcc 7.3.0).
    (fonctionne aussi avec la version 9.2.0 ...)
             Distribution binaire OCaml 5.0.0, pour Windows 10 ou 11, (236 Mo), munie de la bibliothèque numérique Zarith fondée sur GMP,
            obtenue à l’aide des outils de développement en ligne de commande MSY2-MINGW64 (x86_64-w64-mingw32-gcc 12.2.0).
             Distribution binaire OCaml 5.1.0, pour Windows 10 ou 11, (138,4 Mo), munie de la bibliothèque numérique Zarith fondée sur GMP,
            obtenue à l’aide des outils de développement en ligne de commande MSY2-MINGW64 (x86_64-w64-mingw32-gcc 13.2.0).
             Distribution binaire OCaml 4.14.1, pour Windows 10 ou 11, (212,6 Mo), munie de la bibliothèque numérique Zarith fondée sur GMP,
             Distribution binaire OCaml 5.1.1, pour Windows 10 ou 11, (145,1 Mo), munie de la bibliothèque numérique Zarith fondée sur GMP,
             Distribution binaire OCaml 5.2.0, pour Windows 10 ou 11, (154 Mo), munie de la bibliothèque numérique Zarith fondée sur GMP,
            obtenues à l’aide des outils de développement en ligne de commande MSY2-MINGW64 (x86_64-w64-mingw32-gcc 13.2.0).
             Distribution binaire OCaml 4.14.2, pour Windows 10 ou 11, (202,5 Mo), munie de la bibliothèque numérique Zarith fondée sur GMP,
            obtenues à l’aide des outils de développement en ligne de commande MSY2-MINGW64 (x86_64-w64-mingw32-gcc 14.1.0).
            Les dossiers ocamlms64 ou ocamlmgw64 contenus dans ces archives devraient être placés directement sous C:\
            De cette façon findlib devrait fonctionner correctement: par exemple avec le fichier contenu dans puissancesZarith.zip
    Windows 10 devrait être muni des outils de développement en langage C et assembleur correspondants.

    Distribution binaire OCaml 4.13.1 pour GNU/Linux amd64 (184,3 Mo) avec bibliothèque numérique Zarith fondée sur GMP
    Distribution binaire OCaml 4.14.0 pour GNU/Linux amd64 (190,1 Mo) avec bibliothèque numérique Zarith fondée sur GMP
    Placer le répertoire amd64 contenu dans l'archive tel quel sous /opt au premier niveau.
    Cette distribution binaire devrait fonctionner avec toute plateforme GNU/Linux munie de glibc 2.17
    ou plus récente et des outils de développement en langages C et assembleur, mis à part quelques problèmes de PIE
    (Position Independent Executable) contournables en passant -ccopt -no-pie à ocamlopt.
    Elle devrait donc convenir à la plupart des distributions GNU/LINUX actuelles.
    Elle est incompatible, sauf bytecode, avec Debian Wheezy (__secure_getenv remplacé par secure_getenv dans glibc 2.17)

    Distribution binaire OCaml 4.14.0 pour Debian 11 (bullseye) arm64 (203 Mo) avec bibliothèque numérique Zarith fondée sur GMP
    Placer le répertoire arm64 contenu dans l'archive tel quel sous /opt au premier niveau.
    Devrait convenir aux distributions GNU/Linux récentes.
    Distribution binaire OCaml 5.0.0 pour Debian 11 (bullseye) arm64 (221,7 Mo) avec bibliothèque numérique Zarith fondée sur GMP
    Placer le répertoire arm64 contenu dans l'archive tel quel sous /opt au premier niveau.
    Devrait convenir aux distributions GNU/Linux récentes.
    Distribution binaire OCaml 5.0.0 pour Debian 11 (bullseye) amd64 (215,1 Mo) avec bibliothèque numérique Zarith fondée sur GMP
    Placer le répertoire amd64 contenu dans l'archive tel quel sous /opt au premier niveau.
    Devrait convenir aux distributions GNU/Linux récentes.


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

    Important : MacCaml n’étant pas une application signée, elle sera, après téléchargement sous Sierra, High Sierra, Mojave Catalina ..., 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 déplacement, 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 le dossier MacCaml contenant MacCaml.app placé directement dans le dossier /Applications. Entrer alors dans terminal la commande sudo xattr -r -d -s com.apple.quarantine /Applications/MacCaml (qui demande le mot de passe administrateur). Il faudra peut-être aussi jeter le fichier de configuration actuel $HOME/Library/Preferences/com.jmm.MacCaml.plist puis se déconnecter et se reconnecter, voire redémarrer pour disposer complètement de MacCaml.

    Télécharger MacCaml 7.1 (31,9 Mo) (macOS Big Sur ou plus récent)

    Télécharger la version 7.0 de MacCaml 7.0 Swift pour Mac M1 (Apple Silicon) (366,2 Mo) (macOS Big Sur ou plus récent)
    Ne pas oublier, après téléchargement de l’archive, montage et duplication sur le bureau, de sortir le dossier dupliqué
    MacCamlv7.0-swift-M1 de sa mise en quarantaine (comme indiqué ci-dessus).
    Ce dossier contient, en plus de MacCaml, des distributions binaires Caml light et OCaml-5.1.0 complètes
    pour processeur M1 (Apple Silicon arm64) dans le dossier arm64.
    Placer le dossier arm64 directement dans /opt et le dossier MacCaml directement dans /Applications.
    Placer le fichier com.jmm.maccamlxpc.plist dans le sous-dossier LaunchAgents de la bibliothèque personnelle (créer ce dossier s'il est absent).
    Optionnel: Pour le graphisme X11, installer XQuartz-2.8.5
    Plus de détails sur l’installation dans le fichier Alire.txt à la racine du dossier dupliqué MacCamlv7.0-swift-M1

    Télécharger la version 7.0 de MacCaml 7.0 ObjC pour Mac M1 (Apple Silicon) (29,7 Mo) (macOS Big Sur ou plus récent)
    Cet exemplaire de MacCaml peut remplacer celui qui est fourni dans l’archive précédente
    (Télécharger et installer d’abord l’archive précédente)

    Télécharger la version 7.0 de MacCaml 7.0 Swift pour Mac Intel (x86_64) (387,7 Mo) (macOS Big Sur ou plus récent),
    Ne pas oublier, après téléchargement de l’archive, montage et duplication sur le bureau, de sortir le dossier dupliqué
    MacCamlv7.0-swift-intel de sa mise en quarantaine (comme indiqué ci-dessus).
    Ce dossier contient, en plus de MacCaml, des distributions binaires Caml light et OCaml-5.1.0 complètes
    pour processeur Intel (x86_64) dans le dossier amd64.
    Placer le dossier amd64 directement dans /opt et le dossier MacCaml directement dans /Applications.
    Placer le fichier com.jmm.maccamlxpc.plist dans le sous-dossier LaunchAgents de la bibliothèque personnelle (créer ce dossier s'il est absent).
    Optionnel: Pour le graphisme X11, installer XQuartz-2.8.5
    Plus de détails sur l’installation dans le fichier Alire.txt à la racine du dossier dupliqué MacCamlv7.0-swift-intel

    Télécharger la version 7.0 de MacCaml 7.0 ObjC pour Mac Intel (x86_64) (28,8 Mo) (macOS Big Sur ou plus récent)
    Cet exemplaire de MacCaml peut remplacer celui qui est fourni dans l’archive précédente
    (Télécharger et installer d’abord l’archive précédente)

    Télécharger la version 6.0 de MacCaml (14 Mo), ou sa variante Swift (18,6 Mo) fondée sur le langage Swift,
    toutes deux adaptées aux modes clair et sombre de Mojave, pour Mojave, Catalina et Big Sur uniquement (sur architecture x86_64 ou M1 avec Rosetta)
    ou encore MacCamlv5.3 pour Lion, Mountain Lion,... (5,8 Mo)

    Pour utiliser OCaml, on pourra placer le dossier ocaml-4.11.1 contenu dans l’archive ocaml-mac-4111.tar.gz (160 Mo) directement dans /opt
    ou bien
    si on a déjà installé OCaml 4.x.y, par exemple à partir de la distribution en code source: ocaml,
    modifier le début du script bash MacCaml.app/Contents/Resources/camltoplevel pour indiquer à MacCaml l’emplacement d’OCaml
    et si x < 11 opter pour OCaml X11 dans les préférences de MacCaml pour le graphisme X11 d’OCaml qui suppose l’installation de XQuartz

    (Pour compiler et installer OCaml on peut utiliser le patch OCaml qui fournit en plus la bibliothèque graphique Cocoa associée
    à placer dans MacCaml.app/Contents/Resources/ocaml/cocoa, ce qui permet d’éviter X11)

    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 sources officielles Caml-Light et OCaml pour unix disponibles ici:

    Distributions sources officielles Caml-Light et OCaml

            On pourra aussi essayer la distribution binaire OCaml suivante équipée de la bibliothèque numérique Zarith fondée sur gmp:

    distribution binaire ocaml-4.08.1 pour MacOS: El Capitan ... Catalina (183 Mo)
    Placer le contenu de l’archive directement dans /opt
    (utilisable aussi avec WinCaml via Qt pour Mac OS (Lion 10.7.5 et suivants))


  • WinCaml 7.2 pour l’utilisation interactive de Caml-Light et OCaml sous Windows XP, Windows 10 ou 11, utilisable avec WSL:

    WinCaml7-WSL (92,9 Mo)       (Windows 10 ou 11, x64 essentiellement)
    (contient aussi un WinCaml pour macOS Big Sur ou plus récent (intel), alternative à MacCaml)


          Pour installer WinCaml 7.2 (sauf nécessité, choisir plutôt les binaires 64 bits) :
          1. Télécharger et dézipper celle des deux archives suivantes qui paraît le mieux convenir (x86 = 32 bits, x64 = 64 bits)

    Télécharger  WinCaml 7 (x86)                  WinCaml 7 (x64)

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

    Télécharger  WinCaml 7 (mingw x86)      WinCaml 7 (mingw x64)

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

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

    On pourra utiliser 7zip pour décompresser l’archive WinCaml7_2.zip si la décompression par Windows altère les chemins
    (regarder dans les dossiers WinCaml7\exemples\Caml Light\unicode et WinCaml7\exemples\OCaml\unicode)

          3. Placer ce dossier WinCaml7 où bon vous semble, mais accessible en écriture   (ne pas utiliser le dossier WinCaml d’une installation antérieure à sa place)
          4. Placer l’exécutable WinCaml.exe dans ce dossier WinCaml7 au premier niveau
          5. Facultatif : déplacer vers le premier niveau la bibliothèque scintilla64.dll ou scintilla32.dll, selon que WinCaml.exe est 64 ou 32 bits, et la renommer scintilla.dll
          6. Lancer WinCaml.exe puis glisser-déposer sur la fenêtre de WinCaml le dossier d'une distribution OCaml comportant findlib (l’emplacement de ce dossier importe peu).
              On pourra utiliser le dossier contenu dans l’une des archives pour Windows 10 ou 11 suivantes: distributions binaires natives OCaml ou dans l'une des archives suivantes :

               ocaml32.zip (152 Mo)                              ocaml64.zip (152 Mo)                                    (OCaml 4.08.1 32 bits ou 64 bits bytecode)
               ocamlms.zip (160 Mo)                             ocamlms64.zip (160 Mo)                                (OCaml 4.14.0 32 bits ou 64 bits bytecode)
               ocamlms-xp-4142.zip (180 Mo)               ocamlms64-win10-4142.zip (184 Mo)           (OCaml 4.14.2 32 bits ou 64 bits par outils Microsoft, zarith par mpir)
               ocamlmgw-win10-4142.zip (207 Mo)      ocamlmgw64-win10-4142.zip (202,5 Mo)    (OCaml 4.14.2 32 bits ou 64 bits par outils msys2/mingw, zarith par gmp)

    Ces distributions peuvent nécessiter (en cas d’absence de MSVCR100.dll ou de MSVCR110.dll) l’installation d’un des paquets suivants:
    Redistribuable Visual Studio 2010 VC++    ,    Microsoft Visual C++ 2012 redistributable (x64)
    leurs bibliothèques graphiques attendent des fichiers sources codés UTF-8

              On pourra aussi glisser-déposer dans la fenêtre de WinCaml le dossier camllight contenu dans une des deux archives suivantes

    camllight32.zip      camllight64.zip

    Les distributions sources officielles Caml Light et OCaml sont téléchargeables ici:
    Distributions sources officielles Caml-Light et OCaml.

          Les versions 5.8, 5.9, 6.0, 6.1, 7.0, 7.1, et 7.2 (2023) de WinCaml sont encore disponibles.
          WinOcaml et l’ancien WinCaml sont toujours disponibles: WinOCaml , Ancien WinCaml, ainsi que WinCaml 4.5

  • WinCaml 7 (7.2) pour Debian Gnu Linux 11 (Bullseye) et autres distributions GNU/Linux récentes (à partir de 2020) via Qt:

    WinCaml pour GNU/Linux amd64 (29,6 Mo)     WinCaml pour GNU/Linux arm64 (26,7 Mo)
    Devraient convenir aux distributions Debian, Ubuntu, Mint, Kali, Fedora, openSUSE, Mageia et Archlinux
    (cf. fichiers 'Alire' dans l’archive pour plus de détails)

  • WinCaml 7 (7.2) pour Windows 64, Debian Gnu Linux amd64 (Wheezy: 7, Jessie: 8, Stretch: 9, Buster: 10, Bullseye 11) et Mac OS via wxWidgets ou Qt:

    WinCaml pour Windows x64
    WinCaml pour GNU/Linux amd64 : devrait convenir aux installations par défaut des distributions GNU/Linux suivantes:
    Debian Wheezy, Jessie, Stretch, Buster, Bullseye, Ubuntu 16.04 ou 19.04, Mint Cinnamon Serena ou Tina, OpenSuse 42.2 ou 15.1, Mageia 5.1 ou 7.1 ...
    WinCaml via Qt pour Mac OS (Lion 10.7.5 et suivants) (139 Mo)
    La présence à part des bibliothèques wxWidgets et Qt n’est en principe pas nécessaire (lien statique).

    Distribution bytecode Caml Light pour GNU/Linux amd64 (1,8 Mo)
    Distribution bytecode OCaml 4.08.1 pour GNU/Linux amd64 (128 Mo)
    (placer de préférence le dossier contenu dans l'archive dans /opt.)
    Ces distributions bytecode adaptées à WinCaml devraient convenir au moins aux distributions GNU/Linux citées ci-dessus.


    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, WinCaml et lintoplevel64
    WinCaml pour Debian GNU/Linux amd64 peut fonctionner avec d’autres distributions Gnu/Linux amd64 assez récentes.
    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 7, (Windows, Mac OS X et Linux):

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

    Ancien code source C++ de WinCaml 7.2 (2024 03 18) (43,5 Mo)

    Code source C++ de WinCaml 7.2 (53 Mo)

    On pourra utiliser 7zip pour décompresser l’archive WinCaml7.x-src_*.zip si la décompression par Windows altère les chemins
    (regarder dans les dossiers WinCaml7.x-src_*\caml\exemples\Caml Light\unicode et WinCaml7.x_*\caml\exemples\OCaml\unicode)
    et se servir des patches de Caml Light et OCaml pour obtenir des distributions Caml Light et OCaml adaptées à WinCaml.


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

    Préférer les archives zip sous Windows (à ouvrir avec 7-zip) et les archives tar.gz sous Linux et Mac OS (pour préserver les chemins unicodes).

    Télécharger JavaCaml 5.2 (zip)    JavaCaml 5.2 (tar.gz)

    JavaCaml fonctionne avec la machine virtuelle (jre) d’Oracle en version 8
    Pour l’utilisation de Caml Light et OCaml avec JavaCaml, voir les fichiers Alire dans les archives

    Code source de JavaCaml 5.2(zip)    Code source de JavaCaml 5.2 (tar.gz)

    Les versions 4.9 et 5.0 de JavaCaml sont encore disponibles:
        JavaCaml 4.9     Code source de JavaCaml 4.9
        JavaCaml 5.0     Code source de JavaCaml 5.0

    Télécharger JavaCaml 5.3 (zip avec javacaml.jar et code source)


  • 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 ou 10 ou 11 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)


  • Rubik's cubes et leurs groupes de mouvements en Caml Light et OCaml:


    Placer le dossier rubikscubes/interfaces de l'archive dans le dossier de MacCaml ou WinCaml au premier niveau.
    Quelques explications sont jointes dans le fichier Alire.txt et les fichiers mouvements.pdf de l'archive.
    Le dossier rubikscubes/OCaml est une adaptation bon marché à OCaml du dossier rubikscubes/Caml-light.

    Télécharger l’archive rubikscubes.zip (966 Ko)

    L’archive suivante permet d’obtenir à partir de Caml Light des applications autonomes pour Mac OS, Windows et Linux
    (elle contient les applications autonomes pour Mac OS Mojave ou Catalina, pour Windows XP SP2 et pour Windows 10)

    Télécharger l’archive rubikscubes1.zip (8,3 Mo)

  • Mode Sombre de Mojave et MacCaml:


  • WinCaml 7.1 sous Windows 10: