Guile é uma biblioteca projetada para ajudar os programadores a criar aplicações flexíveis. Usando Guile em um aplicativo permite que os programadores a escrever plug-ins, ou módulos (há muitos nomes, mas o conceito é essencialmente o mesmo) e usuários de usá-los para ter uma aplicação atender suas necessidades.
Há uma longa lista de aplicativos comprovados que utilizam linguagens de extensão. Exemplos de sucesso e de longa duração no mundo do software livre são GNU Emacs e The GIMP.
Exemplos muito popular de extensão de aplicativos de servidor são o Apache projeta Perl e módulos do PHP.
linguagens de extensão permitem que os usuários, programadores e desenvolvedores de terceiros para adicionar recursos a um programa sem ter que re-escrever o programa como um todo, e isso permite que as pessoas que se estende um programa de cooperar uns com os outros, sem ter que gastar qualquer esforço extra.
Guile é um interpretador para a linguagem de programação Scheme, embalado como uma biblioteca que pode ser incorporado em seus programas. Os usuários têm acesso completo para o intérprete, de modo próprio Guile pode ser estendido, com base nas necessidades do usuário. O resultado será uma linguagem de script adaptado à sua aplicação.
Usando Guile com seu programa torna mais utilizável. Os usuários não precisam de aprender a canalização do seu aplicativo para personalizá-lo; eles só precisam de entender Guile, eo acesso que você forneceu. Eles podem facilmente trocar e características partes fazendo o download e criação de scripts, em vez de negociação manchas complexas e recompilar suas aplicações. Eles não precisam de coordenar com você, ou qualquer outra pessoa
O que é novo nesta versão:.
- Esta versão acrescenta SRFI-105 expressões cacheados infixas, as opções do leitor por porta, futuros aninhadas, setters recordes funcionais, uma interface de porta de corpos HTTP, mais otimizações, melhor caminho de carga e manuseio caminho de carga compilado, ea longa lista usual de correções de bugs.
O que é novo na versão 1.8.8:.
- versão de manutenção da série estável 1.8
O que é novo na versão 1.9.9:
- Faster ligação dinâmica com fluidos
- `fluido-ref 'e` set-fluido' agora têm dedicado instruções de bytecode.
- Ligação dinâmica via `com fluidos 'ou' com-fluidos * 'não faz mais
- invocações VM recursiva, nem alocação encerramento do corpo. Não usado
- números de fluidos estão agora à coleta de lixo.
- mudanças incompatíveis Tree-IL:
- Houve uma série de mudanças incompatíveis feitas no último ciclo
- sobre Tree-IL, linguagem de alto nível intermediário de Guile. Veja
- logs de mudanças para obter detalhes. Se estes você afetado, é evidente que você precisa
- enviar seus patches para compiladores montante!
- Avisa: delimitados, continuações combináveis:
- Guile agora tem prompts como parte de sua linguagem primitiva. Ver & quot; prompts & quot;. No manual, para obter mais informações
- Expressões entrava pela REPL, ou a partir da linha de comando, são cercados por um tempo com a tag prompt padrão.
- Reprovado: `lazy-catch 'era uma forma que capturou a pilha no ponto de um` atirar ", mas o estado dinâmico no ponto do` pegar ". Foi um pouco
- louco. Por favor, altere usar `pegar", possivelmente com um tiro de manipulador, or`with-jogar-handler '.
- 'catch', 'lance', `com-jogar-handler 'implementada no Esquema
- Isto não tem qualquer impacto para o usuário final, mas estamos tão orgulhosos de sermos capazes de implementar essas construções em termos de prompts e fluidos, enquanto não mudar a API do usuário, que é preciso mencioná-lo no NEWS . Obrigado pela leitura!
- rastreamento atual do módulo no expansor sintaxe:
- Expandindo um `começar a" expressão que mudou o módulo atual via an`eval-quando "não estava funcionando, devido a um bug. Isso foi corrigido.
- Backtraces no REPL não apresentam quadros REPL
- A série 1.9 teve backtraces excessivamente detalhado, que apresentaram quadros internos para a implementação do REPL. Este tem sido quase sempre fixo.
- Por favor, reporte bugs para bug-guile@gnu.org.
- Adições à interface de função externa (FFI)
- O `(sistema externo) 'module agora fornece tipos de estrangeiros adicionais correspondentes a do C` int', 'longo', `size_t ', etc.
- Além disso, o procedimento `dynamic-link 'agora pode ser chamado sem qualquer argumento, caso em que ele retorna a & quot;. Símbolo identificador & quot mundial ;, permitindo símbolos atualmente disponíveis para o programa a ser olhou para cima
- Documentação de `macros 'sintaxe de regras:
- A documentação de macros no manual está agora separada da dos procedimentos. Foi adicionada uma nova seção sobre `macros 'sintaxe em regras.
- Effective versão colisão para 2.0:
- Guile teve um & quot; & quot versão eficaz; por algum tempo, normalmente gerado como & quot; MAJOR-version.minor-VERSÃO & quot ;. Esta versão desacopla a versão em vigor a partir da versão atual, definindo-o prematuramente a 2,0. Isso deve sacudir quaisquer erros de distribuição relacionados à versão.
- correções instalabilidade paralelas:
- Guile agora instala seus arquivos de cabeçalho para um diretório eficaz específico da versão, e inclui a versão eficaz (por exemplo, 2.0) no nome da biblioteca (por exemplo libguile-2.0.so).
- Esta alteração deve ser transparente para os usuários, que deve detectar Guile através do macro guile.m4, ou o arquivo pkg-config-2.0.pc dolo. Ele permitirá instalações paralelas para várias versões de ambientes de desenvolvimento de Guile.
Comentários não encontrado