Emulando closures em Tcl: Um truque inteligente

2025-05-03

Este artigo explora a implementação de um comportamento semelhante a closures em Tcl, uma linguagem que não possui suporte nativo para closures. O autor utiliza namespaces e o sistema de objetos TclOO para criar uma classe que imita closures. Esta classe captura variáveis externas e mantém sua validade fora de seu escopo original, efetivamente alcançando uma funcionalidade semelhante à de closures. Embora difira ligeiramente das closures em C++, esta abordagem fornece uma solução prática para aqueles que precisam de closures em Tcl.

Leia mais
Desenvolvimento

Uma substituição para jq em Common Lisp: cljq

2025-05-02

Cansado da DSL complicada do jq? Apresentamos o cljq, uma substituição para o jq escrita em Common Lisp. O cljq usa um operador de consulta mais intuitivo, `?`, oferecendo funcionalidade semelhante ao JSONPath para simplificar a manipulação de JSON. Atualmente em estágios iniciais, o cljq já fornece funcionalidades básicas com planos para adições de recursos futuros.

Leia mais

Parâmetros de palavra-chave em procedimentos Tcl: Uma solução elegante e uma dor de cabeça de metaprogramação

2025-04-21

Frustrado com a falta de parâmetros de palavra-chave e a inacessibilidade de recursos integrados em algumas linguagens de programação, o autor enfrentou o desafio de implementar parâmetros de palavra-chave em Tcl. O artigo apresenta um comando `proc*` inteligente que permite argumentos de palavra-chave em procedimentos Tcl e detalha sua implementação. No entanto, devido às fracas capacidades de metaprogramação do Tcl, o autor recorreu a expressões regulares para modelagem de strings, resultando em código complexo e difícil de manter, destacando as limitações do Tcl em metaprogramação.

Leia mais