Stalin (implementação do esquema) - Stalin (Scheme implementation)
Paradigmas | Multi-paradigma : funcional , imperativo , meta |
---|---|
Família | Lisp |
Projetado por | Jeffrey Mark Siskind |
Desenvolvedor | Jeffrey Mark Siskind |
Versão estável | 0,11 / 2 de outubro de 2006
|
Disciplina de digitação | Dinâmico , latente , forte |
Alcance | Lexical |
Plataforma | IA-32 , x86-64 |
SO | Plataforma cruzada |
Licença | GPL |
Local na rede Internet | engenharia |
Influenciado por | |
Lisp , Scheme |
Em computação, Stalin ( estática linguagem de implementação ) é uma linguagem de programação , uma agressiva otimização lote de todo o programa Esquema compilador escrito por Jeffrey Mark Siskind. Ele usa análise avançada de fluxo de dados e inferência de tipo e uma variedade de outros métodos de otimização para produzir código. Stalin é destinado ao uso de produção na geração de um executável otimizado .
O compilador é executado lentamente, com pouco ou nenhum suporte para depuração ou outras sutilezas. O esquema R4RS completo é suportado, com algumas omissões menores e raramente encontradas. A interface com bibliotecas C externas é direta. O compilador faz a análise do tempo de vida e, portanto, não gera tanto lixo quanto poderia ser esperado, mas a recuperação global do armazenamento é feita usando o coletor de lixo Boehm .
O nome é uma piada: " Stalin otimiza brutalmente."
Stalin é um software gratuito e de código aberto , licenciado sob a GNU General Public License (GPL), e está disponível online.
Veja também
links externos
- Um projeto do Google Code - inclui uma versão do Windows e uma GUI
- Declaração de pesquisa de Siskind (compara Stalin com outros compiladores Scheme e afirma que "STALIN geralmente gera código que supera o código C e Fortran escrito à mão.")
- Conversão de fechamento leve direcionada por fluxo por Siskind (apresenta um método de conversão de fechamento leve que é impulsionado pelos resultados do fluxo interprocedural do programa inteiro, acessibilidade, pontos para e análises de escape, usados no compilador Stalin)