[R-br] [Dúvida] Uso de linguagem funcional para estatística.

Benilton Carvalho beniltoncarvalho em gmail.com
Domingo Fevereiro 26 12:57:45 BRT 2012


De fato, FH, nao e' um conceito trivial de entender.

A estoria toda gira em torno do fato de que "nosso metodo usual de
programacao" depende basicamente em mudar dados de alguma forma... Por
exemplo, no exemplo que dei, o primeiro caso sempre muda o acumulador
'produto'. Em funcional, os dados sao vistos como algo imutavel e,
dai', loops como o for() que usei inicialmente sao substituidos por
recursoes de *funcoes* (dai' o termo funcional - a unidade basica na
programacao sao as funcoes e nao os dados).

Eu estou bem desatualizado nisso, talvez o Pedro possa ser mais
preciso nas definicoes. Mas acho que (pelo menos a maioria de)
linguagens puramente funcionais tenham natureza de linguagens
interpretadas, mas podem ser sempre compiladas em algum nivel (por
exemplo, via byte-compilers).

b

2012/2/26 FHRB Toledo <fernandohtoledo em gmail.com>:
> Benilton,
>
> Entendi em partes sua argumentação... !
>
> Li seu código, mas também não testei.
>
> Minha pergunta veio apenas no gancho da explicação do Pedro sobre as
> linguagens funcionais, não entendo o suficiente de programação, sou
> apenas curioso, vi no texto dele falando de linguagens como lisp que
> me classificaram como "interpretada", por isso, por "reflexo"
> perguntei se linguagem funcional era sinônimo de linguagem
> interpretada, talvés tenha sido mal interpretado!
>
> OBS: ainda continuo com a dúvida e "um pouco" a deriva com sua explicação.
>
> abraço,
> FH
>
> 2012/2/25 Benilton Carvalho <beniltoncarvalho em gmail.com>:
>> FH, a maioria de programas tem dados como argumento. Prof funcionais tem
>> funções como argumentos. Por exemplo, em R:
>>
>> factorial = funtion(x){
>> stopifnot(x>=0)
>> produto=1
>>  for (i in1:x) produto = i* produto
>> produto
>> }
>>
>> Vs
>>
>> f2 = funtion(x){
>> stopifnot(x>=0)
>> If(x<=1){
>> 1
>> }else{
>> x*f2(x-1)
>> }
>> }
>>
>> Resumindo, se em  r vc pode fazer ambos, tem mesmo pq se preocupar?
>>
>> b
>>
>> Ps: códigos não testados
>>
>> On Sunday, 26 February 2012, FHRB Toledo wrote:
>>>
>>> Pedro,
>>>
>>> Aproveitando o gancho da explicação:
>>>
>>> Seria por acaso linguegem funcional sinônimo de linguegem interpretada?
>>>
>>> att,
>>> FH
>>>
>>> 2012/2/25 Pedro Rafael <pedro.rafael.marinho em gmail.com>:
>>> > "Em ciência da computação, programação funcional é um paradigma de
>>> > programação que trata a computação como uma avaliação de funções
>>> > matemáticas e que evita estados ou dados mutáveis. Ela enfatiza a
>>> > aplicação de funções, em contraste da programação imperativa, que
>>> > enfatiza mudanças no estado do programa.
>>> >
>>> > Uma função, neste sentido, pode ter ou não ter parâmetros e um simples
>>> > valor de retorno. Os parâmetros são os valores de entrada da função, e
>>> > o valor de retorno é o resultado da função. A definição de uma função
>>> > descreve como a função será avaliada em termos de outras funções. Por
>>> > exemplo, a função f(x) = x2 + 2 é definida em termos de funções de
>>> > exponenciação e adição. Do mesmo modo, a linguagem deve oferecer
>>> > funções básicas que não requerem definições adicionais.
>>> >
>>> > Linguagens de programação funcionais, especialmente as puramente
>>> > funcionais, tem sido mais usadas academicamente que no desenvolvimento
>>> > comercial de software. Entretanto, algumas linguagens notáveis usadas
>>> > na indústria e no comércio incluem Erlang (aplicações
>>> > concorrentes)[2], R (estatística), Mathematica (matemática
>>> > simbólica)[3] J, K (análise financeira) e XSLT.[4][5]Importantes
>>> > influências na programação funcional foram o cálculo lambda, as
>>> > linguagens de programação APL e Lisp, e mais recentemente ML, Haskell,
>>> > OCaml e F#."
>>> >
>>> > Um bom link sobre a linguagem funcional que mais me chama a atenção
>>> > (Haskell): http://haskell.tailorfontela.com.br/chapters
>>> >
>>> > Em 25 de fevereiro de 2012 20:03, Gilbert Queiroz [via R-br]
>>> > <ml-node+s2285057n4421229h76 em n4.nabble.com> escreveu:
>>> >>
>>> >> linguagem de programação funcional? O q é isso?????
>>> >>
>>> >>
>>> >> ________________________________
>>> >> De: Pedro Rafael <[hidden email]>
>>> >> Para: [hidden email]
>>> >> Enviadas: Sábado, 25 de Fevereiro de 2012 20:20
>>> >> Assunto: [R-br] [Dúvida] Uso de linguagem funcional para estatística.
>>> >>
>>> >> Alguem aqui domina alguma linguagem de programação funcional? Existe
>>> >> alguma vantagem de quem é da estatística ou matemática também aprender
>>> >> profundamente alguma linguagem funcional como é o caso de Haskell?
>>> >> Atualmente tudo que preciso consigo em R e C mas ultimamente venho lendo
>>> >> sobre linguagem funcional e cálculo lambda e me parece bem interessante para
>>> >> quem trabalha matemática....
>>> >>
>>> >> --
>>> >> Saudações,
>>> >> Pedro Rafael Diniz Marinho.
>>> >> Estatístico - Secretaria de Estado da Saúde - PB.
>>> >>
>>> >>
>>> >>
>>> >> _______________________________________________
>>> >> R-br mailing list
>>> >> [hidden email]
>>> >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>> >> código mínimo reproduzível.
>>> >>
>>> >>
>>> >> _______________________________________________
>>> >> R-br mailing list
>>> >> [hidden email]
>>> >> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>>> >> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
>>> >> código mínimo reproduzível.
>>> >>
>>> >> ________________________________
>>> >> If you reply to this email, your message will be added to the
>>> >> discussion below:
>>> >>
>>> >> http://r-br.2285057.n4.nabble.com/R-br-Duvida-Uso-de-linguagem-funcional-para-estatistica-tp4421166p4421229.html
>>> >> To unsubscribe from R-br, click here.
>>> >> NAML
>>> >
>>> >
>>> >
>>> >
>>> > --
>>> > Saudações,
>>> > Pedro Rafael Diniz Marinho.
>>> > Estatístico - Secretaria de Estado da Saúde - PB.
>>> > _______________________________________________
>>> > R-br mailing list
>>> >
>>
>>
>> _______________________________________________
>> R-br mailing list
>> R-br em listas.c3sl.ufpr.br
>> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
>> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código
>> mínimo reproduzível.
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.


Mais detalhes sobre a lista de discussão R-br