Alô Marcelino, On Mon, 25 Aug 2014 12:56:44 -0300 Marcelino Pinheiro <[email protected]> wrote:
> obrigado pela resposta, tenho acompanhado o lisp, lido bastante sobre > as linguagens funcionais, fazendo exercicios dos livros, etc.. > > Tenho notado interesse das pessoas do meio por linguagens funcionais e > outras linguagens influenciadas por ela. A rigor, linguagens Lisp não são funcionais puras. Há operadores para geração de efeitos colaterais como, por exemplo, setq (Common Lisp, Emacs Lisp) e set! (Scheme). Eu diria que são multiparadigma. É possível, porém, programar de forma funcional em boa parte das linguagens Lisp. Recursos como procedimentos (ou funções) como objetos de primeira classe e a implementação de condicionais como expressões são praticamente comuns a todas as linguagens dessa família. Algumas linguagens Lisp oferecem recursos que tornam a programação funcional mais natural e segura do que em outras. Por exemplo, Scheme exige que implementações forneçam "recursão de última chamada" (tradução livre e possivelmente ridícula de "tail recursion"), o que permite representar iterações com recursão, sem limites. Linguagens sem essa otimização normalmente apresentam um limite máximo de profundidade de recursão (e.g., sys.getrecursionlimit(), em Python) e fornecem algum mecanismo para a execução de processos iterativos (e.g., `for', `while' etc.). Em Scheme, processos iterativos podem ser representados com a aplicação recursiva de procedimentos. Por ser tão comum, esse idioma pode ser expresso com uma sintaxe especial, conhecida como "named let". Mas, estritamente falando, linguagens Lisp em geral não são funcionais, emboram forneçam bons recursos para a programação funcional. Mario -- http://parenteses.org/mario -- You received this message because you are subscribed to the Google Groups "Lisp-br" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/lisp-br. For more options, visit https://groups.google.com/d/optout.
