Usando Lisp ou Scheme para configuração de tempo de execução de programas Java

gora já vi vários projetos terminando em um ponto em que a configuração real dependia de itens disponíveis apenas em tempo de execuçã

A maneira típica de configurar um programa Java é ler um ou mais arquivos de propriedades de acordo com algumas regras específicas do aplicativo e, em seguida, executar ações dependendo de seus valores. Em um ponto ou outro, isso é interrompido e você precisa de uma lógica de programa real na sua configuração, que pode ser indicada com um sinalizador e adicionando código ao seu aplicativo, que lida com o sinalizado

Eu estava imaginando se um pequeno módulo leitor de configuração do Lisp poderia ser uma opção melhor, onde o arquivo a ser lido não é um arquivo de propriedades, mas um programa Lisp que é então avaliado para criar uma estrutura de dados final representando a configuração. Um conjunto mínimo de funções na biblioteca de tempo de execução permitiria a manipulação de cadeias e talvez até a chamada para a JVM. Pense em "construir um URL com base no nome do host atual".

Eu sounã interessado em um mecanismo Lisp completo com sinos e assobios, mas apenas uma pequena biblioteca para esse fim, que pode ser incluída em programas pequenos mesmo sem um grande jarro contendo o mecanismo Lis

ntão, existe uma biblioteca desse tip

Tamanho pequen Basta ler o arquivo + eval e a capacidade de ler a estrutura de dados resultante do programa Java principalUma pequena biblioteca de tempo de execução Lisp velocidade é de menor importânci Manutenção ativa.

Suggestions?

Edit 2012-01-20: Inicialmente achei todos os candidatos indesejáveis, mas decidi usar isso como um exercício Maven ao lado comthe 1998 jscheme 1.4 release. Projeto emhttps: //github.com/ravn/jscheme-199

Edit 2012-12-11: Verificou-se que ointegraçã camada @ entre o programa que está sendo interpretado no Scheme e o programa Java do host foi mais importante do que eu pensava originalmente e que eu precisava em um projeto para poder fornecer classes com anotações JAX-WS em tempo de execução, o que eu não poderia fazer com o JScheme mas eu poderia fazer com Groovy. A idéia de uma pequena biblioteca de configuração que permita trechos de código nas bibliotecas ainda é válida, mas acabei precisando de mais para que fosse úti

questionAnswers(4)

yourAnswerToTheQuestion