Является ли «новый» в Erlang частью официального стандарта и должны ли мы его использовать? - PullRequest
3 голосов
/ 18 февраля 2010

Я задаю этот вопрос, так как заметил, что многие проекты OpenSource Erlang используют «new» для передачи параметров модулям Erlang, но в то же время я слышу, что «new» не является частью официального языка и не может быть поддерживается, если он содержит ошибки. Прежде чем использовать его в своем собственном проекте, я хотел бы прояснить этот вопрос.

Обновление: С тех пор я спросил в официальном списке рассылки Erlang:

http://www.erlang.org/cgi-bin/ezmlm-cgi?4:mss:49535:201002:aicfhmngkhodmclhlnak

1 Ответ

4 голосов
/ 18 февраля 2010

Официального стандарта Эрланга не существует, что затрудняет его участие.

Команда OTP / Erlang, похоже, рассматривает функции как официальные, только если они их задокументировали. Параметризованные модули (то есть имя функции) не документированы. Команда OTP / Erlang решила сделать то же самое, что и стандарт Erlang.

Лично я не вижу влечения к тому, чтобы Эрланг выглядел так, как будто это не так. Это только заставляет язык иметь больше правил, чтобы знать и учить, и это только приводит к разочарованию от тех, кто ожидает, что все будет таким же, как в прошлом. Не сложно добавить сложности.

С точки зрения реализации (абстракция, которую используют многие) параметризованный модуль в настоящее время является просто кортежом имени модуля и «переменных экземпляра» параметризованного модуля. Так что это просто вызов внешней функции, который скрывает некоторые параметры.

...