Novo em Lisp

54 views
Skip to first unread message

Carlos Burity

unread,
Aug 22, 2014, 3:11:36 PM8/22/14
to lis...@googlegroups.com
Pessoal,

Boa tarde.

Faz quase 10 anos que não programo, programei durante 14 anos.
Agora quero voltar a programar para desenvolver alguns projetos pessoais.

Mas não quero programar em qualquer linguajem, por isso escolhi lisp para trabalhar.

Bom. Andei estudando um pouco e entendendo um pouco sobre a linguagem, mas estou com  muitas dificuldades em usá-la (Devo estar muito enferrujado). Não estou conseguindo encontrar as informações que preciso e estou avançando a passos de tartaruga.

Estou usando o CLISP no Ubuntu. Bem no começo.

Tenho dúvidas ridiculamente básicas como:
1- Qual seria um bom IDE para utilizar?
2- Como acessar objetos e funções de diferentes arquivos?
3- Como chamar a execução de um arquivo .lisp pelo CLISP? Consigo colocar os comandos e receber o resultado, mas e se os comandos estiverem em um arquivo, como executo?
4- Como interagir com o sistema passando informações e tendo retornos das informações passadas?
5- Como criar uma interface gráfica, seja para win, linux, Mac, web, android, OSX?
6- Como acessar uma base de dados?

Vocês poderiam me ajudar com informações de onde posso conseguir estas respostas?

--
Muito Obrigado!

Abraços,
Carlos Burity

Mario Domenech Goulart

unread,
Aug 22, 2014, 4:19:53 PM8/22/14
to lis...@googlegroups.com
Alô Carlos,

On Fri, 22 Aug 2014 16:11:35 -0300 Carlos Burity <cabu...@gmail.com> wrote:

> Faz quase 10 anos que não programo, programei durante 14 anos.
> Agora quero voltar a programar para desenvolver alguns projetos
> pessoais.
>
> Mas não quero programar em qualquer linguajem, por isso escolhi lisp
> para trabalhar.

Bem-vindo de volta. :-)

> Bom. Andei estudando um pouco e entendendo um pouco sobre a linguagem,
> mas estou com muitas dificuldades em usá-la (Devo estar muito
> enferrujado). Não estou conseguindo encontrar as informações que
> preciso e estou avançando a passos de tartaruga.
>
> Estou usando o CLISP no Ubuntu. Bem no começo.
>
> Tenho dúvidas ridiculamente básicas como:
> 1- Qual seria um bom IDE para utilizar?

Uma grande parcela de usuários de Lisp usa Emacs (que é implementado em
Lisp). Caso não conheças, é esse https://www.gnu.org/software/emacs/

O `I' de IDE é meio dependente de qual implementação de Lisp irás usar.
Não sei como é a integração com CLISP.

> 2- Como acessar objetos e funções de diferentes arquivos?
> 3- Como chamar a execução de um arquivo .lisp pelo CLISP? Consigo
> colocar os comandos e receber o resultado, mas e se os comandos
> estiverem em um arquivo, como executo?
> 4- Como interagir com o sistema passando informações e tendo retornos
> das informações passadas?

Como não conheço CLISP, vou pular essas.

> 5- Como criar uma interface gráfica, seja para win, linux, Mac, web,
> android, OSX?

Não ficou claro para mim se "seja para" significa "ou" ou "e". Se for
"e", acho que terás problemas para encontrar uma implementação de
qualquer linguagem que atenda bem a esses requisitos. Se for "ou", fica
bem mais fácil, mas aí precisaremos de mais detalhes para poder indicar
algo.

> 6- Como acessar uma base de dados?

Isso é muito dependente de implementação de Lisp e, especialmente, de
implementação de sistema de gerenciamento de base de dados.

> Vocês poderiam me ajudar com informações de onde posso conseguir estas
> respostas?

Acho que as repostas para as questões específicas de CLISP devem
(espero) estar na documentação do projeto. Infelizmente não estou
conseguindo acessá-la no momento. Ao acessar http://www.clisp.org/,
recebo o erro "This project has been temporarily blocked for exceeding
its bandwidth threshold".

Caso ainda não conheças, sugiro uma visita a http://lisp-br.org . Há
uma coleção de links e informações bem legal lá.

Mario
--
http://parenteses.org/mario

Rafael Ibraim

unread,
Aug 22, 2014, 4:24:04 PM8/22/14
to lis...@googlegroups.com
Vamos lá:

1) EMACS, com SLIME. É bom gastar um bom tempo aqui e aprender a usar e configurar o emacs de acordo com o seu gosto (minha configuração foi evoluindo com o passar de vário anos)
2) Na verdade, contanto que o arquivo já tenha sido carregado (LOAD), não há sintaxe especial para acessá-los. No entanto, na prática você tem que estruturar seus programas em 'packages' (quem podem estar em 1 ou mais arquivos).
3) No REPL é só carregar o seu arquivo e chamar a função que você deseja. Se a sua idéia é rodar o arquivo (como se fosse um script), cada distribuição tem um jeito diferente.
4) O REPL é "o sistema". Um "print" por exemplo, imprime os caracteres no console.
5 & 6) Através de bibliotecas. Veja no Cliki[1] o que mais te atrai!

Pelas suas perguntas, dá pra ver que você é bem novo mesmo no lisp. Minha sugestão é que você pare um momento e leia (fazendo os exercícios) o Practical Common Lisp, que pode ser lido gratuitamente online[2]. Muito do que você perguntou vai ficar bem mais claro depois da leitura do livro!
Depois que estiver "manjando" um pouco mais do básico, minha sugestão é usar SBCL ao invés de CLISP e dar uma olhada no livro "The Land of Lisp", do Conrad Barski (que, aliás, tem um mini-tutorial bem legal no site[3]). Por fim, quando estiver programando "sério, não se esqueça de usar ASDF[4] e Quicklisp[5].



--
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 lisp-br+u...@googlegroups.com.
To post to this group, send email to lis...@googlegroups.com.
Visit this group at http://groups.google.com/group/lisp-br.
For more options, visit https://groups.google.com/d/optout.



--
Rafael Ibraim
Oracle Database SQL Expert
Linux User Number: #537480
ibraim.gm@gmail.com

Konrad Scorciapino

unread,
Aug 24, 2014, 1:35:51 PM8/24/14
to lis...@googlegroups.com
Olá, Carlos!

Caso não conheça, procure sobre Clojure! É um dialeto de lisp moderno super poderoso e practico.

Se estiver em São Paulo, quinzenalmente um pessoal lispeiro se reúne no (:crypto dojo). em que fazemos junctos exercicios de cryptographia. 

O stylo é bem mão-na-massa: todo mundo tem sae da zona de comforto e se põe a resolver os problemas, com a ajuda do resto do pessoal. Precisa saber apenas um minimo de lisp pra participar, e apprende innumeras coisas quem participa: ferramentas, editor, testes, codigo idiomatico, etc.

Extende-se o convite, claro, a todos da lista!

Tarcisio Praciano-Pereira

unread,
Aug 25, 2014, 8:53:19 AM8/25/14
to lis...@googlegroups.com
Seria bom se quem não vive em São Paulo pudesse se beneficiar da
experiência dos paulistas (ou paulistanos, eu nunca sei como é a coisa).

Sou antigo programador LISP voltando às origens...

Tarcisio


Você escreveu: Konrad Scorciapino========
> Olá, Carlos!
>
> Caso não conheça, procure sobre Clojure! É um dialeto de lisp moderno
> super
> poderoso e practico.
>
> Se estiver em São Paulo, quinzenalmente um pessoal lispeiro se reúne
> no (:crypto
> dojo) <http://www.meetup.com/clj-sp/events/201470832/>. em que fazemos
> junctos exercicios de cryptographia.
>
> O stylo é bem mão-na-massa: todo mundo tem sae da zona de comforto e se
> põe
> a resolver os problemas, com a ajuda do resto do pessoal. Precisa saber
> apenas um minimo de lisp pra participar, e apprende innumeras coisas quem
> participa: ferramentas, editor, testes, codigo idiomatico, etc.
>
> Extende-se o convite, claro, a todos da lista!
>
> Em 22 de agosto de 2014 17:24, Rafael Ibraim <ibra...@gmail.com>
> escreveu:
>
>> Vamos lá:
>>
>> 1) EMACS, com SLIME. É bom gastar um bom tempo aqui e aprender a usar e
>> configurar o emacs de acordo com o seu gosto (minha configuração foi
>> evoluindo com o passar de vário anos)
>> 2) Na verdade, contanto que o arquivo já tenha sido carregado (LOAD),
>> não
>> há sintaxe especial para acessá-los. No entanto, na prática você tem
>> que
>> estruturar seus programas em 'packages' (quem podem estar em 1 ou mais
>> arquivos).
>> 3) No REPL é só carregar o seu arquivo e chamar a função que você
>> deseja.
>> Se a sua idéia é rodar o arquivo (como se fosse um script), cada
>> distribuição tem um jeito diferente.
>> 4) O REPL é "o sistema". Um "print" por exemplo, imprime os caracteres
>> no
>> console.
>> 5 & 6) Através de bibliotecas. Veja no Cliki[1] o que mais te atrai!
>>
>> Pelas suas perguntas, dá pra ver que você é bem novo mesmo no lisp.
>> Minha
>> sugestão é que você pare um momento e leia (fazendo os exercícios) o
>> Practical Common Lisp, que pode ser lido gratuitamente online[2]. Muito
>> do
>> que você perguntou vai ficar bem mais claro depois da leitura do livro!
>> Depois que estiver "manjando" um pouco mais do básico, minha sugestão
>> é
>> usar SBCL ao invés de CLISP e dar uma olhada no livro "The Land of
>> Lisp",
>> do Conrad Barski (que, aliás, tem um mini-tutorial bem legal no
>> site[3]).
>> Por fim, quando estiver programando "sério, não se esqueça de usar
>> ASDF[4]
>> e Quicklisp[5].
>>
>> [1] http://www.cliki.net/
>> [2] http://www.gigamonkeys.com/book/
>> [3] http://lisperati.com/
>> [4] http://common-lisp.net/project/asdf/
>> [5] http://www.quicklisp.org/
>>
>>
>>
>> Em 22 de agosto de 2014 16:11, Carlos Burity <cabu...@gmail.com>
>> escreveu:
>>
>> Pessoal,
>>>
>>> Boa tarde.
>>>
>>> Faz quase 10 anos que não programo, programei durante 14 anos.
>>> Agora quero voltar a programar para desenvolver alguns projetos
>>> pessoais.
>>>
>>> Mas não quero programar em qualquer linguajem, por isso escolhi lisp
>>> para
>>> trabalhar.
>>>
>>> Bom. Andei estudando um pouco e entendendo um pouco sobre a linguagem,
>>> mas estou com muitas dificuldades em usá-la (Devo estar muito
>>> enferrujado). Não estou conseguindo encontrar as informações que
>>> preciso e
>>> estou avançando a passos de tartaruga.
>>>
>>> Estou usando o CLISP no Ubuntu. Bem no começo.
>>>
>>> Tenho dúvidas ridiculamente básicas como:
>>> 1- Qual seria um bom IDE para utilizar?
>>> 2- Como acessar objetos e funções de diferentes arquivos?
>>> 3- Como chamar a execução de um arquivo .lisp pelo CLISP? Consigo
>>> colocar
>>> os comandos e receber o resultado, mas e se os comandos estiverem em um
>>> arquivo, como executo?
>>> 4- Como interagir com o sistema passando informações e tendo retornos
>>> das
>>> informações passadas?
>>> 5- Como criar uma interface gráfica, seja para win, linux, Mac, web,
>>> android, OSX?
>>> 6- Como acessar uma base de dados?
>>>
>>> Vocês poderiam me ajudar com informações de onde posso conseguir
>>> estas
>>> respostas?
>>>
>>> --
>>> Muito Obrigado!
>>>
>>> Abraços,
>>> Carlos Burity
>>>
>>> --
>>> 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 lisp-br+u...@googlegroups.com.
>>> To post to this group, send email to lis...@googlegroups.com.
>>> Visit this group at http://groups.google.com/group/lisp-br.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>
>>
>> --
>> Rafael Ibraim
>> Oracle Database SQL Expert
>> Linux User Number: #537480
>> ibra...@gmail.com
>>
>> --
>> 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 lisp-br+u...@googlegroups.com.
>> To post to this group, send email to lis...@googlegroups.com.
>> Visit this group at http://groups.google.com/group/lisp-br.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> 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 lisp-br+u...@googlegroups.com.
> To post to this group, send email to lis...@googlegroups.com.
> Visit this group at http://groups.google.com/group/lisp-br.
> For more options, visit https://groups.google.com/d/optout.
>


--
“If nothing else, always question authority. We don’t progress as a
society unless we question. Don’t accept what others tell you. Learn for
yourself.” Howard Zinn
-------------------------------
Enviado de com Debian/GNU/linux Sent with Debian/GNU/Linux
---------------------------------------------
Prof. Tarcisio Praciano-Pereira
Professor of Mathematical Analysis
Sobral Matemática - Sobral - Ce - Brasil
http://lattes.cnpq.br/4382643649890787
Linux user number 370344
FSF-member # 6657

Konrad Scorciapino

unread,
Aug 25, 2014, 9:09:49 AM8/25/14
to lis...@googlegroups.com
Prometo que tentarei!

A maior difficuldade é capturar o som da sala toda. Alguém tem experiência com isso?

Carlos Burity

unread,
Aug 25, 2014, 9:14:56 AM8/25/14
to lis...@googlegroups.com
Olá Mario,

Muito obrigado pelas respostas.
Noto que existem algumas implementações do LISP e que as respostas às questões estão bem relacionadas com cada implementação.
Qual implementação usa, e qual indicaria a um iniciante no assunto?

Obrigado
Carlos Burity



--
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 lisp-br+u...@googlegroups.com.
To post to this group, send email to lis...@googlegroups.com.
Visit this group at http://groups.google.com/group/lisp-br.
For more options, visit https://groups.google.com/d/optout.

--
Muito Obrigado!

Abraços,
Carlos Burity
51 8453-5483

Tarcisio Praciano-Pereira

unread,
Aug 25, 2014, 9:24:05 AM8/25/14
to lis...@googlegroups.com
Obrigado e fica uma sugestão - não dá para de alguma forma incluir na
lista do grupo? sei lá, um módulo de codificação som-texto...

Tarcisio


Você escreveu: Konrad Scorciapino========
> Prometo que tentarei!
>
> A maior difficuldade é capturar o som da sala toda. Alguém tem
> experiência
> com isso?
>
>
> Em 25 de agosto de 2014 09:53, Tarcisio Praciano-Pereira <
> tarc...@member.ams.org> escreveu:
>
>> Seria bom se quem não vive em São Paulo pudesse se beneficiar da
>> experiência dos paulistas (ou paulistanos, eu nunca sei como é a
>> coisa).
>>
>> Sou antigo programador LISP voltando às origens...
>>
>> Tarcisio
>>
>>
>> Você escreveu: Konrad Scorciapino========
>> > Olá, Carlos!
>> >
>> > Caso não conheça, procure sobre Clojure! É um dialeto de
>> lisp moderno
>> > super
>> > poderoso e practico.
>> >
>> > Se estiver em São Paulo, quinzenalmente um pessoal lispeiro se
>> reúne
>> > no (:crypto
>> > dojo) <http://www.meetup.com/clj-sp/events/201470832/>. em que fazemos
>> > junctos exercicios de cryptographia.
>> >
>> > O stylo é bem mão-na-massa: todo mundo tem sae da zona de
>> comforto e se
>> > põe
>> > a resolver os problemas, com a ajuda do resto do pessoal. Precisa
>> saber
>> > apenas um minimo de lisp pra participar, e apprende innumeras coisas
>> quem
>> > participa: ferramentas, editor, testes, codigo idiomatico, etc.
>> >
>> > Extende-se o convite, claro, a todos da lista!
>> >
>> > Em 22 de agosto de 2014 17:24, Rafael Ibraim <ibra...@gmail.com>
>> > escreveu:
>> >
>> >> Vamos lá:
>> >>
>> >> 1) EMACS, com SLIME. É bom gastar um bom tempo aqui e aprender a
>> usar e
>> >> configurar o emacs de acordo com o seu gosto (minha
>> configuração foi
>> >> evoluindo com o passar de vário anos)
>> >> 2) Na verdade, contanto que o arquivo já tenha sido carregado
>> (LOAD),
>> >> não
>> >> há sintaxe especial para acessá-los. No entanto, na prática
>> você tem
>> >> que
>> >> estruturar seus programas em 'packages' (quem podem estar em 1 ou
>> mais
>> >> arquivos).
>> >> 3) No REPL é só carregar o seu arquivo e chamar a função
>> que você
>> >> deseja.
>> >> Se a sua idéia é rodar o arquivo (como se fosse um script),
>> cada
>> >> distribuição tem um jeito diferente.
>> >> 4) O REPL é "o sistema". Um "print" por exemplo, imprime os
>> caracteres
>> >> no
>> >> console.
>> >> 5 & 6) Através de bibliotecas. Veja no Cliki[1] o que mais te
>> atrai!
>> >>
>> >> Pelas suas perguntas, dá pra ver que você é bem novo mesmo
>> no lisp.
>> >> Minha
>> >> sugestão é que você pare um momento e leia (fazendo os
>> exercícios) o
>> >> Practical Common Lisp, que pode ser lido gratuitamente online[2].
>> Muito
>> >> do
>> >> que você perguntou vai ficar bem mais claro depois da leitura do
>> livro!
>> >> Depois que estiver "manjando" um pouco mais do básico, minha
>> sugestão
>> >> é
>> >> usar SBCL ao invés de CLISP e dar uma olhada no livro "The Land of
>> >> Lisp",
>> >> do Conrad Barski (que, aliás, tem um mini-tutorial bem legal no
>> >> site[3]).
>> >> Por fim, quando estiver programando "sério, não se esqueça
>> de usar
>> >> ASDF[4]
>> >> e Quicklisp[5].
>> >>
>> >> [1] http://www.cliki.net/
>> >> [2] http://www.gigamonkeys.com/book/
>> >> [3] http://lisperati.com/
>> >> [4] http://common-lisp.net/project/asdf/
>> >> [5] http://www.quicklisp.org/
>> >>
>> >>
>> >>
>> >> Em 22 de agosto de 2014 16:11, Carlos Burity <cabu...@gmail.com>
>> >> escreveu:
>> >>
>> >> Pessoal,
>> >>>
>> >>> Boa tarde.
>> >>>
>> >>> Faz quase 10 anos que não programo, programei durante 14 anos.
>> >>> Agora quero voltar a programar para desenvolver alguns projetos
>> >>> pessoais.
>> >>>
>> >>> Mas não quero programar em qualquer linguajem, por isso escolhi
>> lisp
>> >>> para
>> >>> trabalhar.
>> >>>
>> >>> Bom. Andei estudando um pouco e entendendo um pouco sobre a
>> linguagem,
>> >>> mas estou com muitas dificuldades em usá-la (Devo estar muito
>> >>> enferrujado). Não estou conseguindo encontrar as
>> informações que
>> >>> preciso e
>> >>> estou avançando a passos de tartaruga.
>> >>>
>> >>> Estou usando o CLISP no Ubuntu. Bem no começo.
>> >>>
>> >>> Tenho dúvidas ridiculamente básicas como:
>> >>> 1- Qual seria um bom IDE para utilizar?
>> >>> 2- Como acessar objetos e funções de diferentes arquivos?
>> >>> 3- Como chamar a execução de um arquivo .lisp pelo CLISP?
>> Consigo
>> >>> colocar
>> >>> os comandos e receber o resultado, mas e se os comandos estiverem em
>> um
>> >>> arquivo, como executo?
>> >>> 4- Como interagir com o sistema passando informações e tendo
>> retornos
>> >>> das
>> >>> informações passadas?
>> >>> 5- Como criar uma interface gráfica, seja para win, linux, Mac,
>> web,
>> >>> android, OSX?
>> >>> 6- Como acessar uma base de dados?
>> >>>
>> >>> Vocês poderiam me ajudar com informações de onde posso
>> conseguir
>> >>> estas
>> >>> respostas?
>> >>>
>> >>> --
>> >>> Muito Obrigado!
>> >>>
>> >>> Abraços,
>> “If nothing else, always question authority. We don’t progress as a
>> society unless we question. Don’t accept what others tell you. Learn
>> for
>> yourself.†Howard Zinn
>> -------------------------------
>> Enviado de com Debian/GNU/linux Sent with Debian/GNU/Linux
>> ---------------------------------------------
>> Prof. Tarcisio Praciano-Pereira
>> Professor of Mathematical Analysis
>> Sobral Matemática - Sobral - Ce - Brasil

Andy Peterson

unread,
Aug 25, 2014, 9:48:34 AM8/25/14
to lis...@googlegroups.com

Carlos Burity

unread,
Aug 25, 2014, 10:02:52 AM8/25/14
to lis...@googlegroups.com
Olá Rafael,

Obrigado pelas dicas.
Realmente estou muito verde, vou iniciar a literatura sugerida para poder entender um pouco mais.

Obrigado,
Carlos Burity


Em 22 de agosto de 2014 17:24, Rafael Ibraim <ibra...@gmail.com> escreveu:
51 8453-5483

Carlos Burity

unread,
Aug 25, 2014, 10:05:21 AM8/25/14
to lis...@googlegroups.com
Olá Konrad,

Muito Obrigado.

Notei que tenho que estudar um muito mais sobre a linguagem antes de começar a participar desta iniciativa.
Estou no Rio Grande do Sul, se tiver uma forma de participar remotamente, assim que eu tiver entendendo um pouco mais sobre a linguagem gostaria muito de participar.

Obrigado.
Abraço,
Carlos Burity
51 8453-5483

Carlos Burity

unread,
Aug 25, 2014, 10:07:04 AM8/25/14
to lis...@googlegroups.com
Andy,

Obrigado.
Carlos Burity

Mario Domenech Goulart

unread,
Aug 25, 2014, 10:14:54 AM8/25/14
to lis...@googlegroups.com
Alô Carlos,

On Mon, 25 Aug 2014 10:14:55 -0300 Carlos Burity <cabu...@gmail.com> wrote:

> Muito obrigado pelas respostas.
> Noto que existem algumas implementações do LISP e que as respostas às
> questões estão bem relacionadas com cada implementação.
> Qual implementação usa, e qual indicaria a um iniciante no assunto?

Atualmente, Lisp se refere a uma família de linguagens com
características comuns. Dentre os membros desta família, estão: Common
Lisp, Scheme, Racket, Emacs Lisp, Arc, Clojure e outras.

Algumas dessas linguagens possuem especificação "formal" (Scheme e
Common Lisp). Outras possuem uma implementação de referência.

Normalmente as linguagens possuem múltiplas implementações,
especialmente no caso de Scheme (centenas). Scheme ainda tem a
especificação versionada.

Como podes ver, a fragmentação no mundo dos parênteses é bem grande. :-)

Para aprendizado dos conceitos fundamentais de Lisp, acho que qualquer
linguagem/implementação quebra o galho. Eu considero Scheme mais
simples, mas é possível que haja opiniões divergentes.

Eu particularmente uso uma implementação de Scheme chamada CHICKEN
(http://www.call-cc.org), pelo aspecto prático. Dependendo das tuas
necessidades, talvez outras opções sejam mais adequadas.

Mario
--
http://parenteses.org/mario

Marcelino Pinheiro

unread,
Aug 25, 2014, 10:17:47 AM8/25/14
to lis...@googlegroups.com
Mario,

tem usado o Scheme para aplicações comerciais ou apenas academica?

masp


--
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 lisp-br+u...@googlegroups.com.
To post to this group, send email to lis...@googlegroups.com.
Visit this group at http://groups.google.com/group/lisp-br.
For more options, visit https://groups.google.com/d/optout.



--
Marcelino Pinheiro

Mario Domenech Goulart

unread,
Aug 25, 2014, 10:22:05 AM8/25/14
to lis...@googlegroups.com
Alô Marcelino,

On Mon, 25 Aug 2014 11:17:06 -0300 Marcelino Pinheiro <mas...@gmail.com> wrote:

> tem usado o Scheme para aplicações comerciais ou apenas academica?

Tenho usado Scheme em aplicações comerciais e pessoais/"comunitárias".
Não tenho experiência acadêmica com Scheme.

Mario
--
http://parenteses.org/mario

Carlos Burity

unread,
Aug 25, 2014, 10:22:51 AM8/25/14
to lis...@googlegroups.com
Mário,

Muito Obrigado.
Abraço,
Carlos Burity


--
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 lisp-br+u...@googlegroups.com.
To post to this group, send email to lis...@googlegroups.com.
Visit this group at http://groups.google.com/group/lisp-br.
For more options, visit https://groups.google.com/d/optout.

Marcelino Pinheiro

unread,
Aug 25, 2014, 11:57:26 AM8/25/14
to lis...@googlegroups.com
Mário,

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.

masp
Marcelino Pinheiro

Mario Domenech Goulart

unread,
Aug 25, 2014, 12:59:06 PM8/25/14
to lis...@googlegroups.com
Alô Marcelino,

On Mon, 25 Aug 2014 12:56:44 -0300 Marcelino Pinheiro <mas...@gmail.com> 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

Marcelino Pinheiro

unread,
Aug 25, 2014, 1:18:26 PM8/25/14
to lis...@googlegroups.com
Mario,

interessante pois há muita enfase nesta abordagem funcional por exemplo no livro "Land of lisp" apesar do autor informar que existem sim funções com efeitos colaterais.

Achava que outras linguagens se baseavam no paradigma funcional baseados no lisp


--
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 lisp-br+u...@googlegroups.com.
To post to this group, send email to lis...@googlegroups.com.
Visit this group at http://groups.google.com/group/lisp-br.
For more options, visit https://groups.google.com/d/optout.



--
Marcelino Pinheiro
Reply all
Reply to author
Forward
0 new messages