Presentando AjCat

Published on Author lopezLeave a comment

Hace algo más de un mes, estuve trabajando en un intérprete del lenguaje Cat:

The Cat Programming Language

Cat is a functional stack-based programming language inspired by the Joy programming language. The primary differences is that Cat provides a static type system with type inferencing (like ML or Haskell), and a term rewriting macro language extension language called MetaCat.

Cat is a high-level intermediate language translation that can also be used as a stand alone language for simple application development. In this way it occupies a similar niche to PostScript. Cat is also an appropriate language for teaching of basic programming concepts.

Si no conocen el lenguaje Cat, recomiendaría leer:

Cat Tutorial
Cat Specification
Cat Primitives

Publiqué el código como parte de mi proyecto Code Katas en Google Code. El nombre que usé es AjCat:

http://code.google.com/p/ajcodekatas/source/browse/#svn/trunk/AjCat

La solución tiene tres proyectos:

La actual implementación no es completa. Solo soporta enteros, todavía no soporta objetos .NET, y no hay primitivas de gráficos. Pero está implementado gran parte de las primitivas y funciones definidas en Cat.

Corriendo el programa de consola, pueden ingresar y evaluar expresiones:

Este código está dedicado a Rodolfo Finocchieti (@rodolfof en Twitter) quien me dejó un comentario acá en este blog, comentándome de este lenguaje Cat, una idea fascinante.

Los tests están en verdes:

Y hay un buen code coverage

Como siempre, me divertí escribiendo este código.

Nos leemos!

Angel “Java” Lopez
http://www.ajlopez.com/
http://twitter.com/ajlopez

Enjoying Eric Clapton Everyday I Have the Blues Live

Leave a Reply

Your email address will not be published. Required fields are marked *