Comments 12
Коротко и по делу. Может это ближе к теме выражений, но я бы привел здесь и логические операции с сопоставлением типов, (равно и в точности равно, например), то есть 1 может не равняться 1.0 именно из-за типов данных. Ну и рекорды привел бы здесь же, хотя их можно запихнуть в отдельную статью. Было бы интересно поучаствовать в цикле статей. Если нужна помощь — пишите.
0
Одна универсальная функция возвращала бы атом, а не список, тогда пришлось бы на каждый тип определять отдельный стандартный атом, навроде true и false.
0
Думаю стоит статью актуализировать: добавить всякие
is_map
, binary_to_{integer,float}
, integer_to_binary
, float_to_binary
.+1
Но Erlang решает эту проблему другим, более эффективным способом.
«Let it crash» — малость не о том :-)
А для решения этой проблемы в Erlang есть такие замечательные вещи, как xref и — в особенности — dialyzer. Т.е. динамическая (пусть и сильная) типизация «парируется» наличием мощного инструмента статического анализа.
0
Анализатор — это хорошо. Так же, на сколько я знаю, есть возможность добавить статичную типизацию. Я об этом напишу в отдельной статье. Пока я имею лишь небольшой опыт работы с этими инструментами. Поэтому не могу писать о них с полной свободой слова. Я в отпусте их поюзаю и тогда в главе 4.1 опишу их.
0
Так же, на сколько я знаю, есть возможность добавить статичную типизацию.
Как вы себе это представляете?! Возможно вы говорите о type annotation. Это есть. И есть есть даже замечательный инструмент для этого — TypEr.
Но, все это к статической типизации это имеет слабое отношение.
0
Спасибо за статьи. Будет ли продолжение?
0
Нет. Продолжения не будет. Книга, которая бралась за основу, была переведена на русский. Не выжу смысла продолжать и писать статьи, большая часть материала из которых уже есть на русском языке. Лучше проситайте эту книгу, там все очень доступно и понятно описано.
0
Sign up to leave a comment.
Erlang для самых маленьких. Глава 4: Система типов