Frege | |
---|---|
Språkklass | funktionell , med lat utvärdering |
Framträdde i | 2011 |
Författare | Ingo Wechsung |
Filtillägg _ | .fr |
Släpp | |
Typ system | statisk , stark , med typinferens |
Blivit påverkad | Java och Haskell |
Licens | BSD-licens |
Hemsida | github.com/frege/frege |
OS | plattformsoberoende |
Frege är ett funktionellt programmeringsspråk nära Haskell , implementerat ovanpå JVM och låter dig använda alla Java -bibliotek .
När han pratar om Frege-språkets historia, minns Ingo Wechsung hur han introducerades till begreppet typinferens i ML 2003-2004 och sedan läste en artikel av Simon Peyton-Jones som hade ett exempel på implementering av typkontroll i Haskell . Som en Perl- programmerare vid den tiden började Ingo först experimentera med att implementera denna algoritm i Perl . Den resulterande implementeringen av den typade lambdakalkylen (Frege 1) visade sig vara för långsam för praktisk användning [2] .
2006-2007 började Ingo arbeta med Frege 2-översättaren, omskriven i Java för snabbhet . Frege började som ett experimentellt utbildningsprojekt, vars syfte var att studera begreppen modern funktionell programmering . 2007 började Ingo blogga fregepl.blogspot.com [3] , och beskrev sina experiment [2] .
Det resulterande språket kännetecknades inte av sin begreppsrenhet och var varken ett språk med strikt utvärdering eller ett språk med lat utvärdering . Författaren satte sedan ett mål att implementera en delmängd av Haskell, vilket mer eller mindre uppnåddes i maj 2011 när Frege publicerades på google-kod [2] .
Under 2015 genomfördes en undersökning bland deltagarna på JavaOne-konferensen om vilket alternativt Java- språk som körs ovanpå JVM de föredrar. Förstaplatsen gick till Frege [4] .