Frege | |
---|---|
Jazyková třída | funkční , s líným hodnocením |
Objevil se v | 2011 |
Autor | Ingo Wechsung |
Přípona souboru | .fr |
Uvolnění | |
Typový systém | statický , silný , s odvozením typu |
Byl ovlivněn | Java a Haskell |
Licence | BSD licence |
webová stránka | github.com/frege/frege |
OS | multiplatformní |
Frege je funkcionální programovací jazyk blízký Haskellu , implementovaný nad JVM a umožňuje vám používat jakékoli Java knihovny .
Když mluvíme o historii jazyka Frege, Ingo Wechsung vzpomíná, jak se v letech 2003-2004 seznámil s konceptem odvození typu v ML , a poté si přečetl článek Simona Peyton-Jonese , který měl příklad implementace kontroly typu v Haskell . Jako programátor v Perlu začal Ingo nejprve experimentovat s implementací tohoto algoritmu v Perlu . Výsledná implementace typovaného lambda kalkulu (Frege 1) se ukázala být pro praktické použití příliš pomalá [2] .
V letech 2006-2007 začal Ingo pracovat na překladači Frege 2, přepsaném v Javě pro rychlost . Frege začal jako experimentální vzdělávací projekt, jehož účelem bylo studovat koncepty moderního funkcionálního programování . V roce 2007 začal Ingo blogovat na fregepl.blogspot.com [3] , kde popisuje své experimenty [2] .
Výsledný jazyk se nevyznačoval čistotou konceptu a nebyl ani jazykem s přísným hodnocením , ani jazykem s líným hodnocením . Autor si poté stanovil za cíl implementovat podmnožinu Haskellu, čehož bylo víceméně dosaženo do května 2011, kdy byl Frege zveřejněn na google kódu [2] .
V roce 2015 proběhl mezi účastníky konference JavaOne průzkum, jaký alternativní jazyk Java , který běží nad JVM , preferují. První místo obsadil Frege [4] .