So approssimativamente come F # e OCaml differiscono in termini di "caratteristiche" (ad esempio, funtori, camlp4, unità di misura ...).confronto F # e OCaml
Mi chiedo quanto segue: Riguardo al codice che non contiene le suddette funzionalità, c'è una differenza nello stile di codifica (oltre alle convenzioni di denominazione) tra F # e OCaml? Per dirla in altro modo, se un codice F # (idiomatico) può essere tradotto in modo diretto (forse banalmente) in OCaml, questa trasformazione porterà necessariamente a Ocaml idiomatico?
Modifica: Dai collegamenti forniti da Guy Coder immagino che qualche codice OCAML "idiomatico" non possa tradurre direttamente in codice F # "idiomatico" a causa del fatto che le eccezioni sono molto più lente in F # (e più ampiamente usate in OCaml). E l'altra direzione? Il codice OCaml di F # produrrà mai una reazione in termini di "Do not do XX in questo modo, il modo OCaml di fare XX è con eccezioni invece di XY .."
In generale, quali sono le differenze nell'utilizzo eccezioni in OCaml se confrontate con l'utilizzo tipico in F #. Esistono altri costrutti che vengono utilizzati in modo diverso nelle due lingue (ad esempio a causa di penalizzazioni delle prestazioni in una lingua)?
Grazie per aver dedicato del tempo a esplorare questa domanda più di una semplice occhiata e guardando i collegamenti che ho fornito.Non utilizzo attivamente OCaml quindi ci sono dei buchi in ciò che posso fornire, tuttavia non credo che l'utilizzo di tipi di opzioni invece di eccezioni non sarebbe idiomatico, vedo l'uso delle eccezioni come una presa di forza da ML. –
Per capire veramente questa domanda in modo più approfondito, se la guardi con le conoscenze che ho, allora non devi guardare solo F # e OCaml ma l'intera famiglia ML, ML, CAML, OCaml e F #. Credo che la CAML non sia più attiva o addirittura utilizzata nel flusso principale, ma l'ho inclusa per ragioni storiche. –
Se vuoi davvero maggiori dettagli, prova a contattare i membri di [ICFP] (http://www.icfpconference.org/) o [CUFP] (http://cufp.org/2016/) perché non lo sono un membro di entrambi. –