Il s'agit de la commande js_of_ocaml qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS
PROGRAMME:
Nom
js_of_ocaml - bytecode OCaml vers le compilateur Javascript
DESCRIPTION
js_of_ocaml(1) est un compilateur de programmes de bytecode OCaml vers Javascript. ça fait
possible d'écrire des programmes OCaml qui s'exécutent sur des navigateurs Web.
Il est livré avec des liaisons pour une grande partie des API de navigateur et les programmes générés
ont été mesurés pour exécuter généralement plus rapidement l'interpréteur de bytecode OCaml.
UTILISATION
Votre programme doit d'abord être compilé à l'aide du compilateur de bytecode OCaml ocamlc (1).
Les liaisons Javascript, ainsi qu'une extension de syntaxe correspondante, sont fournies par le
js_of_ocaml paquet.
ocamlfind ocamlc -package js_of_ocaml -package js_of_ocaml.syntaxe \
-syntaxe camlp4o -linkpkg -o input_file.byte input_file.ml
Ensuite, exécutez le js_of_ocaml(1) compilateur pour produire du code Javascript.
js_of_ocaml [ Options ] fichier_entrée.octet
OPTIONS
Les options de ligne de commande suivantes sont reconnues par js_of_ocaml (1).
-déboguer prénom
module de débogage prénom
-désactiver prénom
désactiver l'optimisation prénom
-joli
assez imprimer la sortie
-les informations de débogage
informations de débogage de sortie
-pas de ligne
désactiver l'inline
-noruntime
ne pas inclure le runtime standard
-haut niveau
compiler un niveau supérieur
-I dir Ajouter dir à la liste des répertoires d'inclusion
-o filet
définir le nom du fichier de sortie sur filet
-Aide Afficher la liste des options
--Aidez-moi Afficher la liste des options
CARACTÉRISTIQUES, LIMITATIONS
Toute la bibliothèque standard OCaml doit être supportée, à l'exception des canaux d'entrée/sortie,
références faibles, et la plupart des fonctions du module Sys. Des bibliothèques supplémentaires telles que Bigarray,
Unix, Thread ou Str ne sont pas pris en charge.
L'appel de queue n'est pas optimisé en général. Cependant, les fonctions auto-récursives (lorsque la queue
les appels sont à la fonction elle-même) sont compilés dans une boucle.
Les modules récursifs ne sont pas pris en charge pour le moment.
La représentation des données diffère de la représentation habituelle, pour des raisons de performances. Notamment,
les entiers sont de 32 bits (au lieu de 31 ou 63 bits) et les flottants ne sont pas encadrés. En conséquence,
les fonctions de triage, de comparaison polymorphe et de hachage peuvent donner des résultats différents
que d'habitude:
· le triage des chars n'est pas pris en charge (travaux de déconcentrage) ;
· la fonction de hachage polymorphe ne donnera pas les mêmes résultats sur les structures de données
contenant des flotteurs;
· ces fonctions peuvent être plus sujettes au débordement de la pile, car la pile Javascript est petite.
Utilisez js_of_ocaml en ligne à l'aide des services onworks.net