Racket (formalmente PLT Scheme) é uma linguagem de programação inovadora que se baseia em uma rica tradição prática e acadêmica.
Desenhe mais fotos ou construir um servidor web a partir do zero. Racket inclui duas baterias e um ambiente de programação, de modo a começar!
Crescer o seu Programa
Modo interativo da raquete incentiva a experimentação, e scripts rápidos facilmente compor em sistemas maiores. Pequenos scripts e sistemas de grande porte, tanto de benefícios a partir do código nativo compilação JIT. Quando um sistema se torna muito grande para se manter em sua cabeça, você pode adicionar tipos estáticos.
Crescer o seu Idioma
Estender Racket sempre que você precisar. Moldá-lo para melhor atender às suas tarefas sem sacrificar a interoperabilidade com as bibliotecas existentes e sem ter que modificar a cadeia de ferramenta. Quando menos é mais, você pode remover partes de uma língua ou começar de novo e construir um novo.
aumentar suas habilidades
Se você está apenas começando para fora, quer saber mais sobre aplicações linguagem de programação ou modelos, olhando para expandir seus horizontes, ou pronto para mergulhar em pesquisa, Racket pode ajudá-lo a se tornar um melhor programador e sistema construtor.
O que é novo nesta versão:
- núcleo repo
- O gerenciador de pacotes suporta um referências diretas a repositórios Git via & quot; git: // [...] & quot ;, & quot; http: // [...] .git & quot ;, e & quot; https: // . [...] git & quot; URLs. (Anteriormente, foram apoiados somente referências para GitHub).
- A opção --clone para raco pkg instalar ou raco pkg atualização facilita o desenvolvimento pacote baseado em Git. Se um pacote X tem uma fonte repositório Git, instalar e atualizar o pacote puxa a partir do repositório em um modo de somente leitura. Usando atualização --clone X raco pkg comuta a instalação local para um check-out repositório que é adequado para modificar o pacote de implementação, emissão de pedidos de puxar, empurrar mudanças, e assim por diante.
- Usando raco atualização --lookup X pkg muda o pacote de volta para o modo de instalação padrão.
- drracket
- Sua sintaxe verificação on-line funciona com conteúdo gráfico.
- O aumento da disponibilidade de blueboxes de DrRacket, incluindo método e informação construtor.
- O & quot; Abrir Exigir Path & quot; item de menu suporta & quot; .. & quot; em caminhos relativos.
- dados
- Os dados adicionados / enumerar, uma biblioteca que oferece suporte a enumeração eficiente de estruturas de dados
- REDEX
- A sua facilidade de check-REDEX usa dados (além aleatório) enumeração para tentar encontrar contra-exemplos.
- A sua função gerar prazo aceita argumentos adicionais para retornar o & quot; i & quot; membro -th de um padrão de uso de dados / enumerar (o que significa que eficientemente suporta valores muito grandes de & quot; i & quot;).
- A coleção inclui exemplos 1.993 big-passo semântica preguiçosos do Launchbury.
- HTDP
- 2htdp / de imagem pode ser construído a partir de curvas bezier em vez de apenas linhas retas (veja a documentação para-ponto puxado).
- 2htdp / abstração é um teachpack para instrutores e alunos que desejam usar para / * loops, jogo, do tipo definir e casos-tipo em ISL ISL e +.
- 2htdp / universo podem ser exportados usando o mecanismo de criação executável do DrRacket e eles se comportam corretamente quando executado de forma independente.
- digitado-raquete
- Racket digitado em DrRacket exibe dicas de ferramentas que mostram os tipos de expressões. As dicas de ferramentas também são exibidas para erros de tipo.
- contratos de cargas Raquete digitados gerados apenas quando necessário. Isso reduz o uso de memória e tempo de inicialização de programas Raquete digitado.
- Racket digitado melhorou o suporte para estruturas pré-fabricadas, semáforos futuros e canais assíncronos.
- Racket digitado entende quando duas variáveis diferentes se referem à mesma coisa, e atualiza os tipos de acordo. Isso melhora especialmente a verificação de tipo de macros, como jogo.
polígono
programas
O que é novo na versão 5.93:
- Corrigido um problema de concorrência de baixo nível com a biblioteca GUI para Mac OS X, o que afetou especialmente 32-bit compilações;
- lançadores baseados em GRacket fixa (como `drracket`) em uma instalação Unix-style;
- expandiu a lista de reconhecidos versões de bibliotecas OpenSSL;
- Corrigido problemas pequenos CSS e inconsistências (em relação ao v5.3.6) no novo estilo Scribble, usado pela documentação Racket;
- Adicionado o número da versão de volta para o & quot; raquete & quot; diretório dentro do pacote de distribuição do código fonte.
O que é novo na versão 5.92:
- Racket 5,92 tem um novo sistema de pacotes, incluindo um catálogo de centenas de pacotes já estão disponíveis. Por favor, visite http://pkgs.racket-lang.org/ para uma visão geral dos pacotes.
- Os recentes lançamentos incluíram a & quot; beta & quot; versões do sistema de pacotes. Racket versão 5.92 incorpora muitas melhorias sugeridas por essas experiências preliminares:
- Um pacote é tratado como uma única coleção, por padrão, por isso é ainda mais fácil de usar um repositório Github como um pacote. Comece rapidamente: http://docs.racket-lang.org/pkg/getting-started.html
- DrRacket inclui uma nova interface gráfica gerenciador de pacotes, disponível através do Arquivo | Gerenciador de Pacotes ... item de menu. A GUI também está disponível como um programa stand-alone através do & quot; gui-pkg-manager & quot; pacote.
- A principal distribuição Racket foi separada em cerca de 200 pacotes. O instalador Racket combina o núcleo do sistema com versões em pacote dos pacotes.
- Como alternativa, você pode agora instalar uma distribuição Racket Minimal --- que é de cerca de 1/10 do tamanho da distribuição principal --- e adicionar apenas os pacotes que você precisa.
- A instalação de pacotes suporta pacotes pré-construídos que incluem o código compilado byte e documentação prestados, pacotes de significado pode ser instalado rapidamente quando as versões construídas estão disponíveis. Todos os pacotes na distribuição principal estão disponíveis no formulário de pré-construído.
- Outras melhorias estão em obras, incluindo, nomeadamente documentação do pacote no site da pacote-catálogo.
- COMPATIBILIDADE. NOTA: planeta, o sistema de pacotes Racket anterior, vão permanecer no local para o futuro previsível, mas esperamos que todo o trabalho pacote de mudança para o novo sistema
- Para além do sistema de pacotes, esta versão traz uma série de outras alterações:
- documentação HTML do Racket tem um olhar novo e melhorado, graças a Matthew Butterick.
- A documentação inclui um guia de estilo, & quot; Como Programar Racket & quot; http://docs.racket-lang.org/style/
- compilador JIT do Racket suporta a arquitetura ARM.
- Racket suporta o modo tela Retina do Mac.
- O desempenho do compilador digitado Racket melhorou em 50% em alguns programas digitadas; por exemplo, ver http://bit.ly/1d0Ye4z
- O Profiler fornece um novo modo que usa a biblioteca errortrace para produzir perfis de granulação fina.
- Uma nova relatórios profiler contrato o quanto programas de tempo gastam contratos de controlo, contratos e que são mais caros.
- As operações matemáticas / flonum exportações biblioteca rápido de precisão 105-bit.
- Verificar sintaxe lida com identificadores gerados, especialmente aquelas introduzidas pela struct (por exemplo selectores de campo) e Redex (por exemplo, e_1, e_2)
- 2htdp / batch-io inclui funções para lidar com html / xml em arquivos e sites como expressões X-plus conveniências para traversals gráfico baseados na web.
- O `gen: set 'interface genérica estende operações de conjunto para trabalhar em tipos definidos pelo usuário que implementam métodos estabelecidos, bem como em outro conjunto-como built-in tipos, tais como listas .
- pictos apoiar conversão para o formato SVG.
- Em unix, Racket fornece entradas de desktop (arquivos .desktop) para os seus executáveis gráficas.
O que é novo na versão 5.3.6:.
- Racket v5.3.6 é uma versão de correções
- Ele elimina erros de v5.3.5 que as pessoas têm encontrado ao longo do verão.
O que é novo na versão 5.3.5:
- Esta é uma liberação de propósito especial para coincidir com a chegada de & quot; Realm of Racket & quot; nas livrarias. Racket v5.3.5 adiciona uma única coleção reino para o lançamento v5.3.4. A nova coleção contém o código-fonte que os leitores de Realm pode querer usar para experimentos.
O que é novo na versão 5.3.4:
- Extflonums (80-bit números de ponto flutuante) são suportados em algumas plataformas x86 / x86_64 - incluindo o Windows, e incluindo plataformas onde Racket é compilado para usar as instruções SSE para a aritmética flonum. Graças a Michael Filonenko.
- OS X:. DrRacket e todos os outros aplicativos estão agora assinado com uma chave oficial
- Tally Maze:. um novo jogo baseado uma enumeração de labirintos 2d
- The Coach Optimization, um plugin DrRacket, foi movida a partir da distribuição Raquete para o repositório de pacotes Racket. Instale-o com:. Raco pkg instalar otimização-treinador
- Redex:-language definir-união agora se funde produções quando línguas definir os mesmos não-terminais. Graças a William Bowman.
- A biblioteca SRFI / 19 é agora compatível com o tipo de estrutura de data exportado pela raquete / base.
O que é novo na versão 5.3.3:
- Esta é uma versão de correção de bugs para resolver um falha no DrRacket v5.3.2 relativa interações entre a janela contorno ea coloração de sintaxe.
O que é novo na versão 5.3.2:
- Núcleo Bibliotecas:
- A nova biblioteca de matemática fornece funções e estruturas de dados para trabalhar com números e conjuntos de números. As funções incluem a não-elementar (como gamma, zeta, W de Lambert), número de teoria (fatoração, aritmética modular), álgebra linear (aritmética, decomposições), e estatística (valores esperado, estatísticas de ordem, binning). As estruturas de dados incluem bigfloats de precisão arbitrária, distribuições de probabilidade, e arrays multidimensionais.
- O novo arquivo / untar, arquivo / untgz e arquivos / bibliotecas unzip suportam descompactação formatos de arquivo amplamente usados.
- A nova forma lazy-requerem permite que programas para atrasar o carregamento e instanciação de módulos auxiliares até que sejam necessários.
- A nova biblioteca de dados / bit-vector fornece uma implementação de vetores de bits (uma sequência mutável de booleanos) apoiar popcount.
- A / biblioteca genérica raquete permite a especificação de implementações do método padrão para tipos de dados fundamentais.
- A biblioteca openssl pode verificar os nomes de host e usar armazenamento de certificados do sistema operacional para verificar certificados.
- Pacote:
- Um novo sistema de pacotes está em versão beta. Este sistema vai se tornar o sucessor de Planeta. Ela difere significativamente da segunda. Para mais informações, por favor leia a documentação no http://docs.racket-lang.org/planet2/ e listar seus pacotes sobre o novo índice em https://pkg.racket-lang.org/.
- O comando de teste raco suporta o teste de recolha e embalagem, além de pelo diretório e arquivo, com as opções -c e -p.
- Bibliotecas Ensino:
- batch-io: funções de leitura e gravação trabalhar na entrada padrão Unix-estilo e de saída .
- DrRacket:
- GUI de DrRacket é mais responsivo.
- O modo de inserção automática parêntese é melhorada.
- Scribble:
- Scribble processa arquivos no formato Markdown via a bandeira de linha de comando --markdown. Caso de uso. Exemplo: Gerar documentação hospedado no GitHub ou BitBucket
- Documentação de referência cruzada é armazenado em um banco de dados SQLite3, o que significa que SQLite3 é necessário para a construção de documentação Racket em máquinas Unix / Linux (mas SQLite3 é incluído em distribuições raquete para Windows e Mac OS X).
- Usando um banco de dados para obter informações de referência cruzada reduz significativamente a pegada inicial de DrRacket, desde DrRacket não precisa mais carregar todas as informações de referência cruzada.
- Racket digitou:
- programas Raquete digitado pode exigir parcela / digitado para desenhar gráficos. Lista- e funções de aceitar vetor aceitar sequências gerais.
- Racket digitado suporta operadores de continuação e manutenção marca delimitados de raquete.
- Redex:
- Adicionado suporte para mais definir-julgamento-forma, incluindo a geração aleatória de sentenças bem formadas e visualização das decisões judiciais.
- Deprecation:
- A seguir foram removidas nesta versão ...
- a ferramenta de linha de comando planeta; uso raco planeta vez.
- O seguinte foi preterido e será removido na versão agosto 2013 ...
- a biblioteca mzlib / Class100; usar raquete / classe em vez disso.
Sistema
informações
O que é novo na versão 5.3.1:
- Racket:
- Os despachos de formulário caso em personagens, Fixnums, símbolos e palavras-chave em tempo logarítmica. (Obrigado a Jon Zeppieri).
- A nova biblioteca raquete / formato fornece funções novas e melhoradas string de formatação.
- Log incluem melhorar a filtragem de apoio com base no nome de um registrador. Uma nova forma de definir-logger simplifica o uso de madeireiros nomeados. Formas, tais como log-debug agora suportam formatação de strings.
- O para formulários agora suportam #: ruptura e #:. cláusulas finais
- A nova variável PLTCOMPILEDROOTS ambiente configura o caminho de pesquisa para bytecode compilado.
- DrRacket:
- Verificar sintaxe agora resume a documentação (ou seja, as caixas azuis) para o identificador no ponto de inserção no canto superior direito da janela definições.
- Verificar sintaxe agora é executado continuamente para programas que declaram a sua língua dentro da fonte. Este modo está disponível para vários dos últimos lançamentos, mas agora ativado por padrão.
- DrRacket pode verificação ortográfica constantes seqüência de caracteres (activar esta no menu Editar).
- Racket digitou:
- interpreta o digitado Racket Qualquer tipo como um contrato diferente. Isso pode sinalizar erros dinâmicos em alguns programas / sem tipo digitadas mista existentes. A correção normal é para substituir um uso de qualquer um com tipos mais específicos.
- NaN está incluído em todos os tipos de ponto flutuante é digitado raquete, o que torna precisos tipos de ponto flutuante mais fácil de usar.
- Racket digitado suporta uma operação de conversão com suporte para tipos de ordem superior.
- Racket digitado fornece o: consulta de tipo / args e:-tipo de consulta / resultado utilitários para explorar tipos no REPL .
- Variado:
- A coleção de compatibilidade fornece recursos de parentes de raquete, como defmacro e listas mutáveis. Esses recursos são fornecidos para facilitar a portabilidade de código para Racket. Evitá-los no código Racket moderna.
- Imagens de os widgets fornecidos pela biblioteca GUI Racket estão incluídas na documentação. (Obrigado a Diogo F. S. Ramos).
- FrTime foi portado para raquete #lang. (Obrigado a Patrick Mahoney).
- Deprecation:
- O seguinte foi preterido e será removido na versão janeiro 2013:
- a ferramenta de linha de comando planeta; uso raco planeta vez.
- O seguinte foi preterido e será removido no lançamento de agosto de 2013:
- a biblioteca mzlib / Class100; usar raquete / classe em vez disso.
ferramentas
O que é novo na versão 5.2.1:
- Esta versão adiciona um melhor desempenho de matcher do Redex, um melhorou & quot; enredo & quot; biblioteca, parcelas mais agradáveis para o futuro, eixo duplo customizável carrapatos / transformações, histogramas empilhados, e campos vetoriais em 3D.
- As melhorias de desempenho incluem o uso de epoll () / kqueue (), cross-módulo inlining, e usando SSE para operações de ponto flutuante compilado JIT.
- As seqüências literais, expressões regulares, etc. estão internados.
- DrRacket utiliza ícones componíveis de raio rastreado e digitou Racket permite que erros de tipo de personalização em macros.
- & quot; 2htdp / universo & quot; suporta um manipulador de tecla do teclado de jogo experimental.
- O & quot; db & quot; biblioteca agora suporta transações aninhadas e matrizes PostgreSQL.
Comentários não encontrado