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
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.
Questa è solo una sintassi concreta alternativa. Penso che sia solo per dimostrare quanto sia potente camlP4, una sorta di proof of concept.
Non è una prova di concetto - copre tutte le funzionalità della lingua come quella originale. – ygrek
è 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
- 1. Modello in lattice per rivista/rivista
- 2. Qual è la sintassi `& ::` in LESS CSS?
- 3. Qual è la sintassi di gstreamer caps?
- 4. allegati jenkins - qual è la sintassi?
- 5. Qual è la nuova sintassi lambda?
- 6. Qual è la sintassi del file Diff
- 7. Qual è la sintassi? ; (funzione ($, indefinito)
- 8. Qual è la sintassi "..." (puntini di sospensione)?
- 9. Qual è lo stato delle estensioni della sintassi di -ppx per OCaml?
- 10. Qual è la sintassi: utilizzando "questo" nella proprietà in C#?
- 11. In Java qual è la sintassi per commentare più righe?
- 12. Qual è la sintassi hash corretta in Ruby 2.0?
- 13. Qual è la sintassi per "non uguale" in SQLite?
- 14. OCaml toplevel con le estensioni di sintassi
- 15. Qual è la sintassi di DBIx :: Class per la sintassi CASE WHEN ... THEN SQL?
- 16. Qual è la sintassi corretta di ng-include?
- 17. font-feature-settings: Qual è la sintassi corretta?
- 18. Qual è la sintassi di ORDERBY nel LINQ di VB.NET?
- 19. Qual è la sintassi F # per "non uguale a"?
- 20. Qual è la sintassi per byte_size nella corrispondenza del modello?
- 21. Qual è la sintassi legale per definire il modello annidato?
- 22. mysql: Qual è la sintassi corretta per NOT LIKE?
- 23. Qual è la sintassi per scrivere commenti nel file build.gradle?
- 24. Qual è la sintassi completa delle espressioni GPath di Groovy?
- 25. Qual è la sintassi RTF per un collegamento ipertestuale?
- 26. Qual è la sintassi del commento nei modelli Yesod (hamlet)?
- 27. Qual è la sintassi di una funzione statica?
- 28. Qual è la corretta sintassi del bind JavaScript?
- 29. Qual è il significato di questa sintassi?
- 30. Qual è questa sintassi dell'operatore condizionale strano?
"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
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. –
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. –