Aço Banco Lisp Comum (SBCL) é uma fonte aberta, multiplataforma e ambiente de desenvolvimento livre, um compilador de alto desempenho para a linguagem de programação Lisp Comum padrão ANSI. Ele é inteiramente escrito na linguagem de programação Lisp e adaptados especificamente para developers.Features em uma características glanceKey incluem um excelente suporte para a coleta de lixo, built-in macros poderosos, o apoio a encerramentos lexicais, forte implementação tipagem dinâmica, bem como capacidades de compilação incremental.
O software também inclui inúmeras prorrogações, como threads nativas, apoio soquete, um profiler estatística, riachos programáveis, e muitos outros. Todos estes extensão estão disponíveis através de um compilador nativo interativo e integrado, que se sente como um intérprete.
Se você & rsquo; re olhando para obter informações detalhadas sobre como instalar Aço Banco Lisp Comum na sua distro Linux ou como usá-lo, não hesite para verificar o projeto & rsquo; s homepage (ver link no final do artigo) .Getting começou com aço Banco LispTo comum usar Aço Banco Lisp Comum da sua distribuição GNU / Linux, basta baixar o pacote binário pré-construído projetado para plataformas de hardware de 64 bits, salve-o em um local de sua escolha, descompactá-lo e abrir um emulador de terminal .
No aplicativo Terminal, execute o & lsquo; sh run-sbcl.sh & rsquo; comando para acessar o seu prompt de comando, onde você será capaz de digitar o comando AJUDA para visualizar informações detalhadas sobre as opções disponíveis e aprender a usar os sistemas operacionais compiler.Supported e availabilitySteel Banco Common Lisp é único em ser um comum nativa multi-plataforma compilador Lisp, que funciona em GNU / Linux, BSD, Mac OS X e sistemas operacionais Microsoft Windows, bootstraping-se completamente a partir da fonte.
Para sua comodidade, além do pacote de código universal, o software é distribuído como um pacote binário pré-construído, que permite a utilização de aço Banco Lisp Comum sem instalá-lo em (x86_64) computadores de 64 bits.
< strong> O que é novo nesta versão:
- realce: Servir-EVENTS usa a chamada de sistema poll () em vez de select () se o sistema operacional tem o ex- . Anteriormente poll () foi usado somente se espera em exatamente um descritor de arquivo.
- realce:. Eficiência do acesso às faixas horárias não marcados estrutura é melhorada em x86-64, e da ordem de slots de memória é exatamente como especificado por defstruct, simplificando a utilização de estruturas como argumentos para chamadas estrangeiros
- correção de bug: SB-DEBUG: ARG agora funciona em todas as opções de rastreio que avaliam formas. (Lp # 1357826)
- correção de bug:. De corrupção de memória GC durante a movimentação de memória interna
- correção de bug: duplicar objetos eficaz-slot-definição em comparação pela EQ em nome poderia estar presente em CLASS-SLOTS de uma classe cujo metaclass era de classe ou estrutura de classe condição. (Lp # 1049423)
- correção de bug: HANDLER-BIND com ligações vazios funciona novamente; regressão em 1.2.5. (Lp # 1388707)
- correção de bug: ATOMIC-INCF funciona em slots Estrutura em código interpretado. (Lp # 1381867)
- correção de bug: Faz-ARRAY manipula corretamente os tipos de caracteres como (eql # a) e (membro # a # c). (Lp # 1392068)
- correção de bug: Ler às vezes acidentalmente preservou um espaço em branco após um token quando não deveria ter. (Lp # 327790)
O que é novo na versão 1.1.13:
- otimização: melhor distribuição de SXHASH sobre pequenas conses de valores relacionados. (# 309443)
- outras melhorias para SXHASH:
- usar toda a gama positivo-fixnum para SXHASH de Fixnums
- realce:. A mensagem de erro ao chamar uma função alienígena indefinido inclui o nome da função no x86-64
- realce: sb-ext:-programa executado agora suporta:. Ambiente no Windows
- realce: ASDF já não é necessário para carregar contribs em tempo de execução. (# 1132254)
- realce: quando chamado com um símbolo, FIND-RESTART já não chama COMPUTE-reinicia, tornando-o mais rápido e contras menos (# 769615)
- realce: FIND-RESTART e calcular reinicia lidar com grandes conjuntos de reinício melhor em alguns casos
- realce: Às vezes Tanto / outras funções / quantificação de ordem superior não mais contras. (# 1070635)
- correção de bug: referências à frente para aulas de fasls agora pode ser carregado. (# 746132)
- bug correção: não avisar sobre a interpreted- & gt; redefinição função compilado a partir do mesmo local. (Remendo por Douglas Katzman, # 1042405)
- correção de bug: Criar vetores de comprimento interno adequado ao ler vetores literais de FASLs. (Relatado por Jan Moringen)
- correção de bug: Compilar agora pode succefully compilar funções setf. (Relatado por Douglas Katzman)
- correção de bug:-programa executado realiza mais correta escapar de argumentos no Windows. (# 1239242)
- correção de bug: function-lambda-expressão em funções genéricas retorna o nome real .
- correção de bug: (a [tipo] [constante]) agora avisa quando [constante] corresponde [tipo], exceto para o número de valores. (Relatado por Nathan Trapuzzano em sbcl-ajuda)
- correção de bug: erros de sinal em casos necessários de protocolo de inicialização slot-definição. (# 309072)
- correção de bug: run-sbcl.sh funciona melhor na presença de links simbólicos no Mac OS X. (graças a Stelian Ionescu, # 1242643)
- correção de bug: quando recebe um objeto reinício, FIND-RESTART verifica se o reinício está ativo e, quando a condição é fornecida se o reinício está associada a uma condição diferente (# 774410)
O que é novo na versão 1.1.12:
- realce: Adicionar sb-BSD-sockets: soquete -shutdown, para chamar shutdown (3). (Graças a Jan Moringen, # 1207483)
- realce: documentar sequências extensíveis. (Graças a Jan Moringen, # 994528)
- otimização: transforma igual e equalp são mais espertos. (Graças a Elias Martenson, # 1220084)
- otimização:. CHAR-EQUAL é mais rápido para os argumentos constantes e base em carvão
- correção de bug: Sonda-file agora pode acessar links simbólicos para tubos e tomadas em / proc / pid / fd em Linux. (Relatada por Eric Schulte)
- correção de bug:. SBCL agora pode ser construída sobre Solaris x86-64
- correção de bug:. Flutuante exceções de ponto não persistem no Solaris mais
- correção de bug: (. Setf a). É pprinted corretamente (relatada por Douglas Katzman)
- correção de bug: lidar com compilador de erro na carga quando não é executada de dentro EVAL. (# 1219601)
- correção de bug: SB-GMP: MPZ-POW já não segfaults dada uma base não-bignum. (Graças a Stephan Frank)
- correção de bug: a alocação do espaço de bignums resultado em SB-GMP é mais preciso. (Graças a Stephan Frank, # 1206191)
- correção de bug: sb-ponto seguro agora pode lidar de forma confiável interrupções de sinal de código estrangeira. (# 1133018)
- correção de bug: o macro-compilador para MAKE-INSTÂNCIA ao emitirem & quot; fallback & quot; construtores não falha mais ao mesclar initargs reais e padrão (graças a Jan Moringen, # 1179858)
- correção de bug: o macro-compilador para MAKE-INSTÂNCIA ao emitirem & quot; fallback & quot; construtores lida com argumentos de inicialização não-palavras-chave mais corretamente.
- bug fix: carregar os SB-simple-CÓRREGOS contribuiu módulo já não clobbers FILE-namestring. (Graças a Anton Kovalenko, # 884603)
- correção de bug: definições de classe com CPLs inconsistentes com suas metaclasses são menos propensos a destruir a integridade do sistema objeto. (# 309076)
- correção de bug: restart cláusula parsing em RESTART-CASE está mais de acordo com o padrão. (# 1203585, graças a Jan Moringen)
- correção de bug: silenciar uma nota do RESTART-CASE sob as configurações de otimização de alta velocidade. (# 1023721)
- correção de bug: obter a ordem de argumentos para SB-MOP: SET-FUNCALLABLE-INSTÂNCIA-função errada produz um erro sensível ao invés de uma falha AVER. (Relatada por Paul Nathan)
- correção de bug: Análise de & opcional / & key / & argumentos descansar agora nunca substitui argumentos durante a cópia em x86 e x86-64; ele ainda pode acontecer em outras plataformas quando existem argumentos mais fixa do que posições da pilha. (Relatada por Jan Moringen)
O que é novo na versão 1.0.52:
- realce: ASDF foi atualizado para a versão 2.017.
- realce:. A opção de linha de comando --core agora aceita binários com um núcleo incorporado
- realce: quando construído com: sb-core-compressão, os arquivos de núcleo (regular ou executáveis) podem ser compactados com zlib. Use o:. Argumento de compactação para economizar-LISP-AND-DIE para especificar um nível de compressão
- realce: - [no-] fundir-core-páginas determina se o tempo de execução sugere o sistema operacional que as páginas centrais idênticas entre processos SBCL devem compartilhar a mesma memória física. O padrão é só ativar esta para núcleos de comprimidos.
- otimização:. SLEEP conses já não
- otimização:. * PRINT-BONITO * já não retarda a impressão de cordas ou bit-vetores quando usando o padrão tabela de despacho pretty-print
- correção de bug: declarações FTYPE não-funcionais não causam mais um erro do compilador. (# 738464)
- correção de bug: compilador de erros faz com que por tipos de membros em conjunto com com AREF, CHAR, etc. (# 826971)
- correção de bug: compilador de erros faz com que por argumentos inteiros com composto de vários intervalos para ARRAY-IN-BOUNDS-P. (# 826970)
- correção de bug:, @ e,. agora sinalizar um erro de tempo de ler para determinadas expressões não-lista. (# 770184)
- correção de bug:. Complexos literais flutuador individuais estão corretamente alinhadas quando usadas como argumentos de operadores aritméticos
- bug fix: em plataformas de 32 bits, o arredondamento de carros alegóricos duplas maiores do que um fixnum está correto. (Relatado por Peter Keller)
- correção de bug: vadios FD-manipuladores não estão mais à esquerda em torno de mentir após reversões de RUN-PROGRAM. (# 840190, relatado por Dominic Pearson; fixar a partir de Max Mikhanosha)
- correção de bug:. Redefinindo as classes de tal forma que os slots com alocação personalizado são adicionados ou removidos funciona novamente
O que é novo na versão 1.0.50:
- realce: erros de manipuladores FD agora fornecer uma reinicialização para remover o manipulador de ofensa.
- realce: SB-introspecção:. FIND-DEFINIÇÃO-SOURCE agora trabalha na estrutura de copiadoras, assim
- realce: localização do usuário ou o arquivo de inicialização do sistema podem agora ser facilmente personalizado para núcleos salvos. Veja: SB-EXT: * USERINIT-PATHNAME-FUNÇÃO * e SB-EXT:. * Sysinit-PATHNAME-FUNÇÃO *
- realce: SB-EXT: Faz-thread aceita um designador lista de argumentos para a conversão, como um argumento de palavra-chave,:. Argumentos
- realce: a propagação de restrições é simplificado (e acelerou) quando COMPILATION-SPEED & gt; SPEED.
- realce: exportações. SB-Alien tipo especificadores SIZE-T e OFF-T
- realce: depurador entende e mais argumentos melhor .
- otimização: extração de pedaços de um único-float em x86-64 foi otimizado. (# 555201)
- otimização: MAP e MAP-INTO são mais eficientes para vectores não simples, quando (& gt; ESPAÇO SPEED) .
- otimização:. Trampolins de chamadas locais (x86 e x86-64) são emitidos em linha
- otimização:. Células valor implícito para dynamic-medida fechou-over ligações em x86 e x86-64 podem armazenar valores desembalados assim
- meta-otimização: maior velocidade de compilação, especialmente para grandes funções. (# 792363 e # 394206)
- correção de bug: derivação com destino a operações de ponto flutuante é agora mais cuidado com arredondamento possivelmente fechando fronteiras abertas. (# 793771)
- correção de bug: SB-POSIX: o argumento de SYSCALL-ERROR agora é opcional. (Mudança para trás incompatíveis acidental em 1.0.48.27)
- correção de bug: erros. Depurador ocasionais em quando um erro do tipo ocorreu em uma função com dynamic-extensão & lista resto
- correção de bug:. & Opcional e & principais argumentos fornecidos-P em DEFSTRUCT Boa-de construtores pode ser usado para ranhuras estrutura inicializados
- correção de bug: FMAKUNBOUND remove o MACRO-FUNÇÃO, deve existir. (# 795705, regressão)
- correção de bug: DIRETÓRIO funciona melhor em caminhos lógicos .
- correção de bug: RUN-PROGRAMA não falha spuriously quando strings argumentos são da ordem de ARRAY-TOTAL-SIZE-LIMIT. (# 787237)
- correção de bug: o compilador não-constante dobras NaNs em make {individuais, duplos} -FLOAT. (# 486812)
- correção de bug: FORMATO agora lida com ponto flutuante arredondamento correto, por exemplo. (Formato nil & quot; ~, 1F & quot; 0,01) = & gt; & Quot; 0.0 & quot; em vez de & quot; 0,01 & quot; como anteriormente. (# 308961)
- correção de bug:. Aviso estilo durante a lista lambda introspecção de funções genéricas com ambas argments opcionais e chave
- correção de bug: regalloc não vomitar em RTs não utilizados devido ao tipo-dirigido dobrar constante. (# 729765)
- correção de bug:. Corrigido um off-by-one no ATRIBUÍDO-MAP-objetos que podem ter causado loops infinitos
O que é novo na versão 1.0.49:
- Lotes de melhorias e correções foram feitas
- A menor mudança incompatível foi feita pertencente a manipulação de interrupção no código da tabela hash.
O que é novo na versão 1.0.46:
- realce:. Apoio largefile no Solaris
- realce: SB-PERFIL: RELATÓRIO agora suporta: LIMIT e: argumentos PRINT-NO-CALL-lista (# 710017)
- realce: SB-PCL: + SLOT-UNBOUND + é exportado, tornando-se possível distinguir ranhuras instância não ligados ao usar STANDARD-INSTÂNCIA-ACCESS & co. (# 718039)
- otimização: ERROR e CERROR são cerca de 5 vezes mais rápido .
- otimização: construtores otimizadas são usadas para MAKE-INSTÂNCIA de classes com não-padrão aplicável (SETF SLOT-VALUE-usando-CLASS), slot-BOUNDP-usando-CLASS, e inicializar-INSTÂNCIA: em torno de métodos, acelerando instância criação nesses casos.
- otimização: operações aritméticas com múltiplos argumentos constantes nos agora tê-los reduzido em tempo de compilação. (# 676414)
- otimização:. Determinação da posição atual de caracteres na corda-correntes para impressão bonita era excessivamente lento
- correção de bug: cauda chamada local para funções DYNAMIC-ponto se pode deixar de causar análise vida para substituir variáveis fechou-over (# 681092) .
- correção de bug:. Erros de codificação de alguns formatos externos de vários bytes, como EUC-JP não foram tratados corretamente (# 713063)
- correção de bug:. Imprimir objetos waitqueue sem definir * PRINT-CIRCLE * a T agora é seguro (# 673630)
- correção de bug: Solaris / x86-64 não estava sendo construída com o apoio lutex por engano. (# 667297).
- correção de bug: funções gerados constantemente tinha Lambda-listas falsas. (# 713626)
- correção de bug: RUN-PROGRAMA: opção PTY era atrevido no OpenBSD. (# 669485)
- correção de bug: UNINTERN leva um símbolo, não um símbolo designador - poderia previamente unintern o símbolo de errado com o mesmo nome. (# 693796)
- correção de bug: COPY-PPRINT-Dispatch sempre tem acesso a uma tabela como novo, fazendo o possível para restaurar a tabela inicial se foi desarrumada. (# 678409)
O que é novo na versão 1.0.43:
- mudança incompatíveis: FD-CÓRREGOS não participará mais da a servir-event evento em malha por omissão. (# 316072)
- Além de fluxos criados por chamadas explícitas para Faz-FD-STREAM isso afeta fluxos de CL:. ABERTA
- Streams da tomada-MAKE-STREAM ainda participar de servir-evento por padrão, mas isso é passível de mudança: aplicações que necessitam servir-evento para fluxos de soquete deve solicitar explicitamente-lo usando:. SERVIR-EVENTS T na chamada
- realce: SB-EXT: tipo de palavra é fornecido para uso com SB-EXT:. ATOMIC-INCF & co
- realce: CLOS eficaz funções de método e função ranhura typechecking DEFCLASS agora têm nomes de depuração para uso em backtraces e perfis .
- realce: ASDF foi atualizado para a versão 2.004. (# 605260, graças a Fare Rideau)
- realce: símbolos são impressos com nomes totalmente qualificados em vários erros e mensagens de aviso que são frequentemente associados com conflitos de pacotes ou mixups (# 622789, graças a Attila Lendvai)
- correção de bug: SB-BSD-sockets: SOCKET-CONNECT não foi o segmento de seguros. (# 505497, graças a Andrew Golding)
- correção de bug: arquivos de leitura / proc em Linux funciona. (# 425199)
- correção de bug: dotimes aceito literais reais não inteiros. (# 619393, graças a Roman Marynchak)
- correção de bug:-ESCREVER-STRING compilador de ligação nomes de variáveis especiais, quebrando o código que tentou escrever o valor de uma variável de controle da impressora macro. (# 581564, graças a Stas Boukarev)
- correção de bug: ESCREVA compilador macro não lidar com designadores de fluxo de saída corretamente. (# 598374, graças a Stas Boukarev)
- correção de bug: melhor disponibilidade de nomes de funções estrangeiros em backtraces sobre Linux. (# 626962, graças a Stas Boukarev)
- correção de bug: scripting e construir para Solaris e FreeBSD. (# 615497, # 627581, graças a Josh Elsasser e Jim Wise)
- correção de bug: construir correções para OpenBSD -current e 4.8 (# 615489, # 615492, graças a Josh Elsasser)
- correção de bug: o uso de aliases para as classes embutidas como specializers defmethod sem adicionar DEFTYPEs para eles funciona. (# 618387)
- correção de bug: timetravel por getrusage () não causa mais erros de tipo durante a GC. (# 544421)
- correção de bug: legalmente listas dynamic-medida e vetores usados como argumentos de inicialização para Faz-matriz pode ser pilha alocado. (# 586105)
- correção de bug: inline-expansão criando referências a lambda-variáveis mortos (# 454681, graças a Alexey Dejneka)
- correção de bug: melhor mensagem de erro para os argumentos numéricos falsos para aleatória. (# 598986, graças a Stas Boukarev)
- bug CORRECÇÃO: O compilador referências ocasionalmente inlined de ambientes incompatíveis ocorre. (# 308951)
- correção de bug: o compilador jogou um erro ao tentar compilar uma função local (etiquetas ou flet) conhecidos para tomar um argumento complexo especializado. (Não na barra de ativação, relatado por sykopomp em #lispgames)
- correção de bug: pacote-locks não conseguiram proteger contra os efeitos de tempo de compilação de defun quando o símbolo anteriormente tinha uma definição macro. (# 576637)
- correção de bug: espúria ignorar os avisos ainda dadas (DECLARAR IGNORE) em métodos quando ligações de parâmetro mutado. (Relatada por Fare Rideau; lp # 611361)
- correção de bug: solução para compilador pendurar A fim-UVL-sets (# 308914)
- correção de bug: avaliação em depurador REPL funciona usando o contexto global, quando em quadros que não têm informação suficiente debug .
- correção de bug: excedendo o limite FD_SETSIZE agora resulta em um erro sensível (# 316068)
- correção de bug: (DOCUMENTAÇÃO SETF) de uma macro funciona corretamente. (# 643958, graças a Stas Boukarev)
- correção de bug: interromper demorando mais do que o período solicitado causou SLEEP para pendurar em Darwin. (# 640516, graças a Joe Lebroco para a análise)
O que é novo na versão 1.0.42:
- construir alterações
- host-compilação Cruz agora é especificado para make.sh usando argumento de linha de comando --xc-host = & # X3C; Command & # x3e; em vez de um argumento posicional. (Graças a Daniel Herring)
- Instale localização pode ser especificado para make.sh usando argumento de linha de comando prefix = & # X3C; path & # x3e ;. (# 550889s, graças a Daniel Herring)
- otimização: A implementação padrão de COMPUTE-discriminativa função faz muito menos desperdício de trabalho .
- realce: operações explícitas barreira memória estão agora disponíveis para uso pelo código multithreaded. Consulte a documentação para obter mais detalhes.
- realce:. Suporte experimental para enfiar em Linux / PPC
- correção de bug: RENAME-PACOTE retorna o pacote. (Graças a Eric Marsden)
- correção de bug: EXPT sinaliza um erro se o primeiro argumento é um zero e segundo argumento é um ponto flutuante zero. (# 571581, graças a Roman Marynchak)
- correção de bug: DefType sinaliza um erro de não-lista Lambda-listas. (# 576594, graças a Roman Marynchak)
- correção de bug: fazer ASDF-INSTALAR compatível com o ASDF2 agora incluído. (# 612998, relatado por Phil Hargett; patch do Jim Wise)
Comentários não encontrado