Intelib.

Uma biblioteca de classes C ++ que permite fazer programação Lisp dentro do seu programa C ++
Baixe Agora

Intelib. Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • GPL
  • Preço:
  • FREE
  • Nome do editor:
  • Andrey V. Stolyarov
  • Site do editor:
  • http://www.intelib.org/

Intelib. Tag


Intelib. Descrição

Uma biblioteca de classes C ++ que permite fazer programação Lisp dentro do seu programa C ++ A Intelib é uma biblioteca de classes C ++ que permite fazer programação Lisp no seu programa C ++ mesmo sem qualquer pré-processamento adicional, sem todas aquelas convenções de chamadas, etc.Você pode escrever um código C ++ (ou seja, um código que é aceito pelo seu compilador C ++) Pensando em um "modo lisp" e o código que você escreve parecerá muito parecido com o código Lisp, ele será puro C ++. Para lhe dar o sentimento essencial, o exemplo a seguir é fornecido. (Defun isomorphic (Árvore da árvore1) (Átomo Árvore1) (Atom tree2)) ((átomo tree2) nil) (t (e (isomorfo (carrume de carro1)) (isomorfico (cdr árvore1))))))) Apenas uma função lisp, isn Isso? Agora olhe para o seguinte código: (l | defun, isomorphic, (l | tree1, tree2), (l | cond, (L | átomo, árvore1), (L | átomo, árvore2)), (L | (L | átomo, tree2), nil), (l | t, (l | e, (l | isomorfo, (l | carro, árvore1), (L | carro, árvore2)), (l | isomorfo | CDR, Árvore1), (L | CDR, Árvore2)))))) Obviamente, o código é o mesmo, a sintaxe mudou um pouco, mas ainda é o mesmo. Bem, eu te surpreendo se eu disser que é código C ++? Se você não acredita, olhe para o seguinte: // arquivo isomorph.cpp #include "lisp / lisp.hpp" #include "lismbol / lsymbol.hpp" #include "lfun_std.hpp" lsymbol isomorphic ("isomorphic") ; Lfunctistsymbol defun ("defun"); lfunctionalsymbol cond ("cond"); Lfunctistsymbol átomo ("átomo"); lfunctistsymbol e ("e"); Lfunctalsymbol carro ("carro"); Lfunctalsymbol CDR ("CDR"); Llistconstructor l; void lispinit_isomorphic () {static lsymbol tree1 ("tree1"); Ética Lsymbol tree2 ("tree2"); ////////////////// // (L | defun, isomorfo, (l | tree1, tree2), (l | cond, (l | átomo, árvore1), (L | átomo, árvore2)), (L | átomo, árvore2) Nil), (l | t, (l | e, (l | isomorfo, (l | carro, árvore1), (L | carro, árvore2)), (l | isomorfo, (l | cdr, tree1), L | cdr, tree2))))))). Avaliar (); ////////////////////////////////////////////////////////////////////////////// } // End of FileWell, este código é um módulo C ++ completo e compila muito bem. Nenhuma piada, é real.Ny the Way, não tente encontrar qualquer uso que fiz do macroprocessador. Nenhuma macros já foi usada pela Intelib (exceto aquelas para diretivas de compilação condicional). Em vez disso, basta lembrar que a vírgula é um operador em C ++ e pode ser sobrecarregada para tipos de dados inventados pelo usuário. O que há de novo nesta versão: · A versão inclui uma implementação do modelo de computação do Refal significativamente retrabalhado por Igor Bronshtein (obrigado Igor!). · Esta implementação parece ser notavelmente mais rápida do que a anteriormente existente.


Intelib. Software Relacionado

Ecli.

Ecli é um invólucro Eiffel em torno do X / Open ISO / CLI (interface de nível de chamada), que define uma API para drivers RDBMS e usa o SQL92 ...

149

Download

Sene.

SGE é uma biblioteca gráfica para a excelente biblioteca Simple DirectMedia Layer (SDL) (principalmente) escrita por Sam Lantinga. ...

158

Download