Как Reason и BuckleScript относятся к OCaml?
Я взглянул на сайты Reason и BuckleScript, но не совсем уверен, как они связаны с OCaml.
Насколько я понимаю, Reason - это альтернативный синтаксис поверх OCaml, а BuckleScript - это примерно компилятор из OCaml/Reason для JavaScript, но, похоже, оба имеют большую сложность, чем эта. Например, Reason может выдавать более приятные сообщения об ошибках, чем OCaml, а BuckleScript, кажется, способен взаимодействовать с node.js (что, по- видимому, js_of_ocaml не в состоянии).
В частности, что предоставляют Reason и BuckleScript, которых нет в обычном OCaml?
1 ответ
Из документации Reason, доступной здесь: https://reasonml.github.io/docs/en/what-and-why
В чем причина? Разум не новый язык; это новый синтаксис и набор инструментов, разработанный на основе проверенного в битве языка OCaml. Разум дает OCaml знакомый синтаксис, ориентированный на программистов JavaScript, и обслуживает уже известные рабочие процессы NPM/Yarn.
А из документации Bucklescript можно ознакомиться здесь: https://bucklescript.github.io/docs/en/what-why
BuckleScript не новый язык. Он просто использует OCaml, быстрый, прагматичный и типизированный язык, и позволяет компилировать его в чистый, читаемый и производительный код JavaScript. Это позволяет пользователям писать на языке промышленного уровня, используя существующие знакомые инструменты JavaScript (npm/yarn, упаковщики, минификаторы, devtools и т. Д.) И получая доступ к обширной экосистеме как из JavaScript, так и из OCaml.
Таким образом, основным отличием между ними (по крайней мере, насколько я понимаю) является свойство читаемости сгенерированного кода. Что подробно объясняется в документации Buckscript.
И чтобы ответить на ваш вопрос "В частности, что предоставляют Reason и BuckleScript, которых нет в обычном OCaml?" Другой синтаксис, а вместе с ним и другая экосистема.