Sobre o serviço
TraduzidoEu escrevo código testado em batalha em Chez Scheme para equipes que precisam de verdadeira velocidade nativa, não de um interpretador que parece bom apenas em demonstrações. Nos últimos nove anos, enviei compiladores, ferramentas de tempo de execução e serviços de longa duração em Chez Scheme, incluindo trabalho diretamente sob o backend Racket, onde Chez Scheme carrega a maior parte da carga. Se você tem um núcleo numérico, parser, motor de regras ou pipeline de dados que é muito lento em uma linguagem de script, eu o portarei para Chez Scheme e farei com que funcione quase tão rápido quanto C escrito à mão.
Todos os dias eu uso toda a superfície R6RS: estrutura de biblioteca limpa, importações de fase, tipos de registro adequados, hierarquias de condição e I/O portátil. Estou confortável no sistema de macros — escrevo transformações higiênicas com syntax-rules e transformadores de syntax-case completos, construo pequenas DSLs incorporadas e desenredar macros bagunçadas para que se expandam de forma previsível e compilem rapidamente. Quando o desempenho importa, eu leio o código de máquina que Chez Scheme gera, ajusto níveis de otimização, corto alocações, aplico especializações de flonum e fixnum, e chamo primitivas inseguras apenas onde provadamente corretas.
Incorporação e interoperabilidade são uma grande parte do meu trabalho. Eu vinculo Chez Scheme ao C e Rust através de sua interface de função estrangeira, faço do Scheme uma camada de script dentro de um grande host e empacoto arquivos de inicialização e código objeto para que a implantação seja um único artefato. Também cuido de threads, gerenciamento de recursos estilo custódio, manipulação de sinais e desligamento gracioso para serviços que precisam viver por meses.
Um resultado típico: um módulo ou serviço funcional e medido, uma suíte de testes legível, scripts de construção e um documento curto descrevendo a arquitetura e os pontos de extensão. Eu perfilo antes e depois, então os aumentos de velocidade são medidos, não reivindicados. Envie-me código lento ou uma especificação rough — e eu direi honestamente se Chez Scheme se encaixa aqui e qual ganho real é possível.
Todos os dias eu uso toda a superfície R6RS: estrutura de biblioteca limpa, importações de fase, tipos de registro adequados, hierarquias de condição e I/O portátil. Estou confortável no sistema de macros — escrevo transformações higiênicas com syntax-rules e transformadores de syntax-case completos, construo pequenas DSLs incorporadas e desenredar macros bagunçadas para que se expandam de forma previsível e compilem rapidamente. Quando o desempenho importa, eu leio o código de máquina que Chez Scheme gera, ajusto níveis de otimização, corto alocações, aplico especializações de flonum e fixnum, e chamo primitivas inseguras apenas onde provadamente corretas.
Incorporação e interoperabilidade são uma grande parte do meu trabalho. Eu vinculo Chez Scheme ao C e Rust através de sua interface de função estrangeira, faço do Scheme uma camada de script dentro de um grande host e empacoto arquivos de inicialização e código objeto para que a implantação seja um único artefato. Também cuido de threads, gerenciamento de recursos estilo custódio, manipulação de sinais e desligamento gracioso para serviços que precisam viver por meses.
Um resultado típico: um módulo ou serviço funcional e medido, uma suíte de testes legível, scripts de construção e um documento curto descrevendo a arquitetura e os pontos de extensão. Eu perfilo antes e depois, então os aumentos de velocidade são medidos, não reivindicados. Envie-me código lento ou uma especificação rough — e eu direi honestamente se Chez Scheme se encaixa aqui e qual ganho real é possível.