Longino CL: agora com suporte a properties

2 respostas
L

Acabei de fazer upload da versão mais nova, 0.9.19. O destaque é o suporte a “properties”. Funciona de forma similar ao C#. É apenas uma forma mais simples de fazer get/set em objetos, ao invés de usar funções como aref ou gethash.

Também serve para reflection.

As features para a versão 1.0 serão:

  • CL menos CLOS;
  • Continuações;
  • Concorrência com Atores;
  • Matemática com vetores e matrizes;
  • JSON
  • Expressões Regulares
  • Propriedades e Reflexão

Aqui está o artigo explicando essa nova feature: http://www.longino.com.br/article.html?file=properties

2 Respostas

M

Que tal assim?

(let [x (list 1 2 3 4 5)] (print (x 2)))

L

moscoso.dev:
Que tal assim?

(let [x (list 1 2 3 4 5)] (print (x 2)))

Eu usei colchetes para a propriedade porque assim ficaria parecido com o que desenvolvedores Java e Javascript já conhecem. No Javascript é possível ler campos de objetos dessa mesma forma.

Sobre usar colchetes no let, ou uma lista (x 2), acho isso uma má idéia. A sintaxe do Lisp é simples e sair trocando parenteses por colchete é muito arbitrário. Não tem lógica. Por exemplo (x 2) seria fácil de se confundir com uma função de nome x com um parâmetro 2.

Existem tuplas e mapas que são imutáveis e eles usam sintaxe diferente, tipo [1 2 3] para uma tupla ou { “key1” 0 “key2” 1 } para mapa imutável, mas isso é porque esses objetos são diferentes dos outros. Então a diferença visual ajuda a distingui-los.

Criado 29 de setembro de 2011
Ultima resposta 30 de set. de 2011
Respostas 2
Participantes 2