2010-05-26 19 views
8

Quando le persone si riferiscono alla "sintassi rivista" in OCaml, significano che ciò diventerà una nuova sintassi per il linguaggio, o è solo una sintassi alternativa creata in CamlP4? Se è il primo, allora quando la "sintassi rivista" diventa la "sintassi ufficiale" di OCaml?Qual è la "sintassi rivista" in OCaml?

risposta

11

La sintassi revisionata è solo una alternative to the original implementata in Camlp4/5 (c'è anche uno Lisp syntax scritto in Camlp5). Alcuni lo preferiscono, ma vorrei scoraggiarvi dall'usarlo poiché è probabile che renderà il vostro codice più confuso per gli altri programmatori OCaml. Un punto in cui è importante conoscere la sintassi modificata è quando si scrivono le estensioni Camlp4/5 --- la sintassi revisionata viene utilizzata per motivi e riscritture, probabilmente perché è un po 'più coerente dell'originale.

Per quanto ne so, non esiste un piano per sostituire la sintassi OCaml originale con la sintassi rivista.

+2

"ma vorrei scoraggiarvi dall'usarlo poiché è probabile che rendano il vostro codice più confuso per gli altri programmatori OCaml" - lui lui, allora è meglio scoraggiare usando ocaml a tutti, poiché confonderà molte più persone :)). Ad ogni modo, è possibile scrivere citazioni con sintassi originale, ma ci sono alcuni casi che non possono essere espressi nella sintassi originale, quindi la revisione è solitamente preferita per quella attività. Come per la programmazione abituale, la sintassi rivista è probabilmente più logica e più facile per i neofiti (ecco perché esiste dopo tutto) - senza molte ambiguità di quella originale. – ygrek

+6

ygrek, non faccio alcuna rappresentazione su quale sia la sintassi migliore. Penso che una comunità di piccole e medie dimensioni come OCaml's dovrebbe lavorare sodo per non frammentare attorno ai dialetti. –

+3

Un altro punto contro la sintassi rivista: supporto dell'editor scarso (er). Neppure le strutture Tuareg e Vim's OCaml lo supportano a mia conoscenza. –

2

Questa è solo una sintassi concreta alternativa. Penso che sia solo per dimostrare quanto sia potente camlP4, una sorta di proof of concept.

+0

Non è una prova di concetto - copre tutte le funzionalità della lingua come quella originale. – ygrek

+0

è solo una prova del concetto che è possibile avere diverse sintassi concrete. Questo era quello che intendevo ... perché non penso che molte persone stanno effettivamente usando la sintassi rivista. – LB40

Problemi correlati