Ir al contenido principal

This is my blog, more about me at marianoguerra.github.io

🦋 @marianoguerra.org 🐘 @marianoguerra@hachyderm.io 🐦 @warianoguerra

para entender la recursion primero hay que entender la recursion


creo que nunca bloguee por acá sobre efene, por las dudas...

efene es un proyecto mio, es un lenguaje de programación con sintaxis similar a los derivados de C para la maquina virtual de Erlang para mas info [1].

desde hace dos versiones efene esta escrito en efene, hasta ahí todo bien, ahora el problema viene cuando agrego cambios de sintaxis que hacen que el código actual del compilador no sea valido por alguna razón.

hace un rato estaba agregando la posibilidad de marcar las funciones a exportar de un modulo, hasta ahora todas eran publicas por defecto, ahora todas son privadas por defecto y hay que marcar las publicas, esto me llevo a cambiar el parser, con lo cual para compilar la nueva feature tenia que compilar el compilador para que soporte la feature con el código fuente que no era valido, en realidad era valido, pero todas las funciones ahora eran privadas y no se podían usar desde los otros módulos así que tenia todos módulos aislados bonitamente compilados pero de ahí en mas el compilador no funcionaba mas.

si se marearon yo también un poco :P

la cuestión es que hay que meter el cambio gradualmente en todos lados y en el ultimo paso hacer el cambio en todo el código fuente del compilador, si por alguna razón no compila hay que volver un paso atrás y volver a intentar.

todavía le estoy agarrando la mano a ese mecanismo pero por ahí me siento como la víbora de la imagen :D

[1] http://github.com/marianoguerra/efene