Sobre o serviço
TraduzidoEu desenvolvo e incorporo programas em Spry — uma linguagem homoicônica pequena e expressiva inspirada por Rebol e Smalltalk — e entrego ferramentas reais a partir de versões iniciais. A homoiconicidade é o coração do meu trabalho: como código e dados têm uma única forma em Spry, eu construo linguagens de domínio que parecem configuração simples, mas executam como programas completos. Isso é geralmente exatamente o que os clientes precisam. Um arquivo de regras se torna uma política executável. Uma descrição de layout se torna um pipeline ativo. Nada é colado com frágeis modelos de string. Eu enfrento vários tipos de tarefas. Primeiro, DSLs compactas: eu modelo seu domínio em palavras e blocos, defino um vocabulário e dou à equipe uma sintaxe que não programadores podem ler e editar com segurança. Segundo, sistemas de configuração honestos, onde a configuração é código Spry executado em um sandbox, então padrões, substituições e campos computados vivem em um só lugar. Terceiro, incorporando Spry em uma aplicação host: eu exponho funções nativas como palavras, conecto o interpretador ao seu loop de eventos e traço uma linha clara entre o código host confiável e os scripts do usuário. Quarto, pequenas utilidades de console e ferramentas de cola que pareceriam desajeitadas em uma pilha pesada. Cada projeto que entrego vem com código-fonte legível, documentação incorporada para cada palavra declarada, um guia breve para mantenedores e um bloco de teste validando a DSL de fora. Eu prefiro palavras pequenas e ortogonais em vez de estruturas volumosas, mantenho a superfície do interpretador mínima e explico meu raciocínio para que a equipe possa evoluir a solução sem mim. Se você está avaliando se Spry se adequa à sua tarefa de incorporação ou script, descreva seu host, dados e as pessoas que editarão os scripts, e eu proponho um plano concreto antes de começar. Eu me preocupo com código que você pode ler e modificar um ano depois.