основное существенное различия тайпчекинг системы в ризоне от тайпскрипта - это то, что у тайпскрипта «постепенная типизация», что означает, что некоторые типы могут провериться во время компиляции, некоторые во время рантайма, а у ризона всегда строгая типизация
вот простой пример
ReasonML
let sum = (a, b) => a + b; в ризоне автовывод будет таким:
let sum: (int, int) => int = <fun>;
Typescript
let sum = (a, b) => a + b;
let sum: (a: any, b: any) => any
ризон может определить аргументы функции на основе оператора «+», это круто, но было бы интересней увидеть, сможет ли он подобным же образом сам выводить более сложные типы
У тайпскрипта однако есть флаг —strict, который делает его типизацию полностью статической
https://news.ycombinator.com/item?id=20875688
вот тут первым комментарием чувак пишет, что на reasonML можно писать разве что ради интереса, для прода это не подходит, т.к приходится писать кучу аннотаций @bs, которые в конечном итоге могут привести к рантайм ошибкам, которые сложно отдебажить
@faergeek что скажешь?
Вы заебали, честно t.me/flood_ru
Обсуждают сегодня