Scrivere codice di cross-compilazione mi sembra un mondo di dolore. John Whitington of Coherent PDF è l'unica persona che conosco che abbia provato a farlo in qualsiasi misura reale.
Ho tradotto molto codice OCaml in F # (probabilmente più di chiunque altro al mondo) e i problemi principali sono la sintassi #light
, l'uso di qualsiasi caratteristica OCaml non banale (oggetti, varianti polimorfiche, ordine superiore moduli, argomenti etichettati e opzionali e così via), librerie (ad es. lablgl, lablgtk, ocamlgraph, pigrizia), macro (analisi, flussi, estensioni di pattern matching) e modifiche nella sintassi di base come l'indicizzazione di array. Ad esempio, ho appena provato a portare lo Almabench benchmark da OCaml a F # e ci sono volute diverse ore perché ho finito per dover riscrivere ogni a.[i]
a a.(i)
a causa di una moltitudine di bug nel compilatore F #: la sua modalità di compatibilità OCaml è abbastanza fragile.
Quindi ti consiglio di scegliere tra le lingue piuttosto che provare a eseguire la compilazione incrociata.
fonte
2010-11-21 18:27:07
Si dovrebbe vedere http://stackoverflow.com/questions/179492/f-and-ocaml –