Piense en Smalltalk en un paquete del tamaño de Lua con una pizca de Erlang y envuelta en una sintaxis familiar y moderna.
System . print ( "Hello, world!" )
class Wren {
flyTo (city) {
System . print ( "Flying to %(city)" )
}
}
var adjectives = Fiber . new {
[ "small" , "clean" , "fast" ].each { | word | Fiber . yield (word) }
}
while ( ! adjectives.isDone) System . print (adjectives. call ())Wren es pequeño. La implementación de VM tiene menos de 4,000 semicolones. Puedes esconder todo en una tarde. Es pequeño , pero no denso . Es legible y con amor.
Wren es rápido. Un compilador de paso único rápido al bytecodo ajustado, y una representación de objeto compacta ayudan a Wren a competir con otros idiomas dinámicos.
Wren está basado en clase. Existen muchos idiomas de secuencias de comandos, pero muchos tienen modelos de objetos inusuales o inexistentes. Wren coloca clases al frente y al centro.
Wren es concurrente. Las fibras livianas son centrales para el modelo de ejecución y le permiten organizar su programa en un ejército de coroutinas de comunicación.
Wren es un lenguaje de secuencias de comandos. Wren está destinado a integrar en aplicaciones. No tiene dependencias, una pequeña biblioteca estándar y una API C fácil de usar. Se compila limpiamente como C99, C ++ 98 o cualquier cosa más tarde.
Si te gusta el sonido de esto, comencemos. ¡Incluso puedes probarlo en tu navegador! ¿Entusiasmado? Bueno, ¡vamos y participa!