BT

Novidades O InfoQ vem desenvolvendo uma série de novas funcionalidades para melhorar sua experiência com o site. Confira!

Racket 6.1 liberado

| por Sergio De Simone Seguir 4 Seguidores , traduzido por Diogo Carleto Seguir 1 Seguidores em 14 ago 2014. Tempo estimado de leitura: 2 minutos |

A PLT Design liberou a versão 6.1 do Racket. O objetivo do projeto é desenvolver uma linguagem de programação multiparadigma pertencente a família Lisp/Scheme. Entre diversos recursos, o Racket 6.1 introduz uma nova maneira de lidar com as definições de variáveis ​​locais recursivas.

Segundo Ryan Culpepper,no racket-lang.org, a principal inovação adicionada ao Racket v6.1, é a maneira de lidar com as definições de variáveis locais recursivas. Anteriormente a versão 6.1, variáveis eram inicializadas com um valor #undefined. Agora as variáveis não são mais inicializadas e o Racket lança uma exceção quando se tenta acessar uma variável antes de definí-la.

Ryan comenta que está mudança tem por objetivo fornecer e melhorar o feedback para os desenvolvedores sobre o uso indevido de variáveis e não deve alterar a semântica dos programas, uma vez que os programas raramente tem a intenção de produzir #undefined. Além disto, o novo comportamento é consistente com a convenção existente sobre variáveis em relação a módulos, que já geram uma exceção quando utilizados antes da definição.

O novo comportamento de definição de variável local não é compatível com versões anteriores e irá quebrar qualquer programa que acessar incorretamente variáveis indefinidas bem como programas que incluem o seguinte padrão para obter o valor #undefined:

(define undefined (letrec ([x x]) x))

Agora, a maneira correta para obter um valor #undefined é através do racket/undefined.

Outras mudanças introduzidas com a nova versão do Racket são:

  • Plumbers fornece aos programadores maior controle sobre o tempo de flushes(liberação/descarga) e ativa ações de flushing arbitrárias através de um novo conjunto de funções, tais como current-plumber, plumber-add-flush!, and plumber-flush-all.
  • Contracts podem agora facilmente encontrar simples erros em implementações de estrutura de dados contracted(contratados), por exemplo: uma inversão acidental de uma condicional em uma verificação invariante da pilha.
  • Bibliotecas gráficas e suas dependências (Pango, Cairo, GLib, etc.) foram atualizadas no Windows e Mac OS X.
  • A biblioteca openssl apresenta melhoria de segurança através de pacotes de criptografia DHE e ECDHE e a indicação de Server Name.
  • A biblioteca mzlib/class100 foi substituída pela racket/class.

O Racket (chamado antigamente de PLT Scheme) é uma linguagem multiparadigma de programação livre de uso geral, da família Lisp/Scheme liberado sob a licença LGPL. Um dos objetivos de seu design é ser uma plataforma para criações de linguagem, design e implementação. A linguagem é utilizada em uma variedade de contextos tais como scripting, programação em geral, educação em ciência e pesquisa.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT