Эквивалент данных Haskell на языке Erlang.Список и т.д.?

#erlang

#erlang

Вопрос:

Как Erlanger, единственное, чему я завидовал в Haskell, это его модулям, таким как Data.List . Он хорошо продуман и тщательно назван, например, его intersperse , intercalate и transpose функции. Интересно, есть ли проект Erlang, который пытается собрать общую структуру данных и реализации утилит и представляет их в сжатом виде.

Комментарии:

1. Не удалось ничего найти на erldocs.com и projects.trapexit.org/web . Это места, в которых я обычно ищу библиотеки в мире Erlang.

2. Да, я сначала посмотрел туда, но ничего не смог найти. В есть куча небольших утилитtrapexit.org/Special:UserContributions . Но опять же, не совсем то, что я ищу.

3. Похоже, что на этот вопрос на самом деле нет ответа. Я голосую за то, чтобы закрыть его как «неконструктивный». @Edward Wang, если вы начинаете такой проект, не стесняйтесь отвечать на свой собственный вопрос ссылкой на него и принимайте этот ответ, как только это будет возможно.

4. Джереми, я все равно пометил ответ Роберто как принятый. Давайте двигаться дальше.

Ответ №1:

Насколько я могу прочитать отсюда:

http://haskell.org/ghc/docs/latest/html/libraries/base/Data-List.html

модуль содержит базовые операции со списками. Эквивалентом Erlang, я полагаю, является модуль lists:

http://www.erlang.org/doc/man/lists.html

Они оба содержат функции для отображения, реверсирования, сворачивания и так далее.

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

Комментарии:

1. У вас есть реализация intersperse и intercalate в: github.com/tim/erlang-oauth/blob/master/src/oauth.erl

Ответ №2:

Я реализовал значительное подмножество Data.List как часть моей l библиотеки. https://github.com/pzel/l