Frege

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 11 de junio de 2016; las comprobaciones requieren 3 ediciones .
Frege
clase de idioma funcional , con evaluación perezosa
Apareció en 2011  ( 2011 )
Autor Ingo Wechsung
extensión de archivo .fr
Liberar
sistema de tipos estático , fuerte , con tipo de inferencia
sido influenciado Java y Haskell
Licencia licencia BSD
Sitio web github.com/frege/frege
sistema operativo multiplataforma

Frege es un lenguaje de programación funcional cercano a Haskell , implementado sobre la JVM y que le permite usar cualquier biblioteca de Java .

Historia

Hablando sobre la historia del lenguaje Frege, Ingo Wechsung recuerda cómo conoció el concepto de inferencia de tipos en ML en 2003-2004 y luego leyó un artículo de Simon Peyton-Jones que tenía un ejemplo de implementación de verificación de tipos en Haskell . Siendo un programador de Perl en ese momento, Ingo primero comenzó a experimentar con la implementación de este algoritmo en Perl . La implementación resultante del cálculo lambda tipificado (Frege 1) resultó ser demasiado lenta para el uso práctico [2] .

En 2006-2007, Ingo comenzó a trabajar en el traductor Frege 2, reescrito en Java para aumentar la velocidad . Frege comenzó como un proyecto educativo experimental, cuyo propósito era estudiar los conceptos de la programación funcional moderna . En 2007, Ingo comenzó a bloguear fregepl.blogspot.com [3] , describiendo sus experimentos [2] .

El lenguaje resultante no se distinguió por su pureza de concepto y no fue ni un lenguaje de evaluación estricta ni un lenguaje de evaluación perezosa . Luego, el autor estableció el objetivo de implementar un subconjunto de Haskell, que se logró más o menos en mayo de 2011 cuando Frege se publicó en el código de Google [2] .

En 2015, se realizó una encuesta entre los participantes de la conferencia JavaOne sobre qué lenguaje Java alternativo que se ejecuta sobre la JVM prefieren. El primer lugar fue para Frege [4] .

Comparación con Haskell

Ejemplos

modulo hola donde saludo amigo = "Hola, " ++ amigo ++ "!" argumentos principales = hacer println(saludo "Mundo")

Notas

  1. Versión 3.24 - 2018.
  2. 1 2 3 Paul Krill. Frege se une a Scala, Clojure entre los lenguajes funcionales de Java . InfoWorld (2 de octubre de 2014). Fecha de acceso: 21 de enero de 2016. Archivado desde el original el 28 de enero de 2016.
  3. Lenguaje de programación de Frege: ¿Qué es frege (o qué será)? . fregepl.blogspot.ru (28 de septiembre de 2007). Consultado el 23 de enero de 2016. Archivado desde el original el 4 de marzo de 2016.
  4. JavaOne comparó la popularidad de los lenguajes que se ejecutan sobre la máquina virtual Java  // Open Systems. - 2015. - Nº 11 . Archivado desde el original el 26 de enero de 2016.

Literatura

Enlaces