Frege

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Frege
Frege logo.svg
Класс языка

функциональный, с ленивыми вычислениями

Появился в

2011-11-20; 2192 дня тому назад

Автор

Ingo Wechsung

Расширение файлов

.fr

Выпуск
Система типов

статическая, сильная, с выводом типов

Испытал влияние

Java и Haskell

Лицензия

BSD license

ОС

Cross-platform

Сайт

github.com/Frege/frege

Fregeфункциональный язык программирования, близкий к Haskell, реализованный поверх JVM и позволяющий использовать любые Java-библиотеки.

История[править | править вики-текст]

Рассказывая об истории языка Frege, Ingo Wechsung вспоминает, как он в 2003-2004 познакомился с концепцией вывода типов в языке ML, а затем прочитал статью Саймона Пейтон-Джонса, в которой был пример реализации проверки типов на хаскелле. Будучи в то время Perl-программистом, Инго сначала начал экспериментировать с реализацией этого алгоритма на перле. Полученная реализация типизированного лямбда-исчисления (Frege 1) оказалась слишком медленной для применения на практике[2].

В 2006-2007 Инго начал работу над транслятором Frege 2, переписанном ради быстродействия на Java. Начинался Frege как экспериментально-учебный проект, цель которого была — изучение концепций современного функционального программирования. В 2007 году Инго начал вести блог fregepl.blogspot.com[3], где описывал свои эксперименты[2].

Певоночально получившийся язык не отличался чистотой концепции и не относился ни к языкам со строгими вычислениями, ни к языкам с ленивыми вычислениями. Затем автор поставил себе цель реализовать подмножество хаскеля, которая была более-менее достигнута к маю 2011 года, когда Frege был опубликован на google code[2].

В 2015 году, среди участников конференции JavaOne, был проведён опрос о том, какой альтернативный Java язык, работающий поверх JVM, они предпочитают. Первое место занял Frege[4].

Сравнение с Haskell[править | править вики-текст]

Примеры[править | править вики-текст]

Примечания[править | править вики-текст]

  1. https://api.github.com/repos/Frege/frege/releases
  2. 1 2 3 Paul Krill. Frege joins Scala, Clojure among Java functional languages. InfoWorld (Oct 2, 2014). Проверено 21 января 2016.
  3. Frege Programming Language: What is frege (or what will it be)?. fregepl.blogspot.ru (September 28, 2007). Проверено 23 января 2016.
  4. На JavaOne сравнили популярность языков, работающих поверх виртуальной машины Java // Открытые системы. — 2015. — № 11.

Литература[править | править вики-текст]

Ссылки[править | править вики-текст]