Historique

02/10/2022: Dossier de WinCaml 7
Rétablissement dans les dossiers exemples/Caml Light/unicode/yoyo et exemples/OCaml/unicode/yoyo de fichiers perdus

26/09/2022: Distribution bytecode ocaml 4.14.0 pour Windows XP et WinCaml
- Nouvelles archives ocamlms.zip et ocamlms64.zip contenant libgraph, libnum et libstr
- Changement de Scintilla.dll dans WinCaml7 (x86) et WinCaml7 (mingw x86)

23/09/2022: Dossier de WinCaml 7 et Distributions binaires Ocaml 4.14.0 pour Windows 10 ou 11 x64
- Mise à jour dans le dossier de WinCaml 7 du sous-dossier exemples :
exemples utilisant ocamlopt (nombres de Mersenne, calcul de Pi, Rubik's cube 2x2x2)
- Ajout de mpir.lib (resp. libgmp.a) dans ocamlms64/lib/ocaml/site-lib/zarith (resp. ocamlmgw64/lib/ocaml/site-lib/zarith)

04/09/2022: Patch OCaml pour Windows 10 ou 11 x64 (émulation x64 sous Windows 11 arm64)
Remplacement de patch_oc_2022_08_29 par patch_oc_2022_09_04 (corrections diverses de la bibliothèque graphique intégrée).
On trouvera sur internet les paquets suivants : findlib-1.9.1.tar.gz, num-1.4.tar.gz, ocaml-4.14.0.tar.gz, ocamlbuild-0.14.0.tar.gz
(ou plus récents) à placer directement dans le dossier patch_oc_2022_09_04 .
Sous Windows 10 ou 11 on pourra après avoir installé MSYS2 et l'environnement MINGW64, utiliser le script bash build-mingw
en plaçant la ligne de commande MINGW64 sur le répertoire de ce script (entrer alors ./build-mingw).
(D’une autre façon, si CYGWIN64 est déjà installé, on peut utiliser le script build.bat dans une invite de commande Windows)

31/08/2022: Patch OCaml pour Windows 10 ou 11 x64
Le nouveau patch_oc_2022_08_29 peut être utilisé pour compiler OCaml avec les outils en ligne de commande les plus récents
MSYS2/MINGW64 ou Microsoft Visual Studio 2022, mais reste limité sous Windows 11 arm64 à l’émulation x64.
La bibliothèque graphique intégrée a été revue (en raison de “flexdll error: cannot relocate...” avec MSYS2/MINGW64)

20/08/2022: Caml Light pour Windows 11 arm64
- Nouveau cl75win pouvant utiliser le compilateur C++ de Microsoft Visual Studio 2022 Preview ciblant l'achitecture arm64.
- Nouveau patch caml light (2022/08/20) adapté à l’environnement MSYS2-CLANGARM64
- Distributions binaires Caml Light correspondantes dans camllight_win11_arm64.
MSYS2-CLANGARM64 donne une distribution binaire moins compacte mais plus rapide:
cf. exemple joint cube22.ml avec solutions optimales en nombre de quarts de tour ou demi-tours et quarts de tours.

16/08/2022: patch OCaml (2022/08/16)
Remplace patch_oc_2022_05_06: correction du chemin d'installation d'OCaml sous Windows.

06/05/2022: Distributions binaires Ocaml 4.14.0 pour Windows 10 et GNU/Linux et patch OCaml (2022/05/06)
(patch_oc_2022_05_06 adapté à Windows et ocaml-4.14.0)

04/05/2022: MacCaml version 7 avec OCaml 4.14.0

03/02/2022: WinCaml, Caml Light et OCaml pour GNU/Linux arm64/aarch64 très récents
WinCaml , Caml Light , OCaml pour GNU/Linux arm64/aarch64

02/02/2022: MacCaml versions 6 et 7
Rétablissement de l’action des touches "flèche gauche" et "flèche droite" sur la sélection du panneau d'édition,
action perdue en permettant le changement de couleur de fond de la sélection.
(Concerne les quatre archives MacCamlv7.0... et les deux archives MacCamlv6.0...).

23/01/2022: À propos de Windows 11
Tout ce qui fonctionne ci-dessous sous Windows 10 (x64) paraît fonctionner aussi sous Windows 11 :
directement sous Windows 11 (x64) ou en émulation x64 sous Windows 11 (arm64)
La distribution binaire OCaml 4.13.1 obtenue à partir de MSYS2-MINGW64 est plus rapide.

23/01/2022: Patch Caml Light
Adapté à gcc version 10 et suivantes (suppression des quelques définitions multiples)

19/12/2021: WinCaml pour GNU/Linux amd64 : (via Qt static)
Correction dans les exemples des noms de fichiers UTF-8.
Rappel: les bibliothèques graphiques Caml Light et OCaml adaptées à WinCaml utilisent les polices -misc-fixed-* (nomenclature XLFD).
Mais il peut arriver que celles-ci ne soient pas installées: à défaut de les trouver dans les dépôts de logiciels de la distribution GNU/Linux utilisée
on pourra installer celles qui sont proposées à l’adresse ucs-fonts.html dans l’archive ucs-fonts.tar.gz

06/12/2021: WinCaml 7.2 (GNU/Linux seulement)
- Code source de WinCaml :
Mise à jour du fichier de traduction qt_fr_FR.qm
Mise à jour des lanceurs pour l’intégration à Gnome 3 (utilisables aussi avec KDE et Cinnamon)
Suppression d’une capture de signaux unix inutile dans Qt.cpp
- WinCaml pour GNU/Linux amd64 : (via Qt static)
Recompilé sous Debian Wheezy en présence de libSM (session management)
pour obtenir une gestion convenable de sortie de session quand on a oublié de quitter WinCaml,
WinCaml devrait bien fonctionner avec la plupart des distributions GNU/Linux amd64 courantes...
les bibliothèques partagées requises semblant généralement présentes.
Lanceurs pour Gnome 3 mis à jour.

19/11/2021: WinCaml 7.2 et OCaml 4.13.1
Mise à jour des archives suivantes :
- Code source de WinCaml (correction de l’indenteur pour OCaml)
- 4 binaires natifs de WinCaml pour Windows xp sp3 (x86) et Windows 10 (x64)
- Dossier de WinCaml 7
- WinCaml pour Windows 10 x64 via Qt ou wxWidgets
- WinCaml pour GNU/Linux amd64
- Patch OCaml (2021/11/10) (adapté à OCaml 4.13.1)
- Distributions binaires OCaml 4.13.1 avec bibliothèque numérique Zarith pour Windows 10 x64
- Distribution binaire OCaml 4.13.1 avec bibliothèque numérique Zarith pour GNU/Linux amd64
Retrait des distributions binaires natives antérieures (4.08.1 et 4.12.0)

06/11/2021: MacCaml 7.0 pour Mac M1 (Apple Silicon) et Mac Intel (x86_64)
- MacCaml 7.0 Objc variante Objective C de MacCaml 7.0 Swift (remplacement des NSConnection par les NSXPCConnection,
même menu Fichiers, même fonctionnement des Préférences). MacCaml 7.0 objc et Maccaml 7.0 Swift sont interchangeables
- MacCaml 7.0 Swift : remplacement de l’indenteur pour OCaml
(nouvel indenteur plus proche de ceux de WinCaml et MacCaml Objc avec utilisation de la gestion Swift do-try-catch des erreurs)

26/10/2021: MacCaml 7.0 Swift pour Mac M1 (Apple Silicon) et Mac Intel (x86_64)
- Petite correction de l’indenteur pour OCaml de MacCaml (concerne la syntaxe des modules)
- Remplacement de OCaml-4.12.0 par OCaml-4.13.1
- Zarith - OCaml (dossier exemples) :
-- Utilisation directe du module Z dans le test de Lucas-Lehmer des nombres de Mersenne
-- Ajout d’un exemple OCaml élémentaire de calcul de décimales de π
- Rubik's cubes 3x3x3 (dossier exemples) :
-- possibilité en saisissant (copiant) un cube d’orienter par quarts de tour les centres des faces en cliquant dessus.

23/05/2021: Patch Caml Light 2021/05/23
Remplace celui du 2021/05/05 (quelques corrections graphiques non essentielles du toplevel autonome caml_all_cocoa).
Mises à jour correspondantes de MacCaml 7.0 Swift pour Mac M1 (Apple Silicon) et Mac Intel (x86_64)
(OCaml non concerné).

11/05/2021: MacCaml 7.0 Swift pour Mac M1 (Apple Silicon) et Mac Intel (x86_64)
Modification des fichiers Alire : Pour utiliser X11 installer XQuartz-2.8.1
(Cette dernière version de XQuartz règle les problèmes de polices rencontrés avec XQuartz-2.8.0
et, semble-t-il, le problème sporadique de liaison signalé le 25/01/2021 de la version MacPorts)

06/05/2021: MacCaml 7.0 Swift pour Mac M1 (Apple Silicon) et Mac Intel (x86_64)
Changements mineurs associés en partie à ceux du 05/05/2021

05/05/2021: Patches Caml Light et OCaml
Changements mineurs, pour macOS uniquement: remplacement des trois derniers patches (Caml Light, OCaml et OCaml graphique).

14/04/2021: MacCaml 7.0 Swift pour Mac M1 (Apple Silicon) et Mac Intel (x86_64) et Patch Caml Light 2021/04/14
- Restauration du dossier arm64/camllight de l’archive MacCaml 7.0 Swift pour Mac M1 (erreur du 12/04/2021)
- Modification du traitement par MacCaml des événements MOUSEMOVE pour une synchronisation un peu plus satisfaisante (graphisme Cocoa)
- Remplacement dans le graphisme Cocoa de Caml Light des fonctions (get/set)PixelValue par celles d’OCaml:
l’archive patch caml-light (2021/04/14) remplace la précédente du 03/04/2021

12/04/2021: MacCaml 7.0 Swift pour Mac M1 (Apple Silicon) et Mac Intel (x86_64)
Traitement d’un problème signalé depuis quelque temps par le compilateur (dangling pointer).

04/04/2021: MacCaml 7.0 Swift pour Mac M1 (Apple Silicon) et Mac Intel (x86_64)
Remplacement des sous-dossiers arm64/camllight et amd64/camllight conformément au Patch Caml Light du 03/04/2021
On peut utiliser avec MacCaml le toplevel caml_all_cocoa en remplaçant dans le script MacCaml.app/Contents/Resources/camltoplevel _mac par _cocoa
Le toplevel caml_all_cocoa suit mieux les mouvements du pointeur mais son graphisme lui est propre: ses fenêtres n’appartiennent pas à MacCaml.
Cette mise à jour ne concerne pas OCaml.

03/04/2021: Patch Caml Light
PatchCl75_2021_04_03
remplace de l’archive PatchCl75 du 23/03/2021: renouvellement des sources des bibliothèques graphiques libcamlcocoa.a
et libgraphcocoa.a et du toplevel graphique autonome caml_all_cocoa (suppression des "deprecated NSConnection").
Les NSConnection ne sont plus utilisées que par le toplevel destiné à MacCaml 6 (dans le sous-dossier MAC/cocoaold).

25/03/2021: Distributions binaires amd64/x64 OCaml 4.12.0 avec bibliothèque numérique Zarith pour Gnu/Linux et Windows 10
(en remplacement des distributions 4.11.1).
- pour GNU/Linux: Placer le dossier amd64 contenu dans l'archive directement sous /opt puis indiquer l'emplacement /opt/amd64/ocaml-4.12.0 à WinCaml
(menu Caml->Nouvelle distribution... pour initier la manœuvre).
- pour Windows 10: Placer le dossier ocamlX64 contenu dans l'archive directement sous C:\ puis indiquer l'emplacement C:\ocamlX64\ocaml-4.12.0 à WinCaml
(menu Caml->Nouvelle distribution... pour initier la manœuvre), avec X = ms ou X = mgw au choix.

23/03/2021: MacCaml 7.0 Swift et Patches Caml Light et OCaml
- Remplacement des archives du 18/03/2021 en raison de dysfonctionnements des bibliothèques graphiques libcamlcocoa.a et libgraphcocoa et du toplevel graphique
autonome en ligne de commande caml_all_cocoa : ces trois éléments utilisent encore les "deprecated NSConnection" mais ne concernent pas MacCaml
- Nouveaux patches PatchCl75_2021_03_23 et patch_oc_2021_03_23 produisant à la demande des binaires adaptés à MacCaml 7, mais par ailleurs inchangés.

18/03/2021: MacCaml 7.0 Swift pour Mac M1 (Apple Silicon) et Mac Intel (x86_64)
Remplacement des archives du 13/03/2021:
traitement d’une consommation de mémoire sans limite menant au bout d’un certain temps au crash de MacCaml
(problème léthal ne concernant que l’utilisation des bibliothèques graphiques Cocoa).

13/03/2021: MacCaml 7.0 Swift pour Mac M1 (Apple Silicon) et Mac Intel (x86_64)
Remplacement des archives du 12/03/2021 suite à quelques erreurs de traitement des événements dans les bibliothèques graphiques Caml Cocoa de MacCaml
(cf. boutons "Composer" des Rubiks Cubes dans les exemples)

12/03/2021: MacCaml 7.0 Swift pour Mac M1 (Apple Silicon) et Mac Intel (x86_64)
Cette nouvelle version 7.0 de MacCaml remplace la gestion des "Distributed Objects"
(classe NSConnection déclarée "deprecated") par la technologie "XPC" (classes NSXPCListener, NSXPCConnection, Mach Services...).
Elle est accompagnée de distributions binaires Caml Light et OCaml-4.12.0 adaptées à ce changement qui ne concerne en fait que la
relation entre MacCaml et les bibliothèques graphiques Cocoa.
Cf. le fichier Alire.txt dans l’archive adaptée à votre processeur (M1 ou x86_64) pour l'installation (un peu plus contraignante que les précédentes).
Elle remplace MacCaml 6.0 pour Mac M1.

23/02/2021: MacCaml 6.0 Swift pour Mac M1 (Apple Silicon)
Remplaçement de ocaml-4.12.0~beta2 par ocaml-4.12.0~rc1 dans l’archive MacCamlv6.0-swift-M1.dmg du 07/02/2021

07/02/2021: MacCaml
- MacCaml 6.0 Swift pour Mac M1 (Apple Silicon):
-- Correction des régions sensibles aux clics dans les barres de boutons des fenêtres
-- Augmentation de la fréquence de rafraîchissement des fenêtres des bibliothèques graphiques Cocoa (Caml Light et OCaml).
- MacCaml 6.0 et variante swift pour Mac x86_64:
-- Correction des régions sensibles aux clics dans les barres de boutons des fenêtres.

27/01/2021: MacCaml 6.0 Swift pour Mac M1 (Apple Silicon)
Remplaçement de ocaml-4.12.0~beta1 par ocaml-4.12.0~beta2 dans l’archive MacCamlv6.0-swift-M1.dmg du 25/01/2021
Remarque: En cas d’altération de la liaison avec XQuartz après une mise en veille prolongée, une solution est de quitter et relancer la session.

25/01/2021: MacCaml 6.0 Swift pour Mac M1 (Apple Silicon)
Remplaçement de ocaml-4.12.0~alpha3 par ocaml-4.12.0~beta1 dans l’archive MacCamlv6.0-swift-M1.dmg du 11/01/2021
Remarque: En cas d’altération de la liaison avec XQuartz après une mise en veille prolongée, une solution est de quitter et relancer la session.

11/01/2021: MacCaml 6.0 Swift pour Mac M1 (Apple Silicon)
Distribution plus légère n’utilisant plus Rosetta remplaçant celle du 25/12/2020
Pour pouvoir utiliser la bibliothèque graphique X11, installer XQuartz pour M1 Apple Silicon (arm64) :
une façon de faire, via MacPorts, est décrite dans le fichier Alire.txt de l'archive MacCamlv6.0-swift-M1.dmg

suite de l’historique

25/12/2020: MacCaml 6.0 Swift pour Mac M1 (Apple Silicon)
Remplaçement de ocaml-4.11.1 par ocaml-4.12.0~alpha3 dans l’archive MacCamlv6.0-swift-M1.dmg du 22/12/2020
afin de disposer de ocamlopt sous M1 (même si MacCaml n’utilise pas ocamlopt).

22/12/2020: MacCaml 6.0 Swift pour Mac M1 (Apple Silicon)
- L’archive proposée MacCamlv6.0-swift-M1.dmg contient deux distributions binaires ocaml-4.11.1:
une pour processeur M1 Apple Silicon (arm64) qui utilise le graphisme Cocoa de MacCaml et une pour Rosetta 2 (x86_64) qui utilise le Graphisme X11 (XQuartz).
Elle contient de même deux distributions Caml Light.
- Ajout aux exemples du test de primalité Lucas-Lehmer pour les nombres de Mersenne.
- Nouveaux patches Caml Light et OCaml : patch caml-light (2020/12/22) et patch OCaml (2020/12/22) adaptés à Mac OS 11 (Big Sur) et aux nouveaux Mac M1.
Pour ces derniers des erreurs concernant la bibliothèque graphique X11 dans le patch caml-light sont sciemment ignorées quand le patch n’est pas utilisé sous Rosetta.
Les modifications des patches ne concernent ni Windows ni Linux.

06/12/2020: WinCaml 7.2
- Choix, pour Windows XP et Windows 10, entre les contrôles de texte Scintilla (scintilla.org) et RichEdit.
- Choix, par menu, des couleurs de fond de la sélection et des symboles appariés.
Nouvelles archives:
- Code source C++ de WinCaml 7.2
- les 6 binaires natifs de WinCaml pour Windows (en fait 4 seulement)
- WinCaml pour Windows x64 (via Qt ou wxWidgets)
- WinCaml pour GNU/Linux amd64 (via Qt)
- WinCaml via Qt pour Mac OS (Lion 10.7.5 et suivants)
- le dossier de WinCaml
Retrait de la variante expérimentale du 23/11/2020 devenue inutile.

05/12/2020: Archive rubikscubes.zip
Correction de la sortie pour OCaml (remplacement des include par des #use)

30/11/2020: WinCaml
Correction de la méthode de sélection de la distribution OCaml. (Windows uniquement)
Archives concernées:
- Code source C++ de WinCaml 7.1
- les 6 binaires natifs de WinCaml pour Windows
- WinCaml pour Windows x64 (via Qt ou wxWidgets)
- WinCaml7-sci (Distribution binaire x64 pour Windows 10)

26/11/2020: MacCaml
Correction pour MacOS Big Sur (script camltoplevel du paquet MacCaml.app)
Archives concernées: MacCaml 6.0 et sa variante Swift.
Noter que, sur les Nouveaux Mac avec processeur M1, MacCaml fonctionne pour l’instant sous Rosetta
et qu’avec Big Sur l’affichage de la barre de boutons des fenêtres de MacCaml est un peu dégradé surtout en mode clair.

23/11/2020: WinCaml
Variante expérimentale de WinCaml Natif pour Windows utilisant directement Scintilla.dll (www.Scintilla.org) plutôt que RichEdit20.dll
Résout la limitation du nombre de lignes affichables signalée le 10/11/2020
(Noter que WinCaml via wxWidgets utilise aussi indirectement Scintilla).
Nouvelles archives:
- WinCaml7-sci (Distribution binaire x64 pour Windows 10)
- Code source C++ de WinCaml 7.1

12/11/2020: rubikscubes.zip et rubikscubes1.zip
Remplacement des archives précédentes (simple nettoyage).

10/11/2020: WinCaml
À propos de WinCaml Windows Natif  i.e. sans bibliothèques externes telles que Qt ou wxWidgets:
Le nombre maximum de lignes affichables est 65535 / H où H est la hauteur en points de chaque ligne.
En cas de dépassement, le défilement (ascenseur) vertical ne fonctionne plus correctement.
Diminuer la taille des polices, désactiver le retour à la ligne automatique ou augmenter la largeur des panneaux peuvent alors aider.
WinCaml pour Windows x64 (via Qt ou wxWidgets) et JavaCaml n’ont pas cette limitation.

02/11/2020: WinCaml
Augmentation de la capacité de l'éditeur de WinCaml Windows natif:
- Code source C++ de WinCaml 7.1
- les 6 binaires natifs de WinCaml pour Windows

16/10/2020: rubikscubes.zip et rubikscubes1.zip
Remplacement des archives précédentes (petits changements diffus).

08/10/2020: WinCaml7 via Qt pour Windows x64
Modification de l’aspect de la sélection évitant un désagrément. Archives modifiées:
- Code source C++ de WinCaml 7.1
- WinCaml pour Windows x64 (via Qt)

04/10/2020: rubikscubes.zip et rubikscubes1.zip
Remplacement des archives précédentes (simplification de la gestion des événements).

30/09/2020: Patch Caml Light
Nouvelle archive patch caml-light (2020/09/30) remplaçant celle du 2020/07/12

28/09/2020: Distributions binaires OCaml-4.11.1 pour Mac OS et Linux (x86_64)
Distributions complètes avec libgraph, libnum et libstr et bibliothèque numérique Zarith

27/09/2020: MacCaml et WinCaml
Renouvellement des archives suivantes (correction de l'indenteur pour OCaml):
- MacCaml 6.0 et sa variante Swift
- Code source C++ de WinCaml 7.1
- les 6 binaires natifs de WinCaml pour Windows
- WinCaml pour Windows x64 (via Qt ou wxWidgets)
- WinCaml pour GNU/Linux amd64 (via Qt)
- WinCaml via Qt pour Mac OS (Lion 10.7.5 et suivants)

25/09/2020: rubikscubes.zip et rubikscubes1.zip (remis à jour le 28/09/2020)
- Fonctionnement plus classique des boutons, mais ne convenant pas forcément au mode toucher pour cliquer des pavés tactiles (bibliothèque graphique X11 notamment),
qui devrait alors être évité (risque de blocage de l'application sous Linux)
- Nouveau format de sauvegarde sur disque des mouvements des cubes: format indépendant du système d’exploitation et partagé par Caml Light et OCaml
- Nouvelle programmation de la composition à la souris des mouvements des cubes.

15/09/2020: Distributions binaires OCaml
Remplacement des distributions 4.09 et 4.10 pour Windows 10 par des distributions 4.11.1
Ces distributions binaires sont toutes équipées des anciennes libnum, libgraph et libstr et de la librairie numérique Zarith

12/07/2020: Patches Caml Light et OCaml, code source C++ de WinCaml 7.1 et archive rubikscube1.zip (changements ne concernant que Windows)
- Patches Caml Light et OCaml : Nouvelles archives cl75win, caml-light-cl, patch caml-light (2020/07/12), patch graphique OCaml (2020/07/12), patch OCaml (2020/07/12)
adaptées aux compilateurs Microsoft Visual C++ Community 2019 dans leurs emplacements usuels.
- Code source C++ de WinCaml 7.1: nouvelle archive adaptée aux compilateurs Microsoft Visual C++ Community 2019 dans leurs emplacements usuels.
- rubikscubes1.zip: complément au fichier Alire.txt ne concernant que Windows avec Msys2 ou Cygwin.

19/06/2020: patch caml-light (2020/06/19)
Remplace le patch caml-light du 30/03/2020:
- suppression d'un read non intentionnel dans le script build
- correction du fichier Alire.txt du sous-dossier exemple concernant Windows

14/06/2020: Nouveaux binaires WinCaml
Avec nouveau test de l’encodage des fichiers sources
Archives modifiées:
- les 6 binaires natifs de WinCaml pour Windows
- WinCaml pour Windows x64 (via Qt ou wxWidgets)
- WinCaml pour GNU/Linux amd64 (via Qt)
- WinCaml via Qt pour Mac OS (Lion 10.7.5 et suivants)

11/06/2020: MacCaml 6.0 et code source de WinCaml 7.1
Nouveau test de l'encodage des fichiers sources.
Archives modifiées:
- MacCaml 6.0 et sa variante Swift
- Code source C++ de WinCaml 7.1

25/05/2020: Rubik’s cubes
Nouvelles archives rubikscubes.zip et rubikscubes1.zip:
changement de méthode de réduction du cube 4x4x4 au cube 3x3x3 : gain moyen d'une centaine de quarts de tour
par regroupement des centres plus efficace mais devant précéder l’assemblage des arêtes
(élimine aussi une erreur dans l'assemblage des arêtes: un ';' indésirable dans la fonction modifiée 'deplace_angle').
Ajout dans les archives d'un fichier 'cube44.pdf' donnant quelques explications.

03/04/2020: Patch graphique OCaml et Distributions binaires OCaml 4.10.0 pour Windows 10 :
Nouvelles archives : patch graphique OCaml (2020/04/03), ocamlms64-win10-4100.zip, ocamlmgw64-win10-4100.zip.
La modification du patch graphique OCaml ne concerne que Windows (adaptation à OCaml 4.10.0); l’archive remplace celle du 30/03/2020.

02/04/2020: Rubik’s cubes
Correction de deux erreurs introduites dans l’archive rubikscubes.zip le 30/03/2020 (concerne les rubikscubes 4x4).
Nouvelles archives rubikscubes.zip et rubikscubes1.zip.

30/03/2020: Patches Caml Light et OCaml et archive rubikscube.zip
- Patches Caml Light et OCaml :
Modification mineure de la bibliothèque graphique Windows (peu urgent): ajout d’un délai de 1/10 seconde après l’instruction open_graph.
Raison : si certaines instructions graphiques viennent trop vite après l'appel open_graph, elles peuvent être mal répercutées (incident rare).
Nouvelles archives: cl75win, caml-light-cl, patch caml-light (2020/03/30), patch graphique OCaml (2020/03/30), patch OCaml (2020/03/30).
Pas de nouveaux binaires pour l’instant.
- rubikscubes.zip: Fichiers rassemblés et remaniés pour produire des sorties plus lisibles. Ces sorties sont des sources exécutables ligne par ligne après leur transfert en entrée.

12/03/2020: Distributions binaires OCaml 4.10.0 pour Windows 10 munies de la bibliothèque numérique Zarith
l’une obtenue à l’aide des outils en ligne de commande de Microsoft de 2017, l’autre à partir de Msys2 MINGW (compilateur x86_64-w64-mingw32-gcc 7.3.0)

04/02/2020: Code source de JavaCaml 5.2 et JavaCaml 5.2
- Correction des indenteurs. Choix de l’indenteur lié à celui de Caml Light ou OCaml (suppression du menu 'Options->Utiliser l’indenteur pour OCaml').
- Recherche possible dans les deux panneaux (cliquer sur un panneau, pour le choisir et y positionner le début de la recherche, avant d’utiliser le menu 'Edition->Rechercher...').
Noter que la recherche dans les panneaux se fait par expressions régulières Java (Par exemple: \.\.\. ou \.{3} pour rechercher une séquence de trois points).
- Ajout de l’option Annuler à certains dialogues de sauvegarde.
- Suppression des caractères non-ascii dans les identificateurs de certains exemples.

29/01/2020: JavaCaml 5.1 et Patches Caml Light
- JavaCaml5.1-src : prise en compte d’Unicode UTF-8 (comme pour MacCaml et WinCaml (cf. dossiers exemples/Caml Light/unicode et exemples/OCaml/unicode). Noter cependant que cette nouvelle version de JavaCaml ne permet plus l’utilisation de caractères non-ascii dans les identificateurs Caml Light ou OCaml (ce qui est d’ailleurs la tendance pour OCaml).
- Réencodage de camlmsgs.txt en UTF-8 dans les archives cl75win et patch caml-light (2020-01-28), essentiellement pour JavaCaml 5.1 (utiliser de préférence avec JavaCaml 5.1 une distribution binaire Caml Light obtenue à partir de l’une de ces archives)
- Avec JavaCaml 5.1, préférer une distribution binaire OCaml récente comme celles proposées ci-dessous).

13/12/2019:Distribution binaire OCaml 4.09.0 pour Windows 10
obtenue à partir de Msys2 MINGW (compilateur x86_64-w64-mingw32-gcc 7.3.0)

12/12/2019: WinCaml 7.1 pour Windows
Correction de chemins: archives renouvelées:
- code source C++ de WinCaml
- les 6 binaires natifs de WinCaml pour Windows
- WinCaml pour Windows x64 (via Qt ou wxWidgets)

08/12/2019: MacCaml 6.0 et WinCaml 7.1
Correction de l'indenteur pour OCaml qui comprend maintenant tous les exemples du manuel de OCaml 4.09 (Part I An introduction to OCaml)
Archives renouvelées:
- MacCaml 6.0 et variante Swift
- code source C++ de WinCaml
- les 6 binaires natifs de WinCaml pour Windows
- WinCaml pour Windows x64 (via Qt ou wxWidgets)
- WinCaml pour GNU/Linux amd64
- WinCaml via Qt pour Mac OS (Lion 10.7.5 et suivants)

11/11/2019: Patch OCaml (2019/11/11) (remplace celui du 2019/09/28)
- peut être utilisé avec OCaml 4.09.0 (sans Camlp4)
- permet la compilation Windows native (mingw ou msvc) à partir de Msys2 MINGW au moins sous Windows 10 et pour OCaml 4.06 et suivants
(faire glisser l’icône du script build-mingw sur une fenêtre de terminal Msys2 MINGW et y taper retour)
Pour une nouvelle installation de Msys2 MINGW, suivre les instructions de msys2.org puis compléter cette installation par celles de tar, make et gcc comme suit:
pacman -S tar
pacman -S make
pacman -S mingw-w64-x86_64-gcc
(ou - option msvc - s’assurer de la présence d’une installation standard d’un environnement de développement en ligne de commande Microsoft, cl.exe remplaçant alors gcc)
- pour compiler pour Cygwin, on peut faire glisser l’icône du script build-cygwin sur une fenêtre de terminal Cygwin et y taper retour.
- sinon sous Windows on peut encore, si Cygwin est installé, utiliser dans tous les cas le script build.bat.
- sous Mac ou Linux, faire glisser l’icône du script build, supposé exécutable, sur une fenêtre de terminal (éventuellement administrateur si 'sudo' n’est pas disponible) et y taper retour.

04/11/2019: WinCaml 7.1
permet de choisir librement les couleurs de fond des panneaux d'entrée et de sortie dans chacun des deux modes...
syntaxe à part, le mode clair écrit en noir et le mode sombre écrit en blanc
(nouveaux menus couleurs->Fond en entrée... et couleurs->Fond en sortie...).
Archives renouvelées:
code source C++ de WinCaml
les 6 binaires natifs de WinCaml pour Windows
le dossier de WinCaml 7 pour Windows
WinCaml pour Windows x64 (via Qt ou wxWidgets)
WinCaml via Qt pour Mac OS (Lion 10.7.5 et suivants)
WinCaml pour GNU/Linux amd64

26/10/2019: Distribution binaire OCaml 4.08.1 pour Windows x64 avec bibliothèque numérique Zarith
obtenue à partir de MSYS2 et x86_64-w64-mingw32-gcc 7.3.0.
Pour Windows 10... et peut-être d’autres Windows plus anciens.
Emplacement préféré: C:\ocamlmgw64
Remarque: Zarith (dllzarith.dll) obtenue à partir de cl.exe est utilisable (moins rapide) avec cette distribution MSYS2-mingw64, mais l’inverse n’est pas vrai.

22/10/2019: MacCaml 6.0 et variante Swift et distribution binaire OCaml 4.08.1 pour Mac OS: El Capitan ... Catalina
- Placer les dossiers ocaml-4.08.1 et gmp contenus dans l’archive ocaml_mac_4.08.1.tar.gz directement dans /opt
Cette distribution binaire ocaml-4.08.1 pour Mac OS El Capitan et suivants est équipée de la bibliothèque numérique Zarith fondée sur gmp
- les nouveaux exemplaires de MacCaml devraient l’utiliser sans qu'il y ait rien d’autre à faire.
- WinCaml via Qt pour Mac OS (Lion 10.7.5 et suivants) peut aussi utiliser cette distribution OCaml :
dans le dialogue de navigation vers /opt/ocaml-4.08.1 essayer la combinaison de touches cmd-maj-point si /opt n’apparaît pas.
(on peut alors supprimer le contenu de WinCaml7/ocaml/mac/ocaml64)
- archive Code source C++ de WinCaml : ajout de l'exemple puissancesZarith.oml

16/10/2019: Code source C++ de WinCaml
- Définition des fins de lignes à un caractère près dans le panneau de sortie quand WinCaml est fondé sur Qt
afin d’éviter une longue attente, avec tendance à figer le système, lors de l’affichage de grands nombres:
Ne pas utiliser l’exemple puissancesZarith.oml avec les précédents WinCaml fondés sur Qt.
- Remplacement des binaires concernés et incorporation de Zarith dans:
-- WinCaml pour Windows x64
-- WinCaml pour GNU/Linux amd64
-- WinCaml via Qt pour Mac OS (Lion 10.7.5 et suivants)
avec, dans ce dernier cas, correction de l’ouverture des fichiers par glisser-déposer ou par double clic sur l’icône de WinCaml,
positionnement de DYLD_FALLBACK_LIBRARY_PATH vers un exemplaire de libgmp.dylib (cf. fichier Alire de l’archive)
et inclusion dans l’archive d’une distribution bytecode OCaml 4.08.1 pour Mac OS (Lion 10.7.5 et suivants).

13/10/2019: Distribution binaire Ocaml 4.08.1 pour GNU/Linux amd64 avec bibliothèque numérique Zarith
(cf. chapitre The num library: arbitrary-precision rational arithmetic du manuel d’Ocaml 4.08)
La GNU Multiple Precision Arithmetic Library doit être déjà installée en bibliothèque partagée (libgmp.so.10) car Zarith (dllzarith.so) en dépend.
Cette installation semble être déjà faite pour les distributions GNU/Linux citées un peu plus loin ci-dessous (02/09/2019).

11/10/2019: Distribution binaire Ocaml 4.08.1 pour Windows 10 avec bibliothèque numérique Zarith
(cf. chapitre The num library: arbitrary-precision rational arithmetic du manuel d’Ocaml 4.08)
probablement utilisable avec des versions antérieures de Windows x64 en installant la Mise à jour pour le Runtime C universel dans Windows.

10/10/2019: MacCamlv6.0 pour Mojave et Catalina
Correction d’un problème de la variante swift pouvant empêcher son démarrage notamment sous Catalina.

01/10/2019: Caml Light
Distributions binaires pour Windows: camllight32.zip et camllight64.zip
(Alternatives plus complètes, fondées sur cl75win, à la distribution Caml Light contenue dans le dossier de WinCaml 7).

30/09/2019: Distributions binaires pour Mac OS et GNU/Linux amd64
fondées sur les derniers patches:
- WinCaml via Qt pour Mac OS (Lion 10.7.5 et suivants)
- WinCaml pour GNU/Linux amd64
- distributions bytecode Caml Light et OCaml pour GNU/Linux amd64

28/09/2019: Patch graphique OCaml et Patch OCaml
Unification des sources de la bibliothèque graphique adaptée à MacCaml/WinCaml:
Les deux patches du 27/09/2019 sont remplacés par
patch graphique OCaml (2019/09/28)
patch OCaml (2019/09/28)
avec quelques corrections. Fonctionnement inchangé.

27/09/2019: Patch Caml Light, Patch graphique OCaml et Patch OCaml
Mise à jour de la bibliothèque graphique X11 pour MacCaml/WinCaml :
Les trois derniers patches sont remplacés par
patch caml-light (2019/09/27)
patch graphique OCaml (2019/09/27)
patch OCaml (2019/09/27)
qui corrigent quelques incohérences et restaurent la possibilité de changer de police.

26/09/2019: MacCamlv6.0 et variante Swift (pour Mojave)
- Important: Rétablissement de la lecture normale des fins de lignes CR/LF dans la version objective C de MacCaml : bug exprimé depuis le 16/09/2019 après application à cette version du traitement du bug des fins de lignes CR de la version swift: un break oublié dans une instruction case faisait que ces fins de lignes MacOS 9 anciennes étaient ignorées, ce qui se voyait peu.
- Traitement d’un blocage éventuel du passage automatique à l’instruction suivante.
- Mise à jour des exemples et des binaires caml contenus dans MacCaml conformément aux prochains patches caml.

20/09/2019: Renouvellement d’archives
Synchronisation des binaires et des sources. Archives renouvelées:
patch OCaml (2019/09/20) (remplace le précédent du 2019/09/17)
cl75win
caml-light-cl
ocamlms64.zip
distributions bytecode OCaml pour Windows
distributions bytecode Caml Light et OCaml pour GNU/Linux amd64
code source C++ de WinCaml
dossier de WinCaml 7 pour Windows
les 6 binaires natifs de WinCaml pour Windows
WinCaml pour Windows x64 (via Qt ou wxWidgets)
WinCaml via Qt pour Mac OS (Lion 10.7.5 et suivants)
WinCaml pour GNU/Linux amd64

17/09/2019: Patches OCaml et Caml Light et code source C++ de WinCaml
Renouvellement de
- patch caml-light (2019/09/17)
- patch graphique OCaml (2019/09/17)
- patch OCaml (2019/09/17)
(simple changement de police de caractères par défaut des bibliothèques graphiques pour Windows)
- code source C++ de WinCaml (correction du démarrage différé).

16/09/2019: MacCamlv6.0 et variante Swift (pour Mojave)
Suppression d’un blocage par boucle infinie en présence du caractère CR non suivi de LF, comme dans les (très) anciennes fins de ligne Mac.
Ce bug ne semble avoir pu s’exprimer que dans la variante swift de MacCaml.
Noter que MacCaml remplace ces CR par des LF... pour préserver les fins de lignes des anciens fichiers Mac, utiliser des copies de ces fichiers.

14/09/2019: Patches, distributions binaires Caml Light, OCaml et WinCaml pour GNU/Linux
Nouvelle modification de la bibliothèque graphique X11:
(utilisation de UTF-8, toujours avec les polices -misc-fixed-∗ uniquement, avec pour paramètre de set_text_size la taille en points au lieu précédemment de la taille en pixels)
Il peut arriver que les polices -misc-fixed-∗ soient absentes ou qu’il en manque.
On pourra alors généralement installer ces polices à l’aide du gestionnaire de paquets de la distribution GNU/Linux;
par exemple avec Fedora par la commande: sudo dnf install xorg-x11-fonts-misc
Remplacement des archives suivantes:
- patch caml-light (2019/09/13)
- patch graphique OCaml (2019/09/13)
- patch OCaml (2019/09/13)
- distributions bytecode Caml Light et OCaml pour GNU/Linux amd64
- WinCaml pour GNU/Linux amd64.

13/09/2019: Patches, distributions binaires Caml Light et OCaml pour GNU/Linux
Modification de la bibliothèque graphique X11 (utilisation de UTF-8)
- Remplacement du dernier patch caml-light
- Remplacement du dernier patch graphique OCaml
- Remplacement des trois derniers patch OCaml (juillet, août et septembre 2019) suite à une erreur partagée.
Modification dans celui de septembre de l’installation (lib/ocaml plutôt qu’éventuellement lib64 pour la stdlib).
- Remplacement des distributions bytecode Caml Light et OCaml pour GNU/Linux amd64.

10/09/2019: Petits changements...
Mises à jour
- des trois patches (patch caml-light, patch OCaml, patch graphique OCaml)
- du dossier de WinCaml 7 pour Windows
- du dossier code source C++ de WinCaml (sous-dossier ocaml/exemples)
- de la distribution binaire WinCaml pour GNU/Linux amd64
- de la distribution bytecode OCaml-4.08.1 pour GNU/Linux amd64.
Ces mises à jour concernent l’utilisation de l’encodage UTF-8 dans certains fichiers sources exemples et par la bibliothèque graphique X11.
- Ajout d’une distribution bytecode Caml Light pour GNU/Linux amd64
- Suppression des distributions binaires inutiles de WinCaml pour Debian Stretch et Buster et pour Mageia.

02/09/2019: Distributions binaires pour Debian GNU/Linux Wheezy, Jessie, Stretch et Buster
- Suppression de fichiers cachés inutiles dans les distributions WinCaml 7
- Changement du nom de l’archive contenant la distribution bytecode OCaml
- La distribution WinCaml pour Debian Wheezy ou Jessie peut être utilisée avec Stretch ou Buster,
Ubuntu 16.04 ou 19.04, Mint Cinnamon 18.1 Serena ou 19.2 Tina, OpenSuse 42.2 ou 15.1, Mageia 5.1 ou 7.1 ...
(certaines dépendances peuvent ne pas être satisfaites d’emblée, mais le gestionnaire de paquets de la distribution GNU/Linux permet de les résoudre)
- Ajout d'une distribution utilisable avec Mageia 7.1

29/08/2019: Distributions binaires WinCaml 7 pour Debian GNU/Linux Wheezy, Jessie, Stretch et Buster
Avec ces nouvelles distributions, les imprimantes CUPS vues par le système devraient apparaître dans le dialogue d’impression

25/08/2019: Distributions binaires OCaml et WinCaml 7
- pour Linux:
-- nouveau: distribution bytecode d’OCaml 4.08.1 pour Debian GNU/Linux amd64 (Wheezy, Jessie, Stretch et Buster)
-- distributions binaires WinCaml 7 pour Debian GNU/Linux : suppression des bibliothèques graphiques obsolètes dllgraphics.so dans le sous-dossier ocaml
- pour Windows:
-- nouvelles distributions bytecode d’OCaml 4.08.1 dans les archives ocaml32.zip et ocaml64.zip
-- distribution complète 64 bits ocamlms64.zip d’OCaml 4.08.1

22/08/2019: WinCaml 7: code source C++ et distribution binaire pour Debian 10 (Buster)
Avec révision et installation locale du lanceur pour GNOME 3

19/08/2019: WinCaml 7: code source et binaires
Correction d’une confusion entre couleurs (mode sombre vs mode clair)
Archives modifiées, avec éventuellement mise à jour des exemples:
- les 6 binaires natifs de WinCaml 7 pour Windows
- le code source C++ de WinCaml 7
- les binaires de WinCaml 7 via Qt ou wxWidgets pour Linux, Mac OS et Windows (4 fichiers)


17/08/2019: patch OCaml (2019/08/17) (remplace celui du 08/08/2019)
- Correction de la librarie graphique X11 adaptée à MacCaml et WinCaml (concerne la fonction make_image)
- Prise en compte de OCaml 4.08.1 et Camlp4 4.08.1
- Les chemins d’installation peuvent maintenant comporter des espaces et des caractères non ascii même avec Windows XP
(Avec XP on pourra alors utiliser la police lucida console pour l'invite de commande utilisée par le patch si on souhaite un affichage plus correct)
- Nouvelles archives ocaml64.zip et ocaml32.zip remplaçant les précédentes, contenant le répertoire ocaml d'une distribution bytecode OCaml 4.08.1 pour Windows
(répertoire à placer de préférence directement sous C:\)
- Nouveau dossier de WinCaml 7 (Adaptation des exemples à OCaml 4.08... simplement par ajout de quelques #directory ".";; ici et là).

08/08/2019: patch OCaml (2019/08/08)
Quelques modifications supplémentaires pour pouvoir aussi appliquer sous Windows XP les compilateurs mingw32 fournis par Cygwin aux versions 4.07.0, 4.07.1 et 4.08.0 d’OCaml...
(remplace le patch précédent du 05/08/2019)

05/08/2019: patch OCaml (2019/08/05)
Quelques corrections...

04/08/2019: WinCaml 7.0
- Code source C++ et nouveaux binaires pour Windows, Mac OS et Gnu/Linux
- Mode sombre pour l’affichage des panneaux d’entrée et de sortie, avec choix des couleurs indépendant (ne concerne pas les cadres de fenêtres)
- Quelques corrections de la sauvegarde au format rtf, et impression de fichiers volumineux plus rapide
- Le dossier de WinCaml7 ne comporte plus de version allégée d’OCaml : si WinCaml ne trouve pas OCaml, il demande le chemin complet du répertoire parent des répertoires bin et lib d’une distribution OCaml... on pourra, pour Windows x64, utiliser la distribution bytecode OCaml 4.08.0 proposée ici, à placer de préférence directement telle quelle sous C:\

02/08/2019: MacCamlv6.0 et variante Swift (pour Mojave)
- Ajout d'un menu de sauvegarde des fichiers sources au format rtf ( par exemple remaniables par TextEdit)
- Modification de l'impression, ainsi mieux adaptée à l’éventuelle présence de lignes longues
(mais on peut aussi maintenant imprimer à l’aide d’une application gérant les fichiers rtf comme TextEdit).

04/07/2019: patch graphique OCaml (2019/07/04), patch OCaml (2019/07/04) et code source C++ de WinCaml 6.2
Adaptation à OCaml 4.08.0

24/06/2019: MacCamlv6.0 et variante Swift
- Correction de la fonction de sélection des phrases caml (comportement anormal dans certains copier/coller).
- Réutilisation des attributs temporaires de couleur de fond pour une meilleure fluidité de l’affichage du panneau d'entrée.

10/06/2019: rubikscubes1.zip
Interactive programs must be careful about flushing std_out and std_err at the right time...

07/06/2019: rubikscubes1.zip
Nouveaux fichiers sources Caml Light permettant d’obtenir des applications autonomes pour Mac OS, Windows ou Linux (cf. fichier Alire.txt de l'archive rubikscubes1.zip).
Ces fichiers sources peuvent aussi être utilisés avec MacCaml et WinCaml.
Le sous-dossier Windows10 contient les exécutables pour Windows 10 x64.
Le sous-dossier WindowsXP32 contient les exécutables pour Windows XP x86.
Le sous-dossier Mojave contient les exécutables pour Mac OS Mojave.
Il faudra probablement en permettre l’exécution (cf. 15/04/2019 ci-dessous pour Mac OS et l’attribut com.apple.quarantine).

20/05/2019: patch caml-light (2019/05/20) et cl75win
- patch caml-light fournit dans le répertoire lib/caml-light, après compilation pour Mac OS, un toplevel caml_all_cocoa indépendant graphiquement de MacCaml, et des bibliothèques graphiques supplémentaires nommées libcamlcocoa.a et libgraphcocoa.a permettant d’obtenir des applications autonomes Mac OS. Nécessite la présence des outils en ligne de commande de Xcode.
- cl75win contient dans de répertoire bin des scripts camlc.bat et camlmktop.bat imitant respectivement les scripts bash camlc et camlmktop de cl75unix, ainsi qu’un script console.bat mettant en place un environnement de développement en ligne de commande: Nécessite la présence des outils de développement en ligne de commande de Microsoft de 2008 ou... ou 2017.
Les deux archives contiennent un même exemple fonctionnant aussi avec Linux.

15/04/2019: MacCamlv6.0 et variante Swift
- Nouvelle version 6.0 de MacCaml supportant les modes clair et sombre de Mojave.
Cette version 6.0 de MacCaml ne fonctionne que sous Mojave. Elle dispose de deux profils de couleurs (un pour chaque mode) réglables indépendamment à l’aide des puits de couleurs des préférences. Elle prend aussi en main l’apparence de la sélection, dont la couleur de fond est réglable à l’aide d'un nouveau puits de couleur, ceci afin de préserver dans cette sélection les couleurs syntaxiques en mode sombre.
- Correction des analyseurs lexicaux et des indenteurs (MacCaml 6.0 et MacCaml 5.3 pour Lion et suivants).
- Correction du fonctionnement de la fenêtre graphique de MacCaml associée à la bibliothèque graphique Cocoa de Caml en cas de miniaturisation dans le Dock ou de sortie du Dock (MacCaml 6.0 et MacCaml 5.3 pour Lion et suivants).
Rappel : MacCaml n’étant pas une application signée, elle sera, après téléchargement sous Sierra, High Sierra ou Mojave, 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 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.

14/04/2019: Rubik's cubes et groupe des rotations du cube en Caml Light et OCaml
Petits changements diffus.

13/04/2019: Code source C++ de WinCaml 6.1 :
Correction des analyseurs lexicaux et des indenteurs.

23/03/2019: MacCamlv5.3 et variante Swift
Protection contre le changement de mode d’affichage clair/sombre de la fenêtre graphique de MacCaml destinée à la bibliothèque graphique Cocoa de Caml light et OCaml.

20/03/2019: MacCamlv5.3 et variante Swift
Quelques modifications permettant l’utilisation du Mode sombre de Mojave.
Il faudra cependant effectuer, à l’aide des puits de couleurs des Préférences de MacCaml, quelques ajustements de couleurs (notamment la couleur de fond en entrée et la couleur du tampon d'entrée, par exemple en utilisant le curseur sous la roue des couleurs).

18/03/2019: MacCamlv5.3
Mise à jour des exemples.

17/03/2019: MacCamlv5.3
Nouveaux binaires obtenus à partir des mêmes fichiers sources Objective C recompilés avec Xcode 10.1 sous Mojave.
Ces binaires, compatibles avec Mavericks 10.9.5, sont censés corriger quelques comportements erratiques inoffensifs mais désagréables de l’éditeur apparus semble-t-il avec les dernières versions de Mac OS.
Cet exemplaire Objective C de MacCaml est actuellement préférable à sa variante Swift qui présente quelques instabilités.

16/03/2019 - 1: Rubik's cubes et groupe des rotations du cube en Caml Light et OCaml
16/03/2019 - 2: patch OCaml et patch graphique OCaml (2019/03/16):
- Correction dans la bibliothèque graphique Cocoa d'une confusion entre caml_alloc et alloc (objective C) pouvant occasionner un crash (ne concerne que MacCaml).
- Mise à jour associée de MacCamlv5.3 et ajout des Rubik's cubes aux exemples.
Rappel : MacCaml n’étant pas une application signée, elle sera, après téléchargement sous Sierra, High Sierra ou Mojave, 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 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.

06/03/2019: Code source C++ de WinCaml 6.1 :
Correction de l'ouverture par double-clic des fichiers souces caml dans le cas de WinCaml pour Windows (alternative au glisser-déposer et à l'ouverture par menus).

05/09/2018: ocamlms64 et dossier de WinCaml
- L’archive ocamlms64.zip contient une distribution binaire OCaml-4.07.0 complète pour Windows avec bibliothèque graphique adaptée à WinCaml.
Obtenue à l’aide du patch OCaml 2018/08/01 sous Windows 10 cette distribution binaire conviendra peut-être aussi à Windows 7...
Placer le répertoire ocamlms64 directement sous C: (C:\ocamlms64)
- Le dossier de WinCaml 6 (archive WinCaml.zip) a été légèrement modifié afin de faciliter l’utilisation à partir de WinCaml de la distribution complète précédente.

21/08/2018: Caml Light pour Windows
Nouvelle archive cl75win.zip apportant quelques corrections et simplifications à la précédente du 03/08/2018

06/08/2018: patch Caml Light (2018/08/06):
Remplace le précédent du 16/07/2018 en raison d'une erreur introduite dans runtime/sys.c empêchant la compilation sous Linux et MacOS

03/08/2018: Caml Light pour Windows
Nouvelle archive cl75win.zip censée permettre d’obtenir des binaires compatibles avec Windows XP sp3 à partir des outils en ligne de commande Microsoft jusqu’à 2017 inclus.

01/08/2018: patch OCaml (2018/08/01)
- Corrige le script common (cette correction ne concerne que Mac OS) et le script cygwinbuild
- remplace le patch précédent du 02/07/2018
- peut installer OCaml 4.07.0
(utiliser l’archive ocaml-4.07.0.tar.gz éventuellement accompagnée de findlib-1.8.0.tar.gz, num-1.1.tar.gz, ocamlbuild-0.12.0.tar.gz et camlp4-4.07-1.tar.gz)

31/07/2018: Nouveau : Caml Light pour Windows
L’archive cl75win.zip, dérivée de cl75unix.tar.gz, permet d’obtenir une distribution binaire Caml Light à peu près complète en n’utilisant que les outils en ligne de commande fournis par Microsoft: cl.exe, link.exe, lib.exe... (pas besoin de msys2/mingw): voir le fichier alire.txt contenu dans l’archive pour plus de détails.
Les binaires .exe obtenus sont nettement plus petits mais semblent un peu moins rapides.

17/07/2018: Caml Light
Remplacement des 2 archives du 16/07/2018 en raison d’une erreur importante dans la bibliothèque graphique.

16/07/2018: Caml Light
- patch Caml Light (2018/07/16): remplace celui du 02/07/2018
-- correction pour msys2 du chemin du préprocesseur C cpp
-- correction de la librairie graphique pour Windows concernant l’utilisation d’UTF-8)
- caml-light-cl (nouveau): obtention du toplevel caml_all.exe à partir de cl.exe (Microsoft) au lieu de gcc (msys2/mingw) en supposant les outils libres de développement associés à Visual studio (2008, 2010, 2012, 2013, 2015 ou 2017) installés.
- NOTE concernant le code source C++ de WinCaml 6.1 :
Veiller à ce que les sous-répertoires vides du répertoire caml ne disparaissent pas à la décompression de l’archive WinCaml6_1-src_2018_07_01.zip

02/07/2018: Patches Caml Light et OCaml
1)  patch Caml Light (2018/07/02):
- propose une nouvelle modification de fill_rect dans la bibliothèque graphique pour Windows, de façon à ce qu’elle fournisse le même résultat que sous Linux et MacOS
- lie statiquement camllex.exe à libiconv (Caml Light natif pour Windows, problème d’absence éventuelle de libiconv-2.dll)
- utilise dans le module sys de Caml Light les fonctions unicode de Windows (comme _wsystem() au lieu de system()) pour une meilleure gestion UTF-8 des chemins.
2)  patch grahique OCaml (2018/07/02):
- permet l’utilisation des compilateurs Microsoft Community 2017 et fournit maintenant, en plus de la partie C (dllgraphics.dll pour Windows natif, dllgraphics.so pour Cygwin, Mac et Linux), la partie OCaml de la bibliothèque graphique (fichiers graphics.cmi, graphics.cma...) mais doit pour cela prendre en compte la version d’OCaml ciblée. Tous les fichiers binaires ainsi obtenus sont à placer au premier niveau du sous-répertoire ocaml/windows/ocamlxx (xx=32 ou 64) du répertoire WinCaml6 de WinCaml (pour que WinCaml les utilise au lieu des fichiers correspondants de la distribution OCaml qui lui est assignée).
- modifie la fonction provisoire text_length ajoutée aux bibliothèques graphiques de Caml Light et OCaml, censée fournir le nombre de caractères d’une chaîne UTF-8 valide, de façon à ce qu’elle renvoie Invalid_argument "text_length" si la chaîne passée en paramètre n’est pas interprétable dans l’encodage UTF-8 (cf. fichiers caml/exemples/Caml Light/unicode/yeux noirs gr.ml et caml/exemples/OCaml/unicode/yeux noirs gr.oml de WinCaml6_1-src*).
3)  patch OCaml (2018/07/02):
- devrait pouvoir être utilisé sans restriction avec le compilateur microsoft community 2017
- remplace la bibliothèque graphique conformément à patch_ocgr*
- comporte un script bash supplémentaire nommé cygwinbuild à exécuter directement à partir d’un terminal Cygwin permettant de compiler et installer OCaml pour Cygwin avec un chemin d’installation non ascii.

01/07/2018: WinCaml 6.1 (Code source et binaires pour Windows)
1)  Code source C++ de WinCaml 6.1 :
- corrige un problème de démarrage du toplevel apparu avec ocaml-4.06.1 sous Windows (message rouge laconique de WinCaml “caml a quitté” apparaissant quand on a donné à WinCaml un chemin nouveau correct de distribution OCaml : en fait la ligne de commande utilisée jusqu’ici ne convient pas à OCaml 4.06.1 (problème lié au suffixe .exe))
- corrige un problème de conflit de décodage (Mac Roman vs Latin1) dans le panneau de sortie par abandon de l’encodage Mac Roman à ce niveau : l’affichage par WinCaml d’un fichier texte encodé Mac Roman ouvert par le toplevel ne sera donc plus correct (inconvénient probablement mineur car l’encodage Mac Roman se fait de plus en plus rare)
- revoit le rôle du sous-répertoire ocaml/windows/ocamlxx (xx=32 ou 64) du répertoire WinCaml6 de WinCaml : ce répertoire peut recevoir des librairies masquant éventuellement les librairies éponymes de la distribution OCaml utilisée par WinCaml; elles doivent être accompagnées de leurs fichiers d’interface (sauf si l’interface est la même que celle de la librairie masquée)
- abandonne, côté MinGW, msys pour msys2 (les scripts msys ont été revus pour utilisation avec msy2 sous Windows) et permet, côté Microsoft, l’utilisation des compilateurs Microsoft Community 2017
- ne comporte plus de fichiers binaires Caml Light ou OCaml (si on dispose d’une distribution régulière Caml Light ou OCaml, on peut facilement demander à WinCaml de l’utiliser en donnant son chemin, et sinon on peut aisément en générer une à l’aide des patches (PatchCl75* ou patch_oc*, ... ou patch_ocgr* pour la bibliothèque graphique d’ une distribution OCaml existante) et des archives sources originales de l’inria. On pourra aussi remettre les binaires là où ils étaient, auquel cas WinCaml les utilisera comme avant.
2)  binaires de WinCaml 6.1 pour Windows :
Nouveaux binaires pouvant à nouveau utiliser OCaml 4.06.1 sous Windows à partir du chemin d’une distribution complète (remplacent ceux du 25/03/2018).

06/06/2018: patch caml-light (2018/06/06),   patch graphique OCaml (2018/06/06),   patch OCaml (2018/06/06)
- Patch Caml Light : petites modifications de fill_rect (Mac OS Cocoa et Windows), de draw_text et get_image (Windows)
- Patch graphique OCaml et Patch OCaml : adaptation de la bibliothèque graphique pour Windows à l’encodage UTF-8 (comme pour Caml Light), limitée à OCaml-4.06
en principe.
NOTE: Ces patchs sont essentiellement prévus pour être utilisés avec MacCaml ou WinCaml. Pour les utiliser directement en ligne de commande, se servir d’un terminal
UTF-8 et se limiter, ailleurs que dans les chaînes de caractères (entre guillemets), à l'emploi de caractères ASCII (c'est d’ailleurs devenu la norme pour OCaml).

29/05/2018: Patch Caml Light (PatchCl75_2018_05_29)
Quelques corrections à la bibliothèque graphique pour Windows et à la bibliothèque graphique Cocoa (Mac OS)

22/05/2018: Patch Caml Light (PatchCl75_2018_05_22)
Mise à jour de la bibliothèque graphique de Caml Light pour utilisation avec WinCaml 6.1 : gestion de l'encodage UTF-8 pour rétablir un affichage correct
des caractères non-ASCII. Ajout d’une fonction text_length : string -> int donnant le nombre de caractères d’une chaîne UTF-8. Le fichier graphics.zi a donc changé.
Autres archives modifiés en conséquence :
- binaires de WinCaml 6.1 pour Linux et Mac OS via Qt ou wxWidgets
- le dossier de WinCaml 6
- MacCaml 5.3 et variante Swift

25/03/2018: WinCaml 6.1
- binaires de WinCaml 6.1 et dossier de WinCaml 6.1
- Code source C++ de WinCaml 6.1
- binaires de WinCaml 6.1 pour Linux et M ac OS via Qt ou wxWidgets

23/03/2018: Patch OCaml
Remplace celui du 02/01/2018.
- corrige quelques absences de guillemets doubles compromettant, pour les distributions ocaml récentes, l’installation optionnelle des paquets libnum et camlp4
- fait que l’utilisation des compilateurs Microsoft de 2008 et 2010 produit du code compatible avec les derniers Windows XP, voire les derniers Windows 2000
(on peut ainsi, à partir du compilateur 32 bits de 2008 (resp. de 2010) et de patch_oc installés sur un pc Windows 10, obtenir une distribution binaire ocaml 4.06.1
exécutable sur un pc Windows 2000 professionnel sp4 ou Windows XP sp1 munis de msvcr90.dll (resp. sous Windows XP sp3 muni de msvcr100.dll)
- permet d’utiliser les compilateurs Microsoft Visual Studio 2017 Community
(les compilateurs Microsoft ne sont cependant pris en compte que dans leurs emplacements par défaut: cf. patch_oc\WIN\MSVC\msvc.bat).

19/02/2018: Patch Caml Light (PatchCl75_2018_02_19)
simplifie et remplace celui du 16/02/2018.

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

25/11/2017: Patch OCaml.
Cette nouvelle archive patch_oc.zip peut être utilisée avec OCaml 4.06.0
Elle permet notamment de réintroduire la libnum qui ne fait pas partie de la distribution OCaml-4.06.0.
Elle semble fonctionner, pour ce qui concerne OCaml 4.06.0, avec Linux (assez récent...), Mac OS (Lion: 10.7.5 ou plus récent), Windows XP (sp 3) et Windows10.

06/11/2017: Code source C++ de WinCaml 6binaires de WinCaml 6 pour Mac OS via Qt
- Modification du script WinCaml6-src/Qt/mac/build
- Correction des fichiers WinCaml6-src/sources/Qt/paths.cpp et WinCaml6-src/sources/wx/paths.cpp
(concerne la création du dossier contenant les fichiers de configuration)
- binaires de WinCaml 6 pour Mac OS via Qt (devraient fonctionner avec Lion (10.7.5), Mavericks, Yosemite, El Capitan, Sierra et High Sierra).

05/11/2017: Code source C++ de WinCaml 6binaires de WinCaml 6 pour Mac OS via Qt
- Quelques changements dans les répertoires Qt/lin et Qt/mac (suppression de fichiers cachés parasites .qmake.stash et modification des fichiers build) et dans les fichiers
sources/Qt/paths.cpp et sources/wx/paths.cpp
- binaires de WinCaml 6 pour Mac OS via Qt (devraient fonctionner avec Mavericks, Yosemite, El Capitan, Sierra et High Sierra).

25/10/2017: JavaCaml 5.0 et JavaCaml-src 5.0
JavaCaml 5 s’aligne sur WinCaml 6 : la gestion du tampon d’entrée a été revue et des menus permettent de choisir les distributions Caml Light et OCaml
et d'annuler ces choix. La distribution Caml Light doit contenir dans son sous-répertoire lib/caml-light un toplevel nommé caml_all.
On pourra utiliser des distributions obtenues à l’aide du Patch caml-light et du Patch OCaml.
Le tampon d'entrée de JavaCaml 5 fonctionne comme ceux de MacCaml et WinCaml : dans ce tampon toute sélection étendue est envoyée directement telle quelle
à Caml, alors qu’en cas d’affichage du seul point d’insertion c’est tout le tampon privé des commentaires éventuels qui est envoyé directement.
JavaCaml 5, compilé avec une version 5 (1.5.0_19) de Java, devrait pouvoir être utilisé sur tout système Linux, Mac OS ou Windows (de XP à Windows 10) muni du
java runtime 6, 7 ou 8 d’Oracle. On pourra cependant préférer, pour les systèmes d’exploitation récents, le recompiler avec Java 8 (1.8)

14/10/2017: JavaCaml 4.9
Révision des scripts mactop et lintop et du programme camlWrapper.exe afin de permettre le choix des distributions Caml Light et OCaml.
Pour choisir :
- sous Mac OS ou Linux, modifier les valeurs des variables d’environnement CAMLLIGHTDIR et OCAMLDIR dans les scripts bash mactop ou lintop des répertoires
JavaCaml/caml-light, JavaCaml/ocaml/mac et JavaCaml/ocaml/linux
- sous Windows,
-- pour Caml Light supprimer, déplacer ou renommer le répertoire JavaCaml\caml-light\bin et supprimer s’il existe le fichier %homepath%\JavaCaml\camlbase.txt
-- pour OCaml supprimer, déplacer ou renommer le répertoire JavaCaml\ocaml\windows, vérifier que OCaml n’est installé dans aucun des répertoires
C:\Program Files\Objective Caml, C:\Program Files (x86)\Objective Caml, C:\OCaml, et supprimer s’il existe le fichier %homepath%\JavaCaml\ocamlbase.txt;
camlWrapper.exe demande alors, au prochain lancement de Caml Light ou Ocaml, de naviguer vers le répertoire de la distribution Caml Light ou OCaml souhaitée.
Le program java de fin 2012 (javacaml.jar) reste pour l’instant inchangé. Il fonctionne sur les systèmes les plus récents munis de la machine virtuelle java 8 d’Oracle.
Ne pas utiliser java 9.

06/10/2017: Code source C++ de WinCaml 6binaires de WinCaml 6 pour Linux via Qt et wxWidgets Patch caml-light
- Les modifications du code source C++ de WinCaml ne concernent que Linux et Mac OS (méthode stop() des classes CProcess dérivées de Qt et wxWidgets)
- Les nouveaux binaires de WinCaml pour Linux via Qt et wxWidgets prennent en compte ces modifications, et les deux nouvelles archives corrigent une confusion
entre Windows et Linux (sous-dossier ocaml).
- Le nouveau Patch caml-light permet d’obtenir des binaires Caml Light adaptés à la distribution tp-algo en utilisant la commande ./build tpalgo (utiliser ./build sinon).
Il résout un problème de rafraîchissement des fenêtres graphiques propre aux versions des années 2015 et 2017 de tp-algo.
Ce problème, apparemment lié au traitement par Patch caml-light des interruptions de Caml Light sous Linux, paraît ne se présenter qu’avec tp-algo.
Il n’affecte ni la version 2016 de tp-algo fondée sur Xubuntu 14.04, ni les autres Linux récents.
Windows et Mac OS ne sont pas concernés.

24/09/2017: WinCaml 6 via Qt et wxWidgets pour Debian Gnu Linux 9.1.0 (Stretch)

20/09/2017: WinCaml pour Linux x86_64
Correction du script wincamlinit.

17/09/2017: WinCaml 6.0
- Ajout au menu Caml d’un sous-menu Nouvelle distribution... permettant de choisir la fois suivante une nouvelle distribution Caml Light ou OCaml.
- Ajout au sous-menu Réglages par défaut du menu Aide de dialogues d’annulation des choix courants pour les distributions Caml Light et OCaml.
Il n'est ainsi plus nécessaire de mettre à l’écart les distributions allégées Caml Light ou OCaml jointes à WinCaml pour utiliser une nouvelle distribution.
Toute nouvelle distribution Caml Light doit contenir un toplevel nommé caml_all (caml_all.exe pour Windows) dans son répertoire lib/caml-light.
Et les nouvelles distributions doivent bien-sûr être correctement structurées.
Si la distribution Caml Light utilisée n’a pas été obtenue à l’aide du patch caml-light, éviter de fermer les fenêtres graphiques à l’aide de leur case de fermeture,
sinon crash de caml voire de WinCaml; les fermer en utilisant close_graph(). Ce problème ne devrait pas se poser avec OCaml car WinCaml est pouvu dans
son dossier WinCaml6 d’une bibliothèque graphique pour OCaml (dllgraphics.dll pour Windows, dllgraphics.so pour Mac et Linux). Si cette dernière semble
ne pas convenir à la distribution OCaml en cours il faudra la supprimer... on peut toujours fermer les fenêtres graphiques OCaml avec close_graph(). On pourra
aussi essayer de générer une bibliothèque graphique OCaml adaptée à WinCaml et à la distribution OCaml courante à l’aide du Patch graphique OCaml.
Nouvelles Archives:
- les 6 binaires natifs de WinCaml 6
- le dossier de WinCaml 6
- les binaires de WinCaml 6 via Qt et wxWidgets (WinCaml pour Windows x64, WinCaml pour Linux x86_64).
(avec suppression de WinCaml pour tp-algo devenu inutile: utiliser WinCaml pour Linux x86_64).
- le code source C++ de WinCaml 6

07/09/2017: Patch caml-light
Possibilité d’utiliser MSYS2 / Mingw-w64 en place de MSYS / Mingw.
Faire l’installation standard de MSYS2, puis installer les outils de développement C par la ligne de commande: pacman -S mingw-w64-x86_64-gcc base-devel
puis placer la ligne de commande sur le répertoire de Patch caml-light et entrer: ./build (avec le point). (lignes de commande MSYS2).

04/09/2017: Code source C++ de WinCaml 5 (5.9) (source seulement: pas de nouveaux binaires WinCaml pour l’instant)
Ajout d’un sous-menu Nouvelle distribution... au menu Caml: ce menu permet de choisir une distribution OCaml ou Caml Light correctement structurée (cette dernière devant contenir
dans son sous-répertoire lib/caml-light un toplevel nommé caml_all (caml_all.exe sous Windows) supportant libgraph, libnum et libstr (et libunix sous Mac OS et Linux).

28/08/2017: Patch OCaml
Mise à jour pour OCaml 4.05.0 (utiliser ocaml-4.05.0.tar.gz, éventuellement avec ocamlbuild-0.11.0.tar.gz et camlp4-4.05-1.tar.gz).

26/08/2017: Code source C++ de WinCaml 5 (5.9) (source seulement: pas de nouveaux binaires WinCaml pour l’instant)
- Possibilité de choisir la distribution Caml Light en déplaçant ou renommant ou supprimant le sous-dossier caml-light du dossier WinCaml5 (comme c’était déjà le cas pour OCaml en déplaçant ou renommant ou supprimant le sous-dossier ocaml). Cette distribution est supposée contenir dans son répertoire lib/caml-light un toplevel nommé caml_all supportant libgraph, libnum et libstr.
- Ajout de quelques exemples d’utilisation de camllex, camlyacc, camllibr, camlmktop supposant l’utilisation d’une distribution Caml Light complète telle que fournie par le patch caml-light
(le sous-dossier caml-light ne contient en fait qu’une distribution réduite Caml Light, un peu passe-partout, privée en particulier de camlrun, camllex, camlyacc, camllibr, camlmktop).
Voir ces nouveaux exemples au premier niveau du sous-dossier exemples/Caml Light et dans le sous-dossier exemples/Caml Light/inria/calculette.

24/08/2017: MacCaml (5.2 et variante Swift) et patch caml-light
- Patch caml-light:
-- Transformation des \ en / en sortie de sys__command_line et sys__getenv() sous Windows (sinon problème avec filename__dirname() et filename__basename()).
-- Réintroduction de la séquence normale de démarrage de camlrun, après quelques modifications essentiellement destinées à la prise en compte d’espaces dans les chemins
(concerne les fichiers main.c et sys.c de cl75/scr/runtime, le fichier cl75/config/autoconf et les fichiers de cl75/src/launch).
-- En conséquence, abandon des scripts camllex et camllibr introduits pour Linux, Mac OS et Cygwin le 13/08/2017 et retour aux binaires camllex et camllibr.
-- Ajout sous Windows de l’extension .exe à camllex et camllibr.
- Mac Caml:
Modification de la distribution Caml Light intégrée avec abandon des scripts camllex et camllibr introduits le 13/08/2017 et retour aux binaires camllex et camllibr.

13/08/2017: MacCaml (5.2 et variante Swift) et patch caml-light
- MacCaml:
-- Réorganisation du paquet MacCaml.app avec distribution Caml Light intégrée plus complète permettant notamment l’utilisation des commandes camlc, camllex, camllibr, camlmktop.
-- Possibilité d’utiliser une autre distribution Caml Light par simple modification de la valeur de la variable CAMLLIGHTDIR du script MacCaml.app/Contents/Resources/camltoplevel.
-- Ajout dans exemples/Caml Light des fichiers camllight.ml, camlmktop.ml et du dossier inria/calculette.
(Mais MacCaml n’a pas été recompilé)
- Patch caml-light:
-- Renforcement dans le script build du recours éventuel à la commande sudo.
-- MacOS, Linux et Cygwin: installation de camllex et camllibr sous les noms camllex1 et camllibr1 et utilisation de scripts camllex et camllibr plus faciles à exploiter par le toplevel.

07/08/2017: Patch caml-light
Ce nouveau patch permet, à partir de cl75unix.tar.gz, d’installer directement une distribution caml-light complète dans n'importe quel répertoire autorisé dont le chemin,
hormis les séparateurs, ne comporte que des caractères ascii ou des chiffres décimaux ou des espaces et ajoute dans le sous répertoire lib/caml-light un toplevel nommé
caml_all (caml_all.exe pour Windows, avec en plus caml_all_mac pour Mac OS) supportant libunix (sauf Windows natif), libgraph, libnum et libstr adapté à
MacCaml et WinCaml.

20/07/2017: MacCaml (4.7.2, 5.2 et variante Swift)
Révision du script MacCaml.app/Contents/Resources/camltoplevel.
Modifier éventuellement au début de ce script la ligne OCAMLDIR=/usr/local indiquant l’emplacement d’OCaml.

10/07/2017: Patch OCaml
Quelques corrections relatives au chemin de l’installation avec prise en compte de mesures de sécurité propres aux derniers Mac OS (El Capitan, Sierra...).

07/07/2017: Patch OCaml
Révision des choix proposés par patch_oc avec suppression de l’option à risque de remplacement d’OCaml. patch_oc ne devrait ainsi plus permettre de faire des bêtises.

02/07/2017: Patch OCaml
Utilisation de l’option -no-cfi du script configure d’OCaml pour l’installation complète d’OCaml sous MacOS 10.6.8 (dernier Snow Leopard): utiliser les outils d’Xcode 3.2.6
(ou Xcode 4.2). patch_oc devrait maintenant pouvoir installer complètement OCaml 4.04.2 sous chacune des dernières versions intel de Mac OS (de Leopard 10.5.8 à Sierra 10.12.5).

28/06/2017: Patch OCaml
Choix entre installation bytecode (make world install) et installation complète, avec pour OCaml 4.02 et suivants quelques restrictions:
- l’installation bytecode est la seule proposée sur les anciens Mac PowerPC (erreur d’assembleur ou problème de configuration sinon)
- l’installation complète est la seule proposée pour Cygwin64 en cas d’installation simultanée de camlp4: ne concerne pas les installations Windows native Microsoft et MinGW
(l’installation de camlp4 pour Cygwin64 échoue si on se limite à l’installation bytecode d’OCaml : problème mémoire avec la fonction fork() de Cygwin64).

23/06/2017: Patch OCaml
Résolution du problème suivant: les variables d’environnement CAMLLIB et OCAMLLIB, parfois introduites par une installation antérieure de Caml Light ou OCaml,
pouvaient empêcher l’installation par patch_oc d’ocamlbuild et camlp4 sous Windows.

17/06/2017: Patch OCaml
Anticipation de problèmes contextuels sous divers Linux (Debian, Ubuntu, Mint, CentOS, Fedora, Mageia, Opensuse, Slackware...).

11/06/2017: Note concernant les Binaires WinCaml pour Linux x86_64 compilés pour Debian Gnu/Linux:
Ces binaires fonctionnent aussi avec les versions récentes d’Ubuntu, et avec d’autres Linux (Fedora, Mageia, Suse...) après avoir installé pour ces derniers le paquet libpng12
(éventuellement lib64png12). Le lancement de WinCaml par ligne de commande permet d’observer l’absence éventuelle de libpng12.

25/05/2017: Patch OCaml
Résolution du problème d’erreur de segmentation d’ocamlbuild mentionné ci-dessous (17/05/2017 et 29/04/2017) par simple mise-à-jour dans ce cas vers ocaml-4.04.1 de
ocaml-4.04.0/otherlibs/win32unix. L'installation avec ocaml-4.04.0 de camlp4 à l’aide de ocamlbuild devrait ainsi réussir dans tous les cas.

17/05/2017: Patch OCaml
Rétablissement de l'installation de ocamlbuild et camlp4 dans le cas des installations windows natives (Microsoft et MinGW) d’OCaml à partir de ocaml-4.04.1.tar.gz
(le problème signalé le 07/05/2017 était dû au caractère non exécutable du programme flexlink.exe nouvellement installé).
patch_oc n’a ainsi en principe plus aucun problème avec l’archive ocaml-4.04.1.tar.gz qu’on devrait donc préférer à ocaml-4.04.0.tar.gz d’autant plus que patch_oc produit
avec cette dernière et les compilateurs 64 bits Microsoft un ocamlbuild qui ne fonctionne pas : erreur de segmentation (cf. la note du 29/04/2017 ci-dessous).

07/05/2017: Patch OCaml
- correction d’une erreur majeure introduite le 24/04/2017 (l’installation n’était plus faite, hormis windows, sans espace dans les chemins!)
- correction de patch_oc en rapport avec les modifications du Makefile.nt principal dans ocaml-4.04.1.tar.gz (concerne les installations windows natives: installation de flexdll)
- désactivation de l’installation de ocamlbuild et camlp4 dans le cas des installations windows natives (Microsoft et MinGW) d’OCaml à partir de ocaml-4.04.1.tar.gz
puisqu’actuellement cette installation par patch_oc échoue (ocamlopt.opt, fichiers temporaires, assembleur, flexlink...).

01/05/2017: Patch OCaml
Nouveau patch_oc permettant l'installation de camlp4 dans tous les cas: dans les cas d'échec signalés dans la note du 29/04/2017, il évite l’utilisation d’ocamlbuild
à l’aide d’un script bash reproduisant ce que ocamlbuild est censé faire (ocamlbuild s’installe sans problème apparent mais ne paraît pas fonctionner correctement).
Les avertissements émis sont les mêmes que ceux observés dans une installation réussie par ocamlbuild.

29/04/2017: Note concernant Patch OCaml
L'installation par patch_oc de camlp4-4.04-1.tar.gz avec ocaml-4.04.0.tar.gz et ocamlbuild-0.11.0.tar.gz échoue avec les compilateurs Microsoft 64 bits de 2012, 2013 et 2015...
Mais avec les compilateurs 64 bits Microsoft de 2008 et 2010 ça marche,
ainsi qu’avec les compilateurs 32 bits Microsoft (2008, 2010, 2012, 2013 et 2015) et les compilateurs 32 ou 64 bits Mingw ou Cygwin fournis par Cygwin.
Les versions 4.02 et 4.03 ne présentent apparemment pas ce problème.

24/04/2017: Patch OCaml
Corrections mineures concernant les dialogues.

23/04/2017: Patch OCaml
Apporte quelques corrections et propose en option l’installation de
- ocamlbuild (pour les versions 4.03.0 et 4.04.0 d’OCaml)
- camlp4 (pour les versions d'OCaml postérieures à la 4.01.0)
(Noter que camlp4 est intégré à la distribution source OCaml jusqu’à la version 4.01.0 comprise et ocamlbuild jusqu’aux versions 4.02 comprises
et que l’installation de camlp4 utilise ocamlbuild).

27/03/2017: Code source C++ de WinCaml 5 (5.9)
Correction d’une erreur empêchant le démarrage de Caml Light sous Cygwin en cas d’espaces dans le chemin d’installation de WinCaml.
Remarque à part: on pourra observer quelques échecs des fonctions sys__system_command de Caml Light et Sys.command d’OCaml. Ils paraissent dus à des conflits
temporaires d’allocation mémoire... (fonction system(), échec de fork() de Cygwin ?).

26/03/2017: Patch caml-light, Patch OCaml et Code source C++ de WinCaml 5 (5.9)
Mise à jour ne concernant, comme les deux précédentes, que Cygwin
- Remplacement de l’utilisation de scripts bash pour lancer Caml Light et OCaml par la commande bash -c.
- Récupération des messages de Caml Light en français.

21/03/2017: Patch caml-light et Code source C++ de WinCaml 5 (5.9)
- Les toplevels Caml Light pour Cygwin, tout comme les toplevels OCaml, ne fonctionnent bien qu'en présence de Cygwin. Ce nouveau WinCaml en tient compte de la même façon
que pour OCaml. Il modifie aussi la gestion des scripts bash lançant Caml pour mieux prendre en compte les changements éventuels de distribution Caml.
- Le nouveau patch caml-light construit des toplevels Cygwin (camltoplevel32cygwin.exe ou camltoplevel64cygwin.exe selon qu’on utilise Cygwin ou Cygwin64) adaptés à WinCaml
(même méthode que pour OCaml: adjonction d’un thread).
- WinCaml et Cygwin ou Cygwin64 doivent être sur le même lecteur: plus précisément, si F est la lettre de lecteur, le répertoire de Cygwin (resp. Cygwin64) doit être F:\cygwin
(resp. F:\cygwin64); l'emplacement du répertoire de WinCaml sur ce lecteur est moins important.
- Les toplevels Caml Light Cygwin doivent être obtenus à partir du patch caml-light et placés directement dans le répertoire WinCaml5\caml-light\bin :
WinCaml cherche les toplevels dans l’ordre camltoplevel64cygwin.exe, camltoplevel64.exe, camltoplevel32cygwin.exe, camltoplevel32.exe dans ce répertoire.
Installer Cygwin (resp. Cygwin64) ainsi que les paquets make, patch et gcc-core à l’aide de l'installateur setup-x86.exe (resp. setup-x86_64.exe) de Cygwin.
- Les Toplevels Caml-Light Cygwin sous forme binaire, généralement inadaptés à l'installation courante de Cygwin, ont été retirés de cette page.

14/03/2017: Patch OCaml (patch_oc) et Code source C++ de WinCaml 5 (5.9)
- Correction dans patch_oc d’un problème de format de chemins pouvant empêcher l'exécution du script configure de Cygwin.
- Les autres modifications apportées sont censées résoudre le problème suivant:
Sous Windows WinCaml ne gère pas bien les toplevels OCaml Cygwin, la raison essentielle étant que WinCaml n’est pas une application Cygwin.
Notamment Sys.command ne fonctionne pas et le signal d'interruption se confond avec le signal d’arrêt.
La solution proposée ici consiste à modifier légèrement WinCaml et les binaires OCaml obtenus à l’aide de patch_oc:
-- WinCaml appelle maintenant OCaml par l’intermédiaire de l’application bash.exe de Cygwin, ce qui permet le fonctionnement de Sys.command
(mais alors bash intercepte les deux types de signaux et paraît les confondre...)
-- patch_oc ajoute à OCaml un thread, activé seulement quand OCaml est lancé par WinCaml, par lequel OCaml reçoit les signaux d’interruption et d’arrêt envoyés par WinCaml.
Le dialogue se fait par l’intermédiaire de fichiers temporaires ayant pour nom le pid Windows décimal d'OCaml. (Dans patch_oc répondre o pour oui à la question: Pour WinCaml ?)
Tout ceci ne peut bien fonctionner que si la distribution Cygwin ayant servi à patch_oc pour compiler OCaml et la distribution OCaml obtenue sont présentes sur un seul et même
volume associé à une lettre de lecteur (de préférence la même lettre qu’au moment de la compilation). La présence de Cygwin est donc nécessaire et cygwin1.dll n’est donc plus jointe
à OCaml par patch_oc. D’ailleurs les fichiers temporaires précédemment mentionnés sont pour l’instant créés dans le répertoire de Cygwin.
L'emplacement de WinCaml paraît moins important.

21/02/2017: Patch OCaml, Patch graphique OCaml, Code source C++ de WinCaml 5 (5.9) et binaires pour Windows
- remplacement du patch OCaml du 17/01/2017 avec retour au format d’origine (lib/ocaml) des distributions binaires OCaml Cygwin
- remplacement du patch graphique OCaml du 24/12/2016 prenant en compte les distributions binaires OCaml Cygwin et les compilateurs MinGW distribués par Cygwin
- adaptation de WinCaml aux distributions binaires OCaml Cygwin:
celles qui sont installées par le patch OCaml comportent la bibliothèque graphique, les autres peuvent être complétées par le patch graphique OCaml
(la bibliothèque graphique est dans ce dernier cas placée dans lib/ocaml/WinCaml sans rien changer d’autre).
Les distributions binaires OCaml Cygwin mentionnées ici sont celles qui utilisent la librairie cygwin1.dll (unix sous Windows).

07/02/2017: Code source C++ de WinCaml 5 (5.9) et binaires pour Windows
- Correction d’erreurs de chemins dans les fichiers "Paths.cpp" concernant Windows et OCaml (erreurs parfois responsables de messages “Caml a quitté!”).
- Suppression du Menu "Caml -> Envoyer la sélection" (comme pour MacCaml) : toute sélection étendue incluse dans le tampon d'entrée est envoyée directement à Caml.

06/02/2017: Patch OCaml (remplace celui du 17/01/2017)
Ce patch remplace le précédent en lui ajoutant la possibilité dans le cas de Windows d’utiliser les compilateurs Cygwin récents (liaison à Cygwin1.dll).
Les versions d’OCaml utilisables avec les compilateurs Cygwin vont de la 3.11.0 à la 4.04.0 en 32 bits, mais seulement de la 4.02.2 à la 4.04.0 en 64 bits.
Tout fonctionne à partir d’une commande unique: build pour MacOS et Linux, build.bat pour Windows (voir le fichier ALIRE.txt dans l'archive patch_oc.zip).
La commande build est directement utilisable avec tpalgo de l’ENS LYON car les outils de développements adéquats sont déjà installés.

17/01/2017: Patch OCaml (remplace celui du 09/01/2017)
Permet d’utiliser les compilateurs récents MinGW au lieu des compilateurs Microsoft pour la version 4.00.0 et les suivantes d’OCaml
(compilateurs i686-w64-mingw32-gcc et x86_64-w64-mingw32-gcc obtenus en installant le paquet mingw64-i686-gcc-core de Cygwin)

09/01/2017: Patch OCaml (remplace celui du 02/01/2017)
Comparé au Patch graphique OCaml, ce patch installe ocaml en même temps qu’il fournit les bibliothèques graphiques adaptées à MacCaml et WinCaml:
Ce patch est censé fonctionner à partir de toute archive ocaml-x.yy.z.tar.gz, où x.yy.z va de 3.11.0 à 4.04.0 inclus, en 32 ou 64 bits (cibles world, opt et opt.opt)
- avec Windows XP sp3 ou Windows 10 à l’aide des outils libres de développement Microsoft
- avec Mac OS X (Intel ou Power PC G4)
- avec Linux (Debian Gnu/Linux 8.6)
Le chemin de l’installation peut comporter des espaces (cf. le fichier ALIRE.txt).

02/01/2017: Patch OCaml
Comparé au Patch graphique OCaml, ce patch installe ocaml en même temps qu’il fournit les bibliothèques graphiques adaptées à MacCaml et WinCaml:
- de la version 3.11.0 à la version 4.04.0 pour Windows XP sp3 ou Windows 10 à l’aide des outils libres de développement Microsoft
- de la version 3.11.0 à la version 4.04.0 pour Mac (Intel ou Power PC)
- de la version 3.12.1 à la version 4.04.0 pour Linux (Debian Gnu/Linux), les versions 3.11.x ne fonctionnant qu'en bytecode (make world).
Le chemin de l’installation peut comporter des espaces (cf. le fichier ALIRE.txt).

24/12/2016: Patch graphique OCaml
Ce patch fournit un script bash qui construit (à partir d’une installation déjà faite d'ocaml pour Mac OS X et Linux) les bibliothèques
graphiques dynamiques 32 ou 64 bits utilisées par MacCaml et WinCaml, y compris pour MacCaml la bibliothèque Cocoa.
Il devrait convenir à ocaml-3.11.0 et aux versions suivantes d’ocaml jusqu'à la 4.04.0 incluse pour la plate-forme en cours d’utilisation
(Mac Intel ou Power PC; Linux (Debian Gnu/Linux...), Windows XP sp3, Windows 10).
Pour Windows il utilise les outils libres de développement en ligne de commande de Microsoft.

23/12/2016: Patch Caml Light
Ce patch fournit un script bash qui compile Caml Light pour le système et la plate-forme 32 ou 64 bits en cours d'utilisation
(Mac OS X Intel ou Power PC, Windows Mingw/Msys ou Cygwin, Debian Gnu Linux...), installe les binaires dans un sous-répertoire
sans utiliser ni altérer /usr/local et produit les toplevels utilisés par MacCaml et WinCaml, y compris les toplevels Cocoa de MacCaml.
Le transfert éventuel vers /usr/local ou un autre endroit est ensuite assez simple.

22/12/2016: Code source C++ de WinCaml 5
Correction du fichier sources/wx/Paths.cpp concernant Mac et Linux 32 bits.

09/11/2016: MacCaml 5.2 (les deux variantes), MacCaml 4.7.2 et le patch caml-light
- Révision des scripts camltoplevel (MacCaml.app/Contents/Resources/camltoplevel),
avec meilleure prise en compte de matériels anciens par MacCamlv4.7.2 et MacCamlv5.2
- Modification du patch caml-light concernant les Macs

30/10/2016: MacCaml 5.2 (les deux variantes) et MacCaml 4.7.2
Modification de l’action du menu Caml > Envoyer et suppression du menu Caml > Envoyer la sélection devenu inutile:
Le menu Caml > Envoyer envoie directement à caml la sélection si celle-ci est incluse dans le tampon d’entrée.
Sinon, si le point d'insertion est dans le tampon d’entrée, tout le tampon, débarassé des commentaires éventuels, est envoyé à caml.

24/10/2016: MacCaml 5.2 (les deux variantes) et MacCaml 4.7.2
Correction des indenteurs (suppression d’une erreur potentielle d'allocation d’une chaîne de caractères).

21/10/2016: MacCaml 5.2 (les deux variantes) et MacCaml 4.7.2
- Restriction de l'utilisation du menu Caml > Envoyer la sélection:
cette sélection devra maintenant être incluse dans le tampon d'entrée.
Raison: ce menu ne devrait presque jamais servir...
Pour une application de ce menu, voir le fichier MacCaml/exemples/Caml Light/inria/minicaml/loadall.ml
On utilise en général le menu Caml/Envoyer pour envoyer en file à caml des phrases et les transmettre,
suivies des réponses de caml, au panneau de sortie; le menu Caml/Envoyer envoie directement (i.e. sans utiliser la file)
le contenu entier du tampon d'entrée à caml; les commentaires ne sont pas envoyés.
- Filtrage des blancs en tête du résultat de la commande Caml > Envoyer la sélection.

18/10/2016: MacCaml 4.7.2 remplace MacCaml 4.7.1
- Pour tous les systèmes Mac depuis Mac 0S X Tiger (10.4.11 Powerpc 32 bits) jusqu'à Mac OS Sierra (10.12)
- Colmatage de fuites de mémoire (gestion manuelle objective C retain/release)
- Correction dans les préférences de MacCaml du fonctionnement des puits de couleurs (concerne surtout OS X Lion et suivants)
- Même protocol de communication graphique caml/MacCaml que MacCaml 5.2
- Ajout du menu “Envoyer la sélection”
- Ajout des numéros de pages à l’impression
MacCaml 4.7.2

14/10/2016: MacCaml 5.2 (les deux variantes)
- Colmatage de fuites de mémoire
- Correction dans les préférences de MacCaml du fonctionnement des puits de couleurs
Fichiers modifiés :
- MacCamlv5.2.dmg
- MacCaml-swift-v5.2.dmg

09/10/2016: MacCaml 5.2 (les deux variantes)
- adaptation du code source à Xcode 8 (macOS 10.12 sdk)
- ajout des numéros de pages à l’impression
- fond blanc plutôt que noir à l'ouverture de la fenêtre graphique Cocoa (pour la variante Objective C)
Fichiers modifiés :
- MacCamlv5.2.dmg
- MacCaml-swift-v5.2.dmg

02/10/2016: MacCaml 5.2 (variante Swift uniquement)
Correction de l’impression: devrait maintenant fonctionner comme dans l’autre variante de MacCaml 5.2
Fichier corrigé : MacCaml-swift-v5.2.dmg

11/08/2016: WinCaml5-src
Suppression de guillemets dans le script MinGW/mingw.sh
(guillemets inutiles et apparemment incompatibles avec certaines versions de g++.exe).
Fichier modifié : Code source C++ de WinCaml 5

03/08/2016: MacCaml 5.2 (variante Swift uniquement)
Correction d’une erreur de communication entre MacCaml (Swift) et les toplevels caml avec graphisme cocoa
(cette erreur arrête le toplevel).
Fichier corrigé : MacCaml-swift-v5.2.dmg

01/08/2016: Patch ocaml
Prise en compte du répertoire byterun/caml (version 4.02.2 et ultérieures de ocaml).
(évite des erreurs de compilation : fichiers inclus non trouvés).

06/07/2016: Variante wxWidgets de WinCaml pour Windows :
Recompilation, sans modification des sources, de la variante wxWidgets de WinCaml en utilisant wxWidgets 2.9.5
car les versions 3 de wxWidgets introduisent un comportement indésirable de WinCaml quand on restaure la fenêtre cadre
à partir de sa configuration plein écran (problème sans doute lié à celui signalé le 08/10/2013 (cf. suite de l’historique))
Archive modifiée: WinCaml pour Windows x64

21/06/2016: Archive AFetLR.zip :
- Quelques modifications ou corrections
- Ajout d’une construction directe par la méthode de Brzozovski d’un automate fini déterministe complet reconnaissant
un langage donné par une expression rationnelle.

28/04/2016: Archive AFetLR.zip : Nettoyage.

27/04/2016: Archive AFetLR.zip :
Modification de l'interprétation des automates simples.

19/04/2016: MacCaml 5.2 (variante Swift uniquement)
- Correction de l’affichage du caractère de soulignement (underscore).
- Correction d’une absence possible de rafraîchissement immédiat, lors d'un couper/coller, de la couleur de fond des commandes.
Fichier corrigé : MacCaml-swift-v5.2.dmg

18/04/2016: Archive AFetLR.zip :
Modification de types et ajout à l’archive d'un dossier fondé sur des automates miroirs d'automates de Glushkov
qualifiés pour l’occasion d'automates réduits.

14/04/2016: Archive AFetLR.zip : Correction et complément

12/04/2016: Automates Finis et Langages Rationnels
- Remplacement du Notebook Mathematica sur les Automates Finis et Langages Rationnels
par l'archive AFetLR.zip (dossier traitant du même sujet en utilisant le langage Caml)

11/04/2016: MacCaml 5.2 (variante Swift uniquement)
- Correction de la recherche de texte dans le panneau d’entrée
Fichier corrigé : MacCaml-swift-v5.2.dmg

11/04/2016: Suppression de l'application obsolète MacWin et du notebook Mathematica AFetLR.nb

20/03/2016: MacCaml 5.2 et variante Swift
Correction de la recherche de texte dans le panneau de sortie
(problème posé par la modification du texte quand le panneau de recherche y est actif).
Fichiers corrigés : MacCamlv5.2.dmg, MacCaml-swift-v5.2.dmg

15/03/2016: MacCaml 5.2 et variante Swift
Rétablissement de la mise en surbrillance des délimiteurs appariés (perdue depuis la version 5.1).
Fichiers corrigés : MacCamlv5.2.dmg et MacCaml-swift-v5.2.dmg

08/03/2016: MacCaml 5.2
Correction d'une faute importante, introduite dans l'analyseur lexical de l'éditeur de la version 5.1 le 30/09/2014,
pouvant rendre cet éditeur inutilisable après qu'on a coupé du texte.
La version 4.7.1 et la variante Swift de MacCaml ne sont pas affectées.
Fichier corrigé : MacCamlv5.2.dmg

08/10/15: MacCaml 5.2 et sa variante Swift
- Correction du script camltoplevel (dans MacCaml.app/Contents/Resources) pour OS X El Capitan

13/09/15: MacCaml 5.2 et sa variante Swift fonctionnent sans changement avec OS X El Capitan
- Ajout aux exemples du fichier int64_io.ml illustrant brièvement le dernier Patch de Caml Light (cf. 08/09/15)
- Révision de l’archive WinCaml5_wx_qt_win_x64.zip
Archives modifiées:
- MacCaml (versions 4.7.1 et 5.2)
- le dossier de WinCaml 5
- les binaires de WinCaml 5 via Qt et wxWidgets
- le code source C++ de WinCaml 5
- JavaCaml (JavaCaml v4.9)

12/09/15: Variante Swift de MacCaml pour Yosemite et Mavericks 10.9.5
Variante remise en ligne après correction des problèmes de corruption de fichiers.

11/09/15: Mise à jour des toplevels Caml Light à partir du dernier patch
Archives modifiées:
- MacCaml (versions 4.7.1 et 5.2)
- le dossier de WinCaml 5
- les binaires de WinCaml 5 via Qt et wxWidgets (WinCaml pour Linux x86_64 seulement)
- le code source C++ de WinCaml 5
- JavaCaml (JavaCaml v4.9)
Retrait de la variante Swift de MacCaml en raison d’un problème lié à la sauvegarde automatique.

08/09/15: Patch de Caml Light
- Modification, pour les machines 64 bits, des fonctions output_value et input_value afin qu’elles enregistrent et restituent correctement les int au-delà de 32 bits.
- Introduction, pour les machines 64 bits, de deux nouvelles fonctions: output_binary_int64 et input_binary_int64 fonctionnant comme output_binary_int et
input_binary_int, mais traitant correctement les int 64 bits alors que ces dernières, employées par le système caml-light, sont limitées aux int 32 bits.
Remarques:
- Les modifications ne sont utiles que pour les systèmes 64 bits.
- Pour utiliser ce patch, il convient au moins de remplacer le fichier WinCaml5/caml-light/lib/io.zi (resp. MacCaml.app/Contents/Resources/caml-light/io.zi)
par le nouveau fichier /usr/local/lib/caml-light/io.zi.
Archive modifiée: patch caml-light

23/08/15: Patch de Caml Light
Poursuite du contrôle des types pour une compilation sans avertissements ou presque.
Archive modifiée: patch caml-light

11/08/15:
- WinCaml5 fonctionne sous Windows 10
- Patch de Caml Light:
Remplacement des types entiers long et unsigned long par les types intptr_t et uintptr_t qui ont même taille que les pointeurs (utilisation de stdint.h et inttypes.h)
Archive modifiée: patch caml-light

23/06/15: WinCaml 5.8
Ajout au menu Caml d"un sous-menu Envoyer la sélection permettant d’envoyer directement à Caml tout texte sélectionné dans le panneau d’entrée de la fenêtre courante.
Ce sous-menu, normalement à usage occasionnel, permet notamment d’utiliser l’exemple minicaml à partir de WinCaml.
Archives modifiées:
- les 6 binaires natifs de WinCaml 5
- le dossier de WinCaml 5
- les binaires de WinCaml 5 via Qt et wxWidgets (WinCaml pour Windows x64, WinCaml pour Linux x86_64, WinCaml pour tp-algo)
- le code source C++ de WinCaml 5

21/06/15: MacCaml 5.2
- Correction d’un problème de coloration syntaxique liée à une erreur d’encodage des caractères (ne concerne pas la variante Swift de MacCaml).
- Ajout au menu Caml d"un sous-menu Envoyer la sélection permettant d’envoyer directement à Caml tout texte sélectionné dans le panneau d’entrée de la fenêtre courante.
Ce sous-menu, normalement à usage occasionnel, permet notamment d’utiliser l’exemple minicaml à partir de MacCaml.
Archives modifiées:
- MacCaml
- variante de MacCaml pour Yosemite

15/05/15: WinCaml pour Windows 7 ou 8 (64 bits)
Ajout, dans l’archive WinCaml pour Windows x64, de WinCaml via Qt (fichier exécutable WinCamlQt).

07/05/15: WinCaml pour Linux
- Ajout de WinCaml via Qt (fichier exécutable WinCamlQt) dans WinCaml pour tpalgo et dans WinCaml pour Linux x86_64:
WinCaml via Qt peut être utilisé à la place de WinCaml via wxWidgets (fichier exécutable WinCaml).
- Détection d’OCaml dans /usr/local, /usr (et sinon demande de l’emplacement).
- Mise à l’écart de LinCaml, WindCaml et WindSCaml (obsolètes et encombrants).
Archives modifiées:
- WinCaml pour tp-algo
- WinCaml pour Linux x86_64
- Code source C++ de WinCaml 5

26/04/15: Patch de Caml Light, WinCaml5 pour Linux 64 bits, variante swift de MacCaml
- Correction d’un dysfonctionnement des interruptions de Caml Light 0.75 pour WinCaml sous Linux 64 bits.
(ce dysfonctionnement semble aussi affecter Caml Light 0.82 de tp-algo version du 30 janvier 2015).
- Variante de MacCaml pour Yosemite utilisant le langage Swift 1.2 d’Apple (xcode 6.3.1).
Archives modifiées:
- Patch de caml-light
- WinCaml pour Linux x86_64
- Code source C++ de WinCaml 5
- variante pour Yosemite

18/02/15:WinCaml pour tp-algo (la distribution tp-algo de l’E.N.S. Lyon)
Cette distribution WinCaml utilise la distribution OCaml 3.12.1 et la distribution Caml Light 0.82 proposées par tp-algo, en accédant à cette dernière par des liens symboliques.
- Elle peut être utilisée telle quelle si on la place sur une partition linux (ext2, ext3 ou ext4) montée en lecture et écriture par tp-algo.
- Elle peut aussi être utilisée en la plaçant sur une partition ntfs montée en lecture et écriture par tp-algo si on y remplace les liens symboliques WinCaml5/caml-light/bin/lintoplevel64 et WinCaml5/caml-light/lib par leurs cibles qui sont respectivement le toplevel /usr/lib/caml-light/caml_all et le répertoire /usr/lib/caml-light/ (le caml_all remplaçant lintoplevel64 doit être renommé lintoplevel64).

Par rapport à Caml Light 0.82, le Caml Light 0.75 proposé habituellement avec WinCaml:
- lève les restrictions sur la quantité de mémoire utilisable imposées par Caml Light 0.82 (restrictions conformes au Caml Light d’origine); certains programmes fonctionnant avec lui ne fonctionnent donc pas avec Caml Light 0.82
- modifie la bibliothèque graphique pour éviter un crash de Caml Light quand on ferme la fenêtre graphique en utilisant le bouton rouge de sa barre de titre.

09/02/15: WinCaml
- Correction du moment de création du dossier de configuration (pour l’enregistrement éventuel du chemin d’OCaml).
- Correction, concernant WinCaml via Qt et WinCaml via wxWidgets du chemin de la bibliothèque graphique intégrée,
pour le cas d’une distribution OCaml à emplacement personnalisé, suivant qu’il s’agit d’une distribution 32 ou 64 bits.
- Passage à wxWidgets 3.0.2 (regénération des deux binaires du 07/02/15)
Archives modifiées:
Code source C++ de WinCaml 5
les 6 binaires natifs de WinCaml 5
les binaires de WinCaml 5 via wxWidgets

07/02/15: Nouveau WinCaml pour Linux x86_64: Déplacement du répertoire de configuration
- Pour éviter le problème de sauvegarde de la configuration signalé le 30/01/15, le répertoire de la configuration est maintenant caché dans le répertoire parent de l’application WinCaml i.e. dans le répertoire WinCaml5, en supposant ce dernier placé sur une volume accessible en écriture. Son nom est .totototo est le nom du répertoire personnel de l’utilisateur (i.e. toto = tpalgo dans le cas de la distribution tp-algo de l’E.N.S. Lyon). Ainsi toto/.WinCaml est devenu WinCaml/.toto .
- Il peut paraître préférable de placer le répertoire WinCaml5 sur une partition ext2 (ou ext3, ext4) d’un disque accessible en lecture et écriture (par exemple une clé usb ou un disque externe usb): la distribution tp-algo monte par double-clic un tel disque en lecture et écriture.
- Les distributions Linux Live sont cependant souvent utilisées avec un PC sous Windows; on peut alors placer le répertoire WinCaml5 pour Linux sur la partition Windows (normalement au format ntfs) mais il faudra monter (par exemple en ligne de commande super-utilisateur) cette partition en écriture pour bénéficier de l’enregistrement de la configuration de WinCaml (la distribution tp-algo semble prudemment ne monter la partition Windows par double-clic qu’en mode lecture sans permettre l’exécution des programmes). plus de détails.
- Correction du moment de la création du répertoire de la configuration (ce dernier doit exister avant la création du premier fichier lockfile): ceci concerne plus généralement WinCaml pour Windows x64 via wxWidgets .

30/01/15: Note concernant WinCaml pour Linux x86_64
- Cette distribution WinCaml pour Debian Wheezy, une fois dézippée sur disque accessible depuis la distribution Debian Gnu linux live tp-algo proposée par l’E.N.S. Lyon, peut être utilisée telle quelle après avoir au besoin rendu exécutables les fichiers WinCaml et lintoplevel64. Toutefois la configuration de WinCaml, qui est actuellement enregistrée dans le sous-répertoire caché .WinCaml du répertoire personnel de l’utilisateur, est perdue à chaque redémarrage du système: le répertoire personnel se trouve en effet en mémoire vive (distribution live oblige!)... Mais rien n’empêche de sauvegarder sur disque le répertoire caché .WinCaml.
- D’une autre façon on peut préparer une clé USB bootable en mode persistence plutôt qu’un DVD bootable.
- Si WinCaml quitte de façon anormale, le répertoire caché .WinCaml peut contenir accidentellement un fichier nommé lockfile qu’il faudra alors éliminer car il empêche le redémarrage de WinCaml.
- WinCaml peut utiliser la distribution OCaml 3.12.1 de tp-algo si on lui dit, lorsqu’il le demande, qu’elle se trouve dans le répertoire /usr.


26/11/14: WinCaml sous OS X et MacCaml 5.1
Ajout d'une note concernant OCaml et XQuartz aux emplacements MacCaml 5.1 et Code source C++ de WinCaml 5

24/11/14: Patch de Caml Light
Ce remplacement du patch de Caml Light ne concerne que OS X avec XQuartz (depuis qu'Apple ne fournit plus X11) et Cygwin 64:
- prend en compte le chemin usuel /opt/X11 (remplaçant /usr/X11R6) de XQuartz
- supprime sélectivement dans le Makefile de libgraph-win un “chmod” qui peut poser problème avec Cygwin 64.

03/11/14: WinCaml (pour Windows seulement)
Correction du chemin de la bibliothèque graphique intégrée, pour le cas d'une distribution OCaml à emplacement personnalisé,
suivant qu'il s'agit d'une distribution 32 ou 64 bits.
Archives concernées:
Code source C++ de WinCaml 5
les 6 binaires natifs de WinCaml 5

31/10/14: Bibliothèque graphique OCaml X11
Remplacement du patch ocaml pour compatibilité avec les différentes versions d'OCaml.

26/10/14: MacCaml
Introduction, sous Mavericks ou Yosemite, d'une variante de MacCaml 5.1 entièrement fondée sur le nouveau langage Apple Swift.

06/10/14: MacCaml et WinCaml
Remplacement des dernières archives postées en raison de quelques oublis.
Archives concernées:
MacCaml 4.7.1 et MacCaml 5.1
Code source C++ de WinCaml 5
les 6 binaires natifs de WinCaml 5
les binaires de WinCaml 5 via wxWidgets

02/10/14: WinCaml
Quelques corrections aux analyseurs lexicaux.
Archives modifiées:
Code source C++ de WinCaml 5
les 6 binaires natifs de WinCaml 5
les binaires de WinCaml 5 via wxWidgets

30/09/14: MacCaml 4.7.1 et 5.1
- Quelques correctifs au fonctionnement des préférences
- Traitement d'une source potentielle de corruption du fichier en cours
- (5.1 uniquement) Remplacement des analyseurs lexicaux et modification du protocole de communication graphique
entre MacCaml et Caml (ne concerne pas X11)

06/07/14: MacCaml 5.0
- Suppression des substitutions automatiques de caractères (guillemets notamment).
- Désactivation de la réouverture automatique au démarrage des fichiers laissés ouverts en quittant MacCaml (concerne Lion).
- Correction des toplevels X11 de Caml Light (distinction entre Lion et Mavericks).

22/06/14: WinCaml
Mise à jour des scripts de construction de WinCaml 5 natif (sous répertoire MSVC)
(pour les compilateurs microsoft C++ de 1998 (32 bits) ou 2008, 2010, 2012, 2013 (32 ou 64 bits))
Archive modifiée:
Code source C++ de WinCaml 5

26/05/14: WinCaml via Qt
Mise à jour pour Qt 5.3.
Archive modifiée:
Code source C++ de WinCaml 5

17/05/14: MacCaml 4.7 pour OS X Tiger, Leopard et Snow Leopard
Remplacement des toplevels caml-light cocoa et des bibliothèques graphiques dynamiques ocaml cocoa
(Mise à jour de la gestion des événements).

13/05/14: MacCaml 5.0 pour OS X Lion, Mountain Lion et Mavericks
Remplacement de l’archive du 12/05/14 car cette dernière ne fonctionnait pas sous Lion

12/05/14: MacCaml 5.0 pour OS X Lion, Mountain Lion et Mavericks
- Remplacement du panneau de recherche par la barre de recherche (incompatible avec Snow Leopard)
(ce remplacement devrait éviter un crash de MacCaml pouvant, depuis Lion, survenir après la fermeture de ce panneau).
- Révision de la gestion des événements de la bibliothèque graphique Cocoa de Caml Light et OCaml
(la bibliothèque graphique OCaml Cocoa correspond à OCaml-4.01.0).

08/05/14: toplevels Caml Light Cygwin
Toplevels pour Windows donnant (en plus) accès à la libunix de Caml Light.

01/05/14: Patch de Caml Light
Optimisation de la compilation de la libnum pour Windows 32 bits et l’architecture i686.
(gain en rapidité d’environ 20%)
Archives modifiées:
Code source C++ de WinCaml 5
le dossier de WinCaml 5
Patch de caml-light

29/04/14: WinCaml5 et Patch de Caml Light
- WinCaml natif pour Windows: correction des dialogues de recherche et remplacement.
- WinCaml (toutes variantes): correction des fichiers lexicaux: problème sévère (signed/unsigned)
concernant les caractères accentués, présent depuis le 11/12/2013, pouvant provoquer un crash de WinCaml.
- Correction de la libnum de Caml Light.
Archives modifiées:
index.html# Code source C++ de WinCaml 5
les 6 binaires natifs de WinCaml 5
les binaires de WinCaml 5 via wxWidgets
le dossier de WinCaml 5
Patch de caml-light

12/04/14: WinCaml 5 (5.7)
- Modification du menu CamlTop
- Mémorisation des styles gras et italique
- Légère simplification du fichier exemples/OCaml/inria/minilogo/load.ml.
Archives modifiées:
Code source C++ de WinCaml 5
les 6 binaires natifs de WinCaml 5
les binaires de WinCaml 5 via wxWidgets
le dossier de WinCaml 5

05/04/14: WinCaml 5 (5.5)
- Oublié précédemment le 03/04/14, le dossier de WinCaml 5 est aussi modifié:
les modifications concernent le fichier exemples/OCaml/inria/minilogo/load.ml et le répertoire ocaml/windows/ocaml64/miniocaml/lib
(réintroduction du fichier ld.conf et du sous-répertoire stublibs)
- Conservation, lors de la restauration des réglages par défaut en présence d’un fichier .oml, du statut ocaml de ce fichier.
Archives modifiées:
Code source C++ de WinCaml 5
les 6 binaires natifs de WinCaml 5
les binaires de WinCaml 5 via wxWidgets
le dossier de WinCaml 5

03/04/14: WinCaml 5 (5.5)
(mise à jour ne concernant que l’utilisation d’OCaml)
Introduction d’une navigation dans les répertoires permettant d’indiquer le répertoire de la distribution OCaml si cette dernière n’est pas
présente dans l’un des emplacements usuels (nouveauté inactive sous Windows 64 bits puisqu’alors WinCaml dispose de sa propre
mini-distribution ocaml 64 bits et l’utilise a priori: mettre le sous-répertoire ocaml/windows/ocaml64/miniocaml à l’écart pour activer la recherche).
les emplacements d’ocaml considérés ici comme usuels sont:
pour Windows 32 bits
- C:\ocaml
- C:\Program Files\Objective Caml
pour Windows 64 bits
- C:\Program Files\Objective Caml (alias C:\Programmes\Objective Caml)
- C:\ocaml
- C:\Program Files (x86)\Objective Caml
pour Linux et OS X
- /usr/local
Difficultés:
- Pour certains emplacements non usuels, le fichier ld.conf du sous-répertoire lib de la distribution ocaml devra être accessible en écriture
pour le cas où son contenu serait incorrect (cas d’une distribution ocaml située sur un volume externe ou réseau notamment)
- Pour Linux et OS X la "ligne shebang" au début de chaque fichier bytecode de la distribution ocaml peut être incorrecte. Il convient alors
pour exécuter la commande bytecode toto d’utiliser Sys.command "ocamlrun toto";; (voire dans certains cas sous Windows
Sys.command "ocamlrun.exe toto";; - ou Sys.command toto.exe;; si toto est un .exe) au lieu de Sys.command "toto";;
(cf. exemples/OCaml/inria/minilogo/load.ml, pour un exemple où toto est ocamlc)
Archives modifiées:
Code source C++ de WinCaml 5
les 6 binaires natifs de WinCaml 5
les binaires de WinCaml 5 via wxWidgets

18/03/14: WinCaml 5
- Correction de la fonction d’enregistrement d’un fichier dans le cas d’un fichier vide (wxWidgets et Windows natif)
- Correction de l’affichage de la barre d’état (toutes variantes de WinCaml)
- Modification dans la recherche d’OCaml sous Windows (toutes variantes de WinCaml)
Archives modifiées:
Code source C++ de WinCaml 5
les 6 binaires natifs de WinCaml 5
les binaires de WinCaml 5 via wxWidgets

09/03/14: WinCaml 5, MacCaml
Mise à jour des derniers exemples (tris fusion et collecteur de déchets)
Archives modifiées:
MacCaml 4.7 et MacCaml 4.9
Code source C++ de WinCaml 5
les binaires de WinCaml 5 via wxWidgets pour Linux 64
le dossier de WinCaml 5

06/03/14: WinCaml 5, MacCaml et patch Caml Light
WinCaml:
- Correction du fichier lexical lex.yy.cpp concernant la coloration syntaxique (ordre alphabétique des mots clés).
- Correction des fichiers lexicaux lex.zz.cpp et lex.tt.cpp concernant l’indentation (parenthèses ouvrantes et crochets ouvrants)
WinCaml et MacCaml:
- Ajout au dossier exemples d’une mini-bibliothèque big_vect permettant la simulation de grands tableaux à une dimension
avec un exemple d’utilisation (fichier big_vect_sort.ml: tri rapide et tri fusion itératif)
(big_vect est utile sur les systèmes 32 bits car la taille des tableaux caml-light et ocaml ne peut y atteindre 4 Mio)
- Ajout au dossier exemples de tris fusion récursifs (Caml Light et OCaml: cf. taille des piles ci-dessous)
Patch Caml Light:
- Levée des restrictions imposées à la taille des piles, d’où la possibilité de récursions plus profondes
au prix d’allocations mémoire automatiques éventuellement coûteuses en temps
(pour OCaml ces restrictions peuvent être changées en utilisant la variable globale OCAMLRUNPARAM)
- Mise à jour des toplevels caml-light dans le dossier de WinCaml 5
Archives modifiées:
MacCaml 4.7 et MacCaml 4.9
Code source C++ de WinCaml 5
les 6 binaires natifs de WinCaml 5
les binaires de WinCaml 5 via wxWidgets
le dossier de WinCaml 5
Patch de caml-light

30/01/14: WinCaml 5
- Correction de l’enregistrement au format rtf dans la variante wxWidgets.
- Retour au caractère indépendant de la plate-forme des fichiers sources du répertoire All (à l’exception de main.cpp),
ce caractère ayant été altéré lors de l’introduction de la variante wxWidgets.
- Correction des fichiers lexicaux (signe moins).
- Mise à jour des toplevels caml-light dans le dossier de WinCaml 5
Archives modifiées:
Code source C++ de WinCaml 5
les 6 binaires natifs de WinCaml 5
les binaires de WinCaml 5 via wxWidgets
le dossier de WinCaml 5

29/01/14: Patch de caml-light
- Restauration du fonctionnement du patch sous Windows et OS X Mavericks (ne pas avoir peur des warnings).
- Réactivation de l’option DIRECT_JUMP de l’interpréteur pour raisons de performance
(mais on peut la désactiver dans cl75/src/runtime/interp.c à la première interruption de la commande build).
- Modification de la gestion des pages de mémoire analogue à celle introduite dans camllight-0.82 par François Boisson :
cette modification devrait éviter certains plantages occasionnels de Caml-light observables au moins sous Linux 64 bits
(concerne les fichiers sources cl75/src/runtime/memory.c, cl75/src/runtime/major_gc.c, cl75/src/runtime/major_gc.h).

02/01/14: WinCaml 5 (toutes variantes) et patch Caml-light
- Correction de chemins (erreurs introduites notamment lors de la prise en charge des toplevels caml-light cygwin) : avec WinCaml
le répertoire de travail de caml au démarrage est censé être le répertoire où se trouve WinCaml (Wincaml.app dans le cas de OS X).
Tous les exemples devraient ainsi à nouveau fonctionner.
- Modification en conséquence des noms des toplevels cygwin fournis par le patch de caml-light.
(Noter que sur une machine où cygwin n’est pas installé les toplevels cygwin devraient être accompagnés de cygwin1.dll)
- Réorganisation des scripts de construction de WinCaml.
- Recompilation de WinCaml.
Archives modifiées:
Code source C++ de WinCaml 5
les 6 binaires natifs de WinCaml 5
les binaires de WinCaml 5 via wxWidgets
Le patch de caml-light



13/12/13: WinCaml 5 (5.4)
- Amendement du mode de sauvegarde des options.
- Légère modification des nouveaux analyseurs lexicaux.
Archive concernée: Code source C++ de WinCaml 5
Les fichiers binaires restent pour l’instant inchangés.

11/12/13: WinCaml 5
- Nouveaux analyseurs lexicaux: variantes naïves des trois analyseurs lexicaux précédemment générés par “lex”.
Ces derniers sont encore fournis et peuvent être utilisés par simple substitution avant compilation.
- Mise à jour des scripts de construction de WinCaml 5 (wxWidgets: Windows avec compilateur cl.exe).
Archive concernée: Code source C++ de WinCaml 5

15/11/13: WinCaml 5 (wxWidgets)
Rétablissement de l’affichage des erreurs de caml-light (Linux et OS X)
Archives concernées: Code source C++ de WinCaml 5 et WinCaml pour Linux x86_64.

18/10/13: WinCaml 5 (wxWidgets)
Préparation des scripts de construction pour utilisation avec wxWidgets-3.x.x par introduction de variables pour la version.
Ces scripts sont utilisables avec wxWidgets-3.0.0-rc1. Archive concernée: Code source C++ de WinCaml 5.

15/10/13: WinCaml 5 (wxWidgets)
Binaires pour Windows x64 et Linux x86_64

13/10/13: WinCaml 5 (wxWidgets)
Correction censée pallier le problème signalé le 08/10/13 provoqué notamment en “dézoomant” la fenêtre principale.
Archive concernée: Code source C++ de WinCaml 5.

08/10/13: WinCaml 5 (wxWidgets)
Important: (problème en suspens) il peut arriver sous Windows que la fenêtre active ne soit pas la fenêtre frontale: cas où le point d’insertion
clignotant n’apparaît plus dans cette fenêtre. Dans ce cas cliquer dans la fenêtre frontale pour la sélectionner, notamment avant d’y introduire du texte.
Archive concernée: Code source C++ de WinCaml 5.

06/10/13: WinCaml 5 (wxWidgets)
Correction du mode d’indentation par tabulations (largeur des tabulations); archive concernée: Code source C++ de WinCaml 5.

05/10/13: WinCaml 5 (wxWidgets)
Correction du rafraîchissement du panneau d’entrée en mode de retour à la ligne automatique; archive concernée: Code source C++ de WinCaml 5.

03/10/13: WinCaml 5 (wxWidgets)
Correction d’un problème de retour à la ligne (confusion entre CR et LF); archive concernée: Code source C++ de WinCaml 5.

01/10/13: WinCaml 5 (wxWidgets)
Correction ne concernant que Linux de l’affichage du curseur à la traversée de la cloison de la sortie vers l’entrée
en présence d’une barre verticale de défilement; archive concernée: Code source C++ de WinCaml 5.

26/09/13: WinCaml 5 (wxWidgets)
Correction de l’affichage des dialogues “Rechercher/Remplacer” et “WinCaml init”.

17/09/13: WinCaml 5 (Qt 5 et wxWidgets); archive concernée: Code source C++ de WinCaml 5
1) Nouveau: passerelle wxWidgets-2.9.5 pour WinCaml (Linux, OS X, Windows XP, 7 ou 8: VC++ ou MinGW)
2) Correction partielle du fonctionnement des dialogues de mise en page et d’impression concernant Qt 5
(Ces dialogues semblent fonctionner correctement avec Qt 4.7.x ou Qt 4.8.x):
- OS X, Qt 5: correction partielle du fonctionnement du dialogue de mise en page
- Linux, Qt 5: inactivation du dialogue de mise en page (ce dialogue est accessible à partir du dialogue d’impression).

14/09/13: Patch caml-light :
Prend en compte Cygwin 64.
La boucle interactive Caml-Light "camltoplevel64.exe" produite par ce patch peut remplacer celle du répertoire WinCaml5,
si on lui joint, là où elle réside, la librairie dynamique cygwin1.dll (celle de la distribution cygwin64 utilisée pour compiler).

22/05/13: Patch caml-light et WinCaml 5
- patch caml-light : inactivation de l’option DIRECT_JUMP dans “cl75/src/runtime/interp.c” car incompatible avec certains Linux
(elle était d’ailleurs déjà inactivée dans le patch caml-light précédent)
- WinCaml 5: toutes variantes
-- révision du fonctionnement des dialogues de recherche et remplacement (synchronisation des dialogues, gestion du couper-copier-coller)
-- possibilité de remplacer, sous le même nom camltoplevel32.exe, le toplevel 32 bits MinGW équipant WinCaml par le toplevel Cygwin
fourni par le patch caml-light (ne fonctionne que si cygwin1.dll est bien référencée dans la variable d’environnement PATH de Windows);
pour utiliser le toplevel 32 bits avec Windows 64, il suffit de déplacer le toplevel 64 bits camltoplevel64.exe (ou de changer son nom);
le toplevel Cygwin a l’avantage de supporter la libunix, mais est limité à 32 bits pour l’instant
- WinCaml 5: variantes Qt
-- Qt 5.0.x mac et Qt 4.8.x Linux:
--- correction de l’affichage des accélérateurs des menus Annuler et Rétablir
--- important: contournement d’un bug de Qt 5.0.x mac provoquant la disparition (sans destruction!) de la fenêtre principale alors qu’ayant cliqué
sur sa case de fermeture pour quitter, on annule cette action pour revoir un document ouvert modifié, disparition apparemment irrécupérable
(si on préfère WinCaml à MacCaml …)
-- Qt Windows:
--- nouveaux scripts de construction de WinCaml 5 via Qt adaptés à Qt 4.8.4 (msvc 2010 32 bits) et Qt 5.0.2 (msvc 2012 64 bits)

Archives concernées:
- les binaires WinCaml5
- LinCaml pour Windows (contenant le binaire WinCaml 5 via Qt pour Windows)
- Code source C++ de WinCaml 5

10/05/13: nouveau patch de Caml Light
Remplacement dans le script build, pour la boucle interactive associée à cygwin, de la libgraph unix par la libgraph windows
(le serveur X “XWin.exe” présentant, en liaison avec cette boucle, des défauts de rafraîchissement en mode multiwindow)

10/05/13: WinCaml5 via Qt
Important: correction d’une erreur létale du menu "Fermer" (ne concerne pas WinCaml5 dédié à Windows)
Archives concernées: LinCaml pour Windows (contenant le binaire WinCaml5 via Qt pour Windows) et Code source C++ de WinCaml 5

07/05/13: Nouveau patch de Caml Light
- Patch utilisable aussi avec Cygwin (32 bits)
- Remplacement de bcopy par memmove (avec modification du fichier src/runtime/config.h pour Linux)

05/05/13: Nouveau patch de Caml Light
- Petites corrections sans grande importance du patch précédent ne concernant que Windows
- Ajout de quelques explications concernant le patch

03/05/13: Nouveau patch de Caml Light
Modification du patch précédent ne concernant pas Windows (Rétablissement d’options de compilation sous unix)

02/05/13: Nouveau patch de Caml Light
Il s’agit d’un patch unifié pour OS X, Linux et Windows (architectures 32 ou 64 bits intel ix86 ou x64/x86_64, ou power pc)
permettant de construire les toplevels utilisés par MacCaml, WinCaml, LinCaml et JavaCaml
Il devrait résoudre certains problèmes de rafraîchissement de la fenêtre graphique sous Linux 32 bits
et un problème d’interruption associé à la fenêtre graphique sous OS X
Le patch précédent reste disponible

10/02/13: WinCaml 5 (via Qt)
Correction des dialogues de choix des couleurs (concerne uniquement OS X avec Qt 5.0.x)

03/02/13: WinCaml 5 (via Qt)
Correction de l’affichage des menus (concerne essentiellement OS X avec Qt 5.0.x)

01/02/13: WinCaml 5
- Modification de la passerelle Qt permettant d’utiliser les distributions binaires Qt 5.0.x pour Linux, OS X et Windows
(fonctionne encore aussi avec Qt 4.7.x et Qt 4.8.x) cf. Code source C++ de WinCaml 5 .
- Wincaml avec passerelle Qt utilisant un fichier temporaire pour empêcher le lancement de plusieurs instances, ajout d’un utilitaire "unlock.exe"
pour supprimer ce fichier sous Windows s’il survit à un crash de WinCaml.
Sous OS X ou Linux on pourra supprimer manuellement ce fichier nommé "lockfile" situé dans le sous répertoire WinCaml du répertoire personnel.
Pour WinCaml natif, qui utilise un mutex, redémarrer la session s’il ne peut être relancé aprè un crash.

21/01/13: WinCaml 5
Publication des sources (cf. historique: 29/10/12 partie (3)).

28/12/12: JavaCaml 4.9, MacCaml 4.9 et 4.7, WinCaml 5 et LinCaml 4, WindCaml, WindSCaml:
- Bibliothèques graphiques X11 intégrées: abandon de la police "courier", retour à à la police "fixed"
et à la fonction set_text_size d’origine (vide), "courier" ne semblant plus proposée par certaines distributions Linux
- Simplification et unification de la hiérarchie des sous-dossiers: la version d’OCaml n’intervient plus
- Correction d’une erreur d’importation dans C# de "SendMessage" pouvant rendre WindSCaml inutilisable sur une machine x64
- Correction d’une erreur dans la passerelle Qt de WinCaml (fonctions "fromBytes" et "toBytes") pouvant empêcher le fonctionnement
du fichier de configuration de WinCaml sous Windows
- Prise en compte du chemin d’installation par défaut de la distribution officielle 32 bits OCaml 4.00.1 (chemin C:\OCaml):
sous Windows 32 bits ce chemin est testé en premier
- Nouveaux patches de Caml-light et OCaml.

05/12/12: JavaCaml 4.8, MacCaml 4.9 et 4.7, WinCaml5-src et LinCaml 4:
- Correction des boucles interactives 64 bits caml-light pour X11 censée éviter certains crashes
observés parfois sous OS X lorsqu’on utilise la case de fermeture de la fenêtre graphique.
- Unification de la hiérarchie des sous-dossiers de WinCaml, JavaCaml et LinCaml avec prise en compte d’OCaml 4.00
(le code source java de JavaCaml 4.8 est inchangé)
- Nouveaux patches de Caml-light et OCaml
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)

21/11/12: MacCaml 4.9 et 4.7 et WinCaml 5 (5.3)
Prise en compte d’OCaml 4.00.1

16/11/12: MacCaml 4.9 et 4.7 et WinCaml 5 (5.3)
- MacCaml: correction des bibliothèques graphiques Cocoa de Caml-light et OCaml (gestion des couleurs et des événements);
rétablissement des corrections du 07/12/11 de la bibliothèque graphique caml-light Cocoa détruites le 10/11/12.
- WinCaml: augmentation de la taille des fichiers modifiables par WinCaml (environ 128000 caractères au lieu de 32000).

10/11/12: MacCaml 4.9
Correction des bibliothèques graphiques Cocoa de Caml-light et OCaml (gestion des couleurs et des événements).

29/10/12: WinCaml 5 (5.3)
- (1) Écriture d’un code source C++ de WinCaml indépendant du système d’exploitation, fondé sur la bibliothèque de classes
génériques (STL) et sur une passerelle (ensemble de fonctions et de classes) assurant la liaison avec le système d’exploitation.
- (2) Construction de cette passerelle à partir de Qt, d’où WinCaml pour Linux, Mac OS X et Windows.
- (3) Autre construction à partir de Windows SDK, d’où WinCaml natif pour Windows.
- Publication des parties (1) et (2) : Code source de WinCaml.
- WinCaml pour Linux peut remplacer LinCaml.

02/08/12: MacCaml 4.9 et WinCaml 5 (5.2)
- MacCaml 4.9 est une simple adaptation de MacCaml 4.8 à OCaml 4.00
- WinCaml 5.2 remplace la boucle 64 bits OCaml 3.12.1 intégrée à WinCaml 5.1 par une boucle OCaml 4.00
et peut utiliser la distribution binaire officielle 32 bits d’OCaml 4.00.
Quelques simplifications ont par ailleurs été apportées en interne à la gestion des encodages;
elles peuvent nécessiter une réinitialisation de la configuration de WinCaml (utiliser alors WinCamlInit.bat).
- Noter que ces mises à jour ne concernent pas Caml Light.

06/07/12: WinCaml 5 (5.1)
Correction de l’affichage des numéros de ligne et de colonne:
remplacement des 6 archives WinCaml 5 du 04/07/12
(concerne les changements de mode d’affichage du panneau de sortie).

04/07/12: WinCaml 4.5 et WinCaml 5 (5.1)
Correction du chemin des binaires 64 bits intégrés d’ocaml: remplacement des archives du 03/07/12.
(concerne la présence d’espaces dans le chemin).

03/07/12: WinCaml 4.5 et WinCaml 5 (5.1)
- WinCaml 4.5: meilleure détection des systèmes 64 bits; prise en compte de la version d’ocaml;
réorganisation des sous-dossiers du dossier WinCaml.
- WinCaml 5: corrections diverses concernant la recherche de mots,
l’impression ou l’enregistrement au format RTF et les couleurs de fond, la sélection et le copier-coller,
l’affichage des numéros de ligne et de colonne.
Prise en compte de la version d’ocaml.
Méthode de Démarrage par défaut (WinCamlInit.bat) en cas de corruption du fichier de configuration.
Adoption de la hiérarchie des dossiers de WinCaml 4.5 :
pour utiliser WinCaml 5 (5.1), télécharger la distribution WinCaml 4.5 et y remplacer WinCaml.exe
par celui des six exemplaires proposés de WinCaml 5 qui vous paraît le mieux adapté à votre système.

07/06/12: WinCaml 5 et LinCaml
- WinCaml 5: Remplacement des 6 fichiers du 22/05/12 (nettoyage du code, corrections mineures).
- LinCamlWin: Correction, pour les systèmes Windows x64, du chemin de l’aide d’ocaml.

22/05/12: WinCaml 5
- Correction de la fonction de restauration des réglages par défaut (remplacement des trois exemplaires du 08/05/12).
- Ajout de trois nouveaux exemplaires obtenus à partir des mêmes sources à l’aide des compilateurs MinGW.
Pour utiliser WinCaml 5, remplacer l’ancien WinCaml dans la distribution 4.4

08/05/12: WinCaml 5
WinCaml 5 est, bien que l’interface soit peu modifiée, une application nouvelle n’utilisant plus les MFC:
c’est une application Win32/Win64 utilisant la bibliothèque C++ de classes génériques (Standard Template Library)
compilée de trois façons:
- à l’aide de MSVC6 (x86), utilisable avec Windows 2000 professionnel et Windows ultérieurs.
- à l’aide de MSVC Express 2010 (x86), utilisable avec Windows XP SP3 et Windows ultérieurs.
- à partir de Microsoft SDK v7.0 (x64), préférable pour les versions 64 bits courantes de Windows.
Pour utiliser WinCaml 5, remplacer l’ancien WinCaml dans la distribution 4.4
Nouveautés:
- possibilité de sauver les fichiers au format RTF.
- Gestion des encodages usuels (mac, unix, win, utf8).
Attention: le fonctionnement interne ayant beaucoup changé, gare aux bogues!

31/01/12: WindCaml et WindSCaml
cf. WinCaml 4.4 (19/01/12) ci-dessous pour les modifications.
Les nouvelles versions de WindCaml et WindSCaml fonctionnent avec .Net 4.0 (Windows XP sp3 ou Windows 7).

29/01/12: LinCaml 3.2 et LinCaml.exe
- Pour cette mise à jour voir JavaCaml 4.8 ci-dessous.
- LinCaml.exe est LinCaml 3.2 compilé pour Windows.

26/01/12: JavaCaml 4.8
- Correction de l’indenteur pour ocaml: concerne la présence d’un point-virgule près de end ou done.
- Correction de set_window_title (concerne caml-light X11: cf 15/01/12 ci-dessous).
- Messages de caml-light en français si la session est ouverte en français.
- Devrait convenir à la plupart des systèmes mac, windows ou linux usuels.

25/01/12: MacCaml 4.8
Cette version allégée de MacCaml 4.7 limitée à l’architecture x86_64 (Snow Leopard ou Lion) remplace MacCaml 4.6.
Elle corrige le blocage des dessins en cours d’exécution et ultérieurs par miniaturisation de la fenêtre des bibliothèques
graphiques caml-light et ocaml cocoa.

24/01/12: MacCaml 4.7
Version universelle remplaçant la version 4.4 en faisant les corrections des versions 4.5 et 4.6; fonctionne sous
Tiger (architecture ppc 32), Leopard (architecture i386), Snow Leopard et Lion (architectures i386, x86_64).
Cette version corrige aussi le blocage des dessins en cours d’exécution et ultérieurs par miniaturisation de la fenêtre
des bibliothèques graphiques caml-light et ocaml cocoa.

19/01/12: WinCaml 4.4:
- Correction de l’indenteur pour ocaml.
- Messages de caml-light en français.

17/01/12: MacCaml 4.6
(Version limitée à Snow Leopard et Lion remplaçant MacCaml 4.5)
- Correction de l’indenteur pour ocaml: concerne la présence d’un point-virgule près de end ou done.
- Modification de wait_next_event dans les bibliothèques graphiques caml-light et ocaml cocoa
(fonction rendue plus compatible avec la version officielle).
- Correction de draw_image et blit_image dans les bibliothèques graphiques cocoa pour éviter un crash.
- Correction de set_window_title (concerne caml-light X11: cf 15/01/12 ci-dessous).
- Messages de caml-light en français si la session est ouverte en français.

15/01/12: patch_cl75.zip
Correction de set_window_title: cette fonction, qui ne fait pas partie de la bibliothèque graphique officielle de caml-light,
empruntée à ocaml-3.07, oubliait de réserver une place à l’octet nul en fin d’une chaîne C, pouvant occasionner un crash
(erreur apparue dans ocaml-3.07 mais corrigée dès ocaml-3.08); ne concerne que le graphisme X11, pas windows.

11/12/11: Remplacement de MacCaml 4.5 du 08/12/11
(fichiers d’aide de caml mal placés dans le bundle MacCaml).

09/12/11: patch_cl75.zip
Le patch_cl75 du 06/12/11 devait prévenir certain crashs, celui-ci est censé y parvenir.
(crashs observables avec l’architecture x64 sur l’exemple "grahanoi-fra.ml" en augmentant
éventuellement un peu le paramètre entier de la fonction "jeu")
Mise à jour correspondante de WinCaml, WindCaml/WindSCaml, LinCaml et JavaCaml.

08/12/11: WindSCaml, WindCaml et MacCaml 4.5
- WindSCaml et WindCaml: correction d’une erreur pouvant empêcher le démarrage immédiat de caml
- MacCaml: correction d’un problème de retour à la ligne automatique en sortie observé seulement sous Lion

07/12/11: patch_cl75.zip et MacCaml 4.5
- Remplacement dans patch_cl75.zip des fins de lignes windows du script makePatch par des fins de lignes unix
- Correction de la bibliothèque graphique caml-light native de MacCaml concernant la création d’images:
Cette correction, limitée ici à l’architecture x86_64, devrait éviter certains crashs associés à la collecte de déchets
(crashs observables sur l’exemple "grahanoi-fra.ml" en augmentant éventuellement un peu le paramètre de la fonction "jeu").

06/12/11: patch_cl75.zip
permettant de compiler Caml Light sur la plupart des systèmes usuels 32 ou 64 bits: Windows, Mac OS X, Linux
et de produire des boucles interactives Caml Light adaptées à JavaCaml, MacCaml et WinCaml:
Correction de la bibliothèque graphique windows pour caml light dérivée de la bibliothèque graphique d’ocaml
concernant la création d’images; mise à jour correspondante de WinCaml, WindCaml/WindSCaml, LinCaml et JavaCaml.
Cette correction devrait éviter certains crashs associés à la collecte de déchets.

30/11/11: MacCaml 4.5 pour Snow Leopard ou Lion (architecture X86_64)
à utiliser avec caml-light intégré ou avec ocaml-3.12.1 installé de façon standard
- mis à jour et compilé avec xcode 4.2.1 (Apple LLVM 3.0)
- avec gestion de la case de fermeture de la fenêtre graphique x11 pour ocaml-3.12.1
(gestion défectueuse dans la version précédente).

28/11/11: Patch de la librairie graphique x11 d’ocaml pour MacCaml et JavaCaml.
Remplace celui du 05/01/11 qui semble ne plus remplir son rôle (gestion de la case de fermeture
de la fenêtre graphique de x11) avec les dernières versions de Mac OS X ou ocaml.

09/11/11: WindCaml et WindSCaml
- Transformation de WindCaml et WindSCaml en “applications à instance unique”.
- Possibilité d’ouvrir un ou plusieurs fichiers .ml, .oml, .mli directement à partir du bureau par “ouvrir avec... ”
ou par glisser-déposer sur la fenêtre principale ou sur l’icône de l’application, ou par double-clic (pour un seul fichier),
après avoir associé l’application de façon permanente aux extensions .oml, .ml et .mli à l’aide de “ouvrir avec... ”

19/10/11: WindCaml et WindSCaml
Correction d’une exception pouvant empêcher le démarrage des deux applications.

17/10/11: WindCaml et WindSCaml
Correction du fonctionnement avec démarrage différé de caml (concerne les nouveaux documents).

14/10/11:WindCaml et WindSCaml
Correction d’un dysfonctionnement sérieux de certaines boîtes de dialogue.

12/10/11: WindSCaml: Correction du fonctionnement de l’impression sous windows 7.
WindCaml: changement de dialogue d’impression.

09/10/11:WindCaml et WindSCaml
WindSCaml est construit à partir du langage C# alors que WindCaml est construit à partir de C++,
mais à part ça les deux applications sont à peu près identiques.
- Pour tester ou utiliser WindSCaml, il faut avoir déjà installé WindCaml:
en effet WindSCaml.exe s’installe à côté (ou à la place) de WindCaml.exe dans le même répertoire.
- Quelques défauts de WindCaml apparus lors de la traduction de C++ en C# ont été corrigés et
WindCaml a été équipé de ocaml-3.12.1 pour Windows 64.

30/09/11: WindCaml
Correction de l’ouverture d’un document avec démarrage différé de caml.

28/09/11: WindCaml
Correction du comportement au redémarrage de caml après usage de la commande “Stop”.
Réorganisation interne et suppression de code inutile.

23/09/11: adjonction à LinCaml.exe et LinCaml 3.1 d’un fichier de localisation français.

22/09/11: LinCaml pour Windows
- LinCaml.exe, prêt à l’emploi pour Windows XP et Windows 7, peut coexister avec WinCaml et WindCaml ou les remplacer.
- Remplaçement de la distribution source de LinCaml 3.0 par la distribution LinCaml 3.1
(révision du fonctionnement des fenêtres et, sous Windows, de la gestion des tâches)
- Retrait des versions obsolètes de LinCaml fondées sur GNUstep.

20/09/11: WindCaml pour Windows XP et Windows 7
Variante de WinCaml fondée sur les “Windows Forms” (plate-forme .NET)
WindCaml s’installe par simple décompression de l’archive WindCaml.zip
et peut être utilisée sur la même machine que WinCaml

12/07/11: LinCaml 3.0, JavaCaml 4.7, MacCaml 4.4, WinCaml 4.3
Mise à jour pour utilisation avec ocaml 3.12.1

11/04/11: LinCaml 3:
Remplacement des fichiers LCFrame.h, LCFrame.cpp et des fichiers de localisation.

10/04/11: LinCaml 3:
Remplacement des fichiers LCTaskHandler.cpp et LCHighlighter.cpp

06/04/11: LinCaml 3:

Entièrement nouveau, proche de WinCaml, opensource GPL, fondé sur la bibliothèque C++ Qt 4.7,
conçu d’abord pour Linux, fonctionne aussi avec Mac OS X ou Windows.

31/01/11: JavaCaml 4.7, MacCaml 4.4, WinCaml 4.3 (remplacement des fichiers précédents)
Corrections des fichiers lexicaux concernant la représentation littérale du type float et la présence
éventuelle du caractère "quote" dans les identificateurs: elles suppriment l’introduction par les
fonctions d’indentation d’espaces rendant les fichiers sources incorrects.

14/01/11: WinCaml 4.3
- Correction (incomplète) du contrôle par clavier de la sélection du panneau d’entrée.
- Correction de la mise en surbrillance des symboles appariés (cas où le partenaire n’est pas trouvé).
- Doublement de la taille de la liste des fichiers récents (portée à 8).
- Mémorisation à chaque fermeture de fenêtre de la position de la cloison de séparation des panneaux.

11/01/11: JavaCaml
Correction des dialogues “Enregistrer” et “Enregistrer sous” (remplacement des fichiers du 08/01/11).

08/01/11: JavaCaml 4.7, MacCaml 4.4, WinCaml 4.2
- Révision de l’indenteur pour ocaml concernant les parenthèses.
- Remplacement du fichier float.zi dans le répertoire caml-light.

05/01/11: ocaml
patch de la librairie graphique x11 d’ocaml utilisé par MacCaml et JavaCaml.

04/01/11: Caml Light 75:
il y a confusion entre sinus hyperbolique “sinh” et sinus “sin” dans cl75/src/lib/float.mli
Modification en conséquence des quatre patchs de décembre (en fait de leurs scripts).

29/12/10: Synthèse des patchs précédents
- patch_cl75.zip est une archive contenant un patch pour windows et un patch pour unix permettant
de compiler Caml Light sur la plupart des systèmes usuels 32 ou 64 bits: Windows, Mac OS X, Linux
et un script produisant des boucles interactives Caml Light adaptées à JavaCaml, MacCaml et WinCaml.
- Remplacement du Patch DGL du 21/12/10 qui ne fonctionnait pas en mode 32 bits (correction du script).

24/12/10: patch_cl75_win32.zip
Nouveau fichier remplaçant celui du 15/12/10 qui contenait une erreur de format d’entiers.

21/12/10: JavaCaml 4.6
- Remplacement des deux archives du 20/12/10 (changements mineurs).
JavaCaml fonctionne aussi sous Ubuntu 10.10 "Maverick Meerkat" amd64.
- patch_cl75_DGL.zip de cl75unix.tar.gz produisant pour Linux les boucles interactives caml-light 32 et 64 bits de JavaCaml 4.6.

20/12/10: JavaCaml 4.6
Mise à jour pour utilisation avec ocaml 3.12.0:
- Correction et adaptation de l’indenteur pour ocaml (prise en compte des "extensions du langage").
- Introduction des boucles interactives 64 bits caml-light et ocaml déjà présentes dans WinCaml (gestion analogue).
- Bibliothèques graphiques ocaml intégrées 32 et 64 bits pour Debian Gnu Linux "Lenny" i686 et amd64.

15/12/10: JavaCaml 4.5, MacCaml 4.3, WinCaml 4.1
Correction de l’indenteur pour ocaml (option "indenter après in"):
remplacement des fichiers des 19/11/10, 10/12/10 et 12/12/10.

15/12/10: WinCaml
Patchs patch_cl75_win32.zip et patch_cl75_win64.zip de cl75unix.tar.gz produisant les boucles interactives Caml Light associée à WinCaml.

12/12/10: WinCaml 4.1
Mise à jour pour utilisation avec ocaml 3.12.0:
- remplacement de la boucle interactive intégrée ocaml 3.11.2 par une boucle 3.12.0
- correction et adaptation de l’indenteur pour ocaml (prise en compte des "extensions du langage").

10/12/10: MacCaml 4.3
Mise à jour pour utilisation avec ocaml 3.12.0
(bibliothèque graphique; corrections et compléments à l’indenteur pour ocaml).

25/11/10: MacCaml 4.2 et WinCaml 4.0
Indentation ocaml: correction d’une erreur pouvant bloquer MacCaml et WinCaml
dans une boucle infinie en cas de fichier source incorrect. (erreur absente dans JavaCaml).
Remplacement des fichiers du 19/11/10.

19/11/10: MacCaml 4.2, WinCaml 4.0, JavaCaml 4.5
Indentation ocaml: changements mineurs concernant les opérateurs.
Remplacement des fichiers du 11/11/10.

11/11/10: MacCaml 4.2, WinCaml 4.0, JavaCaml 4.5
Nouvelle correction des fonctions d’indentation: remplacement des fichiers du 07/11/10.

07/11/10: MacCaml 4.2, WinCaml 4.0, JavaCaml 4.5
Correction des fonctions d’indentation.

18/10/10: WinCaml 3.9
Correction de quelques erreurs introduites dans la version 3.8.

15/10/10: MacCaml 4.1
- Localisation en français (menus, dialogues…).
- Retouches lexicales.

12/10/10: JavaCaml 4.4
- Correction du démarrage du gestionnaire “Undo/Redo”.
- Introduction, comme pour MacCaml et WinCaml, d’un indenteur expérimental optionnel pour ocaml.
- Prise en compte des différentes représentations littérales des caractères (coloration syntaxique et indentation),
et mise à jour des mots ou symboles réservés.

04/10/10: MacCaml 4.0 et WinCaml 3.8
- MacCaml: Modification interne de l’indenteur pour ocaml.
- WinCaml: Introduction, comme pour MacCaml, d’un indenteur expérimental optionnel pour ocaml,
prise en compte des différentes représentations littérales des caractères (coloration syntaxique et indentation),
mise à jour des mots ou symboles réservés, définition interne des variables d’environnement PATH et OCAMLLIB
en cas d’utilisation de la boucle interactive 64 bits ocaml intégrée à WinCaml (permet d’exécuter l’exemple minilogo).

29/09/10: MacCaml 3.9
- Introduction d’une fonction d’indentation expérimentale pour ocaml, activable dans les préférences, censée
prendre en compte la plupart des constructions de la syntaxe classique d’ocaml.
- Prise en compte des différentes représentations littérales des caractères (coloration syntaxique et indentation).
- Mise à jour des mots ou symboles réservés.
- Correction d’une erreur de taille de tabulation se manifestant à certains passages à la ligne.

03/09/10: MacCaml 3.8, WinCaml 3.7:
Coloration syntaxique: correction d’une erreur lexicale concernant les commentaires
introduite dans la version 3.7 de MacCaml et la version 3.6 de WinCaml.

21/08/10: MacCaml 3.7, WinCaml 3.6, JavaCaml 4.3:
Coloration syntaxique: ajout de mots clés de ocaml (module, class…) hors programme CPGE.
Ces mots clés restent cependant ignorés par la fonction d’indentation.

17/08/10: MacCaml:
Correction d’un problème de défilement horizontal de la version 3.6.

16/08/10: MacCaml 3.6:
- Rénovation de l’interface: boutons remplacés par menus et barre d’outils escamotable;
barre d’état optionnelle présentant la position du point d’insertion de l’entrée.
- Révision du fonctionnement du panneau de sortie (plus proche de JavaCaml et WinCaml).
- Correction d’une erreur se produisant à l’envoi d’une commande vide (panneau d’entrée vide).
- Correction d’un échec de la fonction d’indentation en présence de commentaires japonais.
- Correction de défauts occasionnels de rafraîchissement lors d’un changement de fonte.

16/08/10: JavaCaml 4.2:
Nettoyage de code (suppression de conversions de types ou d’instructions inutiles).

01/08/10: JavaCaml 4.1:
Correction d’un problème de rétention de mémoire survenant à chaque fermeture de fenêtre.

30/07/10: JavaCaml 4.0:
- Gestion plus complète de “undo/redo”.
- Affichage optionnel de la position du point d’insertion du panneau d’entrée.
- Correction d’un bug de la fonction d’indentation concernant les chaînes de caractères écrites sur plusieurs lignes.
- Nettoyage et mise en conformité du code source mettant fin aux avertissements du compilateur.

17/07/10: JavaCaml 3.9:
Révision du fonctionnement et de l’affichage du panneau de sortie.

14/07/10: WinCaml 3.5:
- Révision des chaînes de caractères (Rôle du backslash).
- Révision du fonctionnement de la coloration syntaxique (coloration au fur et à mesure
de l’affichage du texte convenant mieux aux gros fichiers).
- Révision du fonctionnement du panneau de sortie.

08/07/10: MacCaml 3.5:
- Révision des chaînes de caractères (Rôle du backslash).
- Support de l’encodage utf-8, comme pour JavaCaml.

06/07/10: JavaCaml 3.8:
Correction du fonctionnement du menu général “Encodage”.

02/07/10: JavaCaml 3.7:
- Possibilité d’interrompre caml sous Windows. JavaCaml paraît ainsi fonctionner de façon
quasiment identique sous Linux, Mac OS X et Windows.
- Correction de la gestion des interruptions de caml sous Mac OS X Tiger (10.4.11).
- Correction d’erreurs de localisation introduites dans la version 3.6.

27/06/10: JavaCaml 3.6:
- Support de l’encodage UTF-8. Détection automatique optionnelle de l’encodage d’un fichier source.
- Rétablissement de la sauvegarde des options générales.
Sous Linux JavaCaml pourrait remplacer LinCaml.

22/06/10: JavaCaml 3.5:
- Coloration syntaxique.
- Révision des chaînes de caractères (Rôle du backslash).

22/05/10: JavaCaml 3.4:
Possibilité d’afficher ou de masquer par simple clic les commandes une par une dans le panneau de sortie.

13/05/10: JavaCaml 3.3:
- Introduction de trois options d’affichage dans le panneau de sortie.
- Possibilité, dans chaque fenêtre, d’arrêter et de relancer caml et d’effacer le panneau de sortie.

10/04/10: JavaCaml 3.2, MacCaml 3.4 et WinCaml 3.4:
Quelques corrections dans le traitement des chaînes de caractères et la fonction d’indentation.

06/04/10: WinCaml:
WinCaml v3.3 est équipé, comme pour Caml-light, d’une boucle interactive 64 bits ocaml-3.11.2 pour Windows 7
(Nativeint.size = 64 au lieu de 32) complétée par quelques bibliothèques suffisantes pour les exemples,
en attendant la publication par l’inria d’une distribution binaire officielle complète 64 bits pour Windows.
Il devrait fonctionner sur tout PC récent à architecture courante: amd64 (alias x64 ou x86_64).
Les fichiers NOUVEAU.txt et INSTALLATION.txt contiennent quelques informations supplémentaires.
Les fichiers d’aide d’ocaml ne sont pas inclus.

25/03/10: WinCaml:
WinCaml v3.2 est équipé d’une boucle interactive 64 bits Caml Light pour Windows 7.
(max_int = 4611686018427387903 au lieu de 1073741823); pour PC récent à architecture courante amd64.

18/03/10: MacCaml:
MacCaml v3.3 est, sans autre changement, équipé de boucles interactives 64 bits Caml Light pour Snow Leopard.

10/03/10: JavaCaml v3.1:
Quelques retouches et code source.

05/03/10: JavaCaml et MacCaml:
- JavaCaml v3 traite la synchronisation commandes/réponses, le filtrage et l’affichage
des réponses, les réglages utilisateur, la gestion des interruptions et la localisation.
JavaCaml, largement réécrit, fonctionne avec la machine virtuelle jre 5 de Sun Microsystems.
- MacCaml v3.2 est, sans autre changement, muni de nouvelles bibliothèques graphiques intégrées corrigeant certains problèmes
apparus sous Snow Leopard (fonctions fill_rect et blit_image).

13/02/10: JavaCaml:
Fusion de JavaCaml et JavaOCaml; hormis les couleurs, JavaCaml v2 présente à peu près les mêmes fonctionnalités
que MacCaml et WinCaml et fonctionne indifféremment sous Mac OS X, Linux, Windows XP ou Windows 7
avec la machine virtuelle jre 6 de Sun Microsystems.

14/01/10: MacCaml et WinCaml:
- MacCaml v3.1: corrige un problème de concurrence entre entrée différée et entrée directe.
- WinCaml v3.1: permet d’afficher ou de masquer totalement ou partiellement les sources dans le panneau de sortie.

03/01/10: MacCaml:
MacCaml v3.0: remplace l’exemplaire du 28/12/09;
corrige des erreurs d’affichage en sortie se produisant après avoir actionné le bouton stop sans effacer le panneau de sortie.

28/12/09: MacCaml:
MacCaml v3.0: possibilité d’afficher ou de masquer totalement ou partiellement les sources dans le panneau de sortie.

25/11/09: MacCaml:
MacCaml v2.9: Suppression de fichiers en surnombre dans le bundle MacCaml.app.

23/11/09: LinCaml v2.4 pour versions récentes de GNU/Linux:
Debian 5.0 (Lenny), Ubuntu 9.10 (Karmic Koala), Fedora 12, openSuse 11.2
Remplace l’exemplaire du 08/11/09.

13/11/09: WinCaml:
WinCaml v3.0 inscrit dans la barre d’état la position courante du curseur (ou du début de la sélection) du panneau actif.

11/11/09: WinCaml:
WinCaml v2.9 corrige un problème de processus caml orphelins parfois rencontré sous Windows XP.

09/11/09: WinCaml:
WinCaml v2.8 corrige un problème d’indentation de la sortie d’ocaml dans WinCaml.

08/11/09: WinCaml et LinCaml:
- WinCaml v2.7: restructuration et simplification des sources; fonctionne sous Windows 2000, XP et Windows 7.
- LinCaml v2.4 pour Ubuntu 9.10 (Karmic Koala): simple recompilation rétablissant le fonctionnement des préférences.

02/10/09: MacCaml:
- MacCaml v2.9 corrige quelques problèmes rencontrés par les bibliothèques graphiques
ocaml intégrées et résout un conflit graphique entre instances simultanées de MacCaml.

28/09/09: MacCaml:
- MacCaml v2.8 fonctionne avec Tiger 10.4.11, Leopard et Snow Leopard
et améliore la synchronisation du panneau des préférences.
Les bibliothèques graphiques intégrées supportent l’architecture 64 bits sous Snow Leopard.

04/09/09: MacCaml et LinCaml:
- MacCaml v2.7 améliore la synchronisation du panneau des préférences et ajoute quelques
raccourcis clavier (cf. fichier NOUVEAU.rtf).
- LinCaml v2.4 est proche de MacCaml v2.7.

21/08/09: MacCaml:
- MacCaml v2.6 synchronise l’affichage de la fenêtre principale de MacCaml, le menu “Format”
et le panneau des fontes avec le panneau des préférences et corrige deux erreurs d’allocation mémoire.
Il est adapté aux versions 3.10.2, 3.11.0 et 3.11.1 d’ocaml.

16/08/09: MacCaml et WinCaml:
- MacCaml v2.5 corrige la fonction “Annuler” des préférences et l’affichage d’erreurs par ocaml
en présence de tabulations.
- WinCaml v2.6 corrige le fonctionnement du panneau de sortie et l’affichage d’erreurs par ocaml
en présence de tabulations.

14/08/09: LinCaml et GNUWinCaml:
- LinCaml v2.3 corrige la fonction “Annuler” des préférences et un problème de coloration syntaxique
concernant les chaînes de caractères et les commentaires et mémorise les positions des fenêtres.
- GNUWinCaml v2.3 est à peu près LinCaml v2.3 sous Windows.

13/07/09: LinCaml:
LinCaml v2.2 est proche de MacCaml v2.4 et est adapté à ocaml-3.11.1

18/05/09: MacCaml et WinCaml:
MacCaml v2.4:
- La commande (signal) “interrupt” vide à présent la file des commandes envoyées à caml.
- Suppression de mises en surbrillance temporaires indésirables de symboles appariés.
WinCaml v2.5:
- La commande (signal) “interrompre” vide à présent la file des commandes envoyées à caml.
- Remplacement de “ocaml” par “ocamlrun ocaml” dans la ligne de commande démarrant ocaml.
- Correction d’un bug de rafraîchissement du panneau d’entrée.
- Correction, pour la bibliothèque graphique intégrée, d’un problème d’interruption de “wait_next_event”.
- Suppression de mises en surbrillance temporaires indésirables de symboles appariés.

15/05/09: MacCaml et WinCaml:
MacCaml v2.3:
- Support de l’extension “.oml” pour les fichiers ocaml.
- Aménagement d’un tampon d’envoi direct de données à caml en fin de panneau d’entrée.
- Correction d’un problème de rafraîchissement de fenêtre après changement de disposition des panneaux.
- Correction d’un problème d’interruption de “wait_next_event”.
WinCaml v2.4:
- Aménagement d’un tampon d’envoi direct de données à caml en fin de panneau d’entrée.
- Correction d’un problème de la fonction d’indentation lié à la syntaxe des constantes de type “char” dans ocaml.

30/04/09: MacCaml et WinCaml:
- Révision de la justification à gauche de la sortie de ocaml.
- Implémentation sommaire de “set_text_size” (fenêtre graphique de caml-light et ocaml).

02/03/09: AFetLR.nb: algorithme de Mac-Naughton et Yamada.

15/02/09: MacCaml et WinCaml: concerne les chaînes de caractères, les commentaires et l’indentation;
les commentaires ne sont plus transmis à Caml et au panneau de sortie et leur relation avec les chaînes de caractères a été revue.

31/07/08: LinCaml (fonctionne avec ocaml-3.10.x sous divers Linux équipés de GNUstep).