Подтвердить что ты не робот

Новые функциональные языки

Функциональное программирование существует по крайней мере с 1958 года (создание Lisp), но сейчас происходит ренессанс со старыми функциональными языками, которые сбрасываются, и создаются новые функциональные языки.

Какие функциональные языки существуют, которые недавно разработаны или находятся в процессе разработки?

Я понимаю, что вы можете писать чисто функциональные программы на большинстве языков высокого уровня, поэтому с функциональными языками я подразумеваю языки, специально предназначенные для функционального программирования, такие как F #.

Если у вас есть ссылки на учебные пособия, примеры вики или кода, я рекомендую вам добавить их в свой ответ!

4b9b3361

Ответ 1

Вот краткий список тех, которые я тестировал до сих пор (кроме F #, о которых вы уже упоминали):

  • Haskell (статически типизированный, чистый) - Обратите внимание на бесплатную электронную книгу Real World Haskell, со всем, что вам нужно знать об этом.
  • Clojure (динамически типизированный, нечеткий)
  • Scala (статически типизированный, нечеткий) - полное (двухстороннее) взаимодействие с Java
  • Newspeak
  • Erlang - сделано для удобства обработки concurrency

Ответ 2

Меня удивляет, что древняя работа вроде ML (Caml), Haskell и Erlang передается как "новая". Scala является подлинно новым, а F # является попыткой адаптировать старый язык ML к платформе .NET и обязательно будет интересным.

Если вы хотите что-то действительно новое, Agda - это новый Haskell. Agda включает в себя множество уроков, извлеченных из 20-летних языков, таких как Haskell и 30-летних языков, таких как ML, и он подталкивает конверт к самой последней работе в системах типов. Гарантируйте, чтобы ваша голова взорвалась или удвоила ваши деньги!

Ответ 3

Хотелось бы добавить OCaml в микс. Я был привлечен к нему, потому что он уделяет большое внимание производительности. Если я правильно понимаю, F # является производным от OCaml.

Но он не просто функциональный, он хорошо подходит и для императивного программирования.

Ответ 4

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

При программировании в Haskell увлекательно видеть будущее настолько близко, что вы можете его коснуться.

Ответ 6

Nemerle - это функциональный, статически типизированный язык с обширной поддержкой метапрограммирования .NET. Как и F #, он был вдохновлен ML, но его синтаксис тесно связан с С#, что делает его более читаемым. Тип вывода в Nemerle еще более мощный, чем ML, позволяя ему выводить типы из использования в присутствии перегрузки.

Ответ 7

Erlang, OCaml, Haskell, Scheme и языки программирования, такие как R (статистика), Mathematica (символическая математика), J и K (финансовый анализ) и XSLT (XML)

Ответ 8

Хорошо, если вы хотите действительно нового, попробуйте Babel-17. Только поймать: его еще не реализовано:-) Но есть спецификация. Проверьте http://www.babel-17.com.

Ответ 9

Функциональное программирование в настоящее время принято в мейнстриме, поэтому то, что раньше было академическим путем, теперь разделено на академические и промышленные реализации.

F # - высокопрофильный пример промышленного функционального языка в развитии (здесь является примером игры Джона Конвея Жизни с графическим интерфейсом, написанным в 32 строках F #, здесь - моя книга о F #). Другие включают Clojure Rich Hickey и HLVM.

Последние высокоуровневые функциональные языки из академических кругов - ATSLang и Scala.