Frege | |
---|---|
Clasa de limba | funcțional , cu evaluare leneșă |
Aparut in | 2011 |
Autor | Ingo Wechsung |
Extensie de fișier | .fr |
Eliberare | |
Tip sistem | static , puternic , cu inferență de tip |
A fost influențat | Java și Haskell |
Licență | Licență BSD |
Site-ul web | github.com/frege/frege |
OS | multiplatformă |
Frege este un limbaj de programare funcțional apropiat de Haskell , implementat deasupra JVM -ului și care vă permite să utilizați orice bibliotecă Java .
Vorbind despre istoria limbajului Frege, Ingo Wechsung își amintește cum a fost introdus în conceptul de inferență de tip în ML în 2003-2004 și apoi a citit un articol de Simon Peyton-Jones care avea un exemplu de implementare a verificării de tip în Haskell . Fiind un programator Perl la acea vreme, Ingo a început pentru prima dată să experimenteze cu implementarea acestui algoritm în Perl . Implementarea rezultată a calculului lambda tipat (Frege 1) sa dovedit a fi prea lentă pentru utilizare practică [2] .
În 2006-2007, Ingo a început să lucreze la traducătorul Frege 2, rescris în Java pentru viteză . Frege a început ca un proiect educațional experimental, al cărui scop a fost să studieze conceptele de programare funcțională modernă . În 2007, Ingo a început să scrie pe blog fregepl.blogspot.com [3] , descriindu-și experimentele [2] .
Limba rezultată nu se distingea prin puritatea conceptului și nu era nici o limbă cu evaluare strictă, nici o limbă cu evaluare leneșă . Autorul și-a stabilit apoi un obiectiv de a implementa un subset de Haskell, care a fost mai mult sau mai puțin atins până în mai 2011, când Frege a fost publicat pe codul Google [2] .
În 2015, a fost realizat un sondaj în rândul participanților la conferința JavaOne despre limbajul Java alternativ care rulează pe JVM -ul pe care îl preferă. Pe primul loc i-a revenit Frege [4] .