domingo, 4 de noviembre de 2012

Fancy es un nuevo lenguaje de programación de propósito general inspirado en Smalltalk, Ruby, Erlang y Io


Fancy es un nuevo lenguaje de programación de propósito general  inspirado en Smalltalk, Ruby, Erlang y Io, que se ejecuta en la máquina virtual de Rubinius. Tiene integración total con Ruby y las librerías de Ruby utilizadas en Rubinius.

Fancy es dinámico, orientado a objetos puro, basado en clases con soporte integrado para futures y actores (como Erlang). La sintaxis es fácil de aprender, consistente y está inspirada en Ruby y Smalltalk.



Veamos unos ejemplos:

"Hello, World!" println

El objeto String lanza un mensaje println, esto es muy similar a Smalltalk.


class Fixnum {
  def fib {
    match self {
      case 0 -> 0
      case 1 -> 1
      case _ -> self - 1 fib + (self - 2 fib)
    }
  }
}

15 times: |x| {
  x fib println
}

En este caso utiliza pattern matching.


class Greeter {
  def initialize: @name
  def greet {
    "Hello, #{@name}" println
  }
}

g = Greeter new: "World!"
g greet # => "Hello, World!"

Me parece un lenguaje por demás interesante, sería buena idea llevarlo a la plataforma Java. Que opinan?

Dejo links:
http://www.fancy-lang.org/
http://en.wikipedia.org/wiki/Fancy_(programming_language)