Écrire du code de compilation croisée me semble être un monde de douleur. John Whitington de PDF Coherent est la seule personne que je connaisse qui a essayé de le faire à un degré réel.
J'ai traduit beaucoup de code OCaml en F # (probablement plus que quiconque dans le monde) et les principaux problèmes sont la syntaxe #light
, l'utilisation de toutes les fonctionnalités OCaml non triviales (objets, variantes polymorphes, ordre supérieur modules, arguments étiquetés et optionnels, etc.), les bibliothèques (par exemple, lablgl, lablgtk, ocamlgraph, paresse), les macros (analyse, flux, extensions de correspondance de modèles) et les changements de syntaxe de base tels que l'indexation de tableaux. Par exemple, j'ai juste essayé de porter le Almabench benchmark d'OCaml à F # et cela a pris plusieurs heures parce que j'ai fini par devoir réécrire chaque a.[i]
à a.(i)
à la main en raison d'une multitude de bogues dans le compilateur F #: son mode de compatibilité OCaml est assez fragile.
Donc je vous conseille de choisir entre les langues plutôt que d'essayer de compiler.
Vous devriez voir http://stackoverflow.com/questions/179492/f-and-ocaml –