Emulando cierres en Tcl: Un truco inteligente

2025-05-03

Este artículo explora la implementación de un comportamiento similar a los cierres en Tcl, un lenguaje que carece de soporte nativo para cierres. El autor utiliza espacios de nombres y el sistema de objetos TclOO para crear una clase que imita los cierres. Esta clase captura variables externas y mantiene su validez fuera de su alcance original, logrando efectivamente una funcionalidad similar a la de los cierres. Aunque difiere ligeramente de los cierres en C++, este enfoque proporciona una solución práctica para quienes necesitan cierres en Tcl.

Leer más
Desarrollo Cierres

Un reemplazo para jq en Common Lisp: cljq

2025-05-02

¿Cansado del DSL complicado de jq? Conoce cljq, un reemplazo para jq escrito en Common Lisp. cljq utiliza un operador de consulta más intuitivo, `?`, ofreciendo una funcionalidad similar a JSONPath para simplificar la manipulación de JSON. Actualmente en etapas iniciales, cljq ya proporciona funcionalidades básicas con planes para futuras adiciones de características.

Leer más

Parámetros de palabra clave en procedimientos Tcl: Una solución elegante y un dolor de cabeza de metaprogramación

2025-04-21

Frustrado por la falta de parámetros de palabra clave y la inaccesibilidad de funciones integradas en algunos lenguajes de programación, el autor abordó el desafío de implementar parámetros de palabra clave en Tcl. El artículo presenta un ingenioso comando `proc*` que permite argumentos de palabra clave en procedimientos Tcl y detalla su implementación. Sin embargo, debido a las débiles capacidades de metaprogramación de Tcl, el autor recurrió a expresiones regulares para la creación de plantillas de cadenas, lo que resultó en un código complejo y difícil de mantener, destacando las limitaciones de Tcl en metaprogramación.

Leer más