| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 07/11/2010 16:04:35
|
mochuara
GUJ Master
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline
|
esmiralha wrote:Martin Odersky vai adicionar STM a Scala... mais um treco na pia da cozinha!!
Tem um framework para STM em Scala mas como a linguagem não é funcional e estruturas de dados não são persistentes não é tão eficiente como em Clojure. Estrutura de dados em Scala são apenas imutáveis.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2010 10:08:14
|
entanglement
GUJ Hacker
Membro desde: 26/09/2009 09:18:56
Mensagens: 5750
Offline
|
Em Scala há 2 tipos de estruturas de dados: as que são mutáveis (no pacote scala.collection.mutable) e as que não o são (em scala.collection.immutable). Como o compilador do Scala é um pouco mais esperto que o do Java, é suficiente escrever:
immutable.Vector
ou
mutable.Vector
em vez de usar
scala.collection.immutable.Vector
http://www.scala-lang.org/sites/default/files/sids/admin/Tue,%202010-07-20,%2010:39/collections.pdf
E de fato, o esquema de mônadas do Haskell é meio difícil de usar para quem está acostumado com Java. O esquema do Scala é muito mais simples nesse ponto.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2010 11:27:42
|
fredferrao
GUJ Master
![[Avatar]](/images/avatar/128ac9c427302b7a64314fc4593430b2.jpeg)
Membro desde: 01/06/2005 13:23:32
Mensagens: 1901
Localização: Brasil
Offline
|
Monads are elephants
A higher order function is a function that takes a function as a parameter or returns a function as a result. Monads are containers which have several higher order functions defined. Or, since we're talking about Scala, monads have several higher order methods.
Monads
Scala Monads tutorials
Bom como podem ver Scala tambem tem monads. Mais algum pré-requisito para podermos dizer que Scala suporta Programação Funcional?
This message was edited 1 time. Last update was at 08/11/2010 11:31:07
|
Não respondo dúvidas via MP! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2010 12:23:12
|
mochuara
GUJ Master
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline
|
entanglement wrote:Em Scala há 2 tipos de estruturas de dados: as que são mutáveis (no pacote scala.collection.mutable) e as que não o são (em scala.collection.immutable). Como o compilador do Scala é um pouco mais esperto que o do Java, é suficiente escrever:
immutable.Vector
ou
mutable.Vector
em vez de usar
scala.collection.immutable.Vector
Estruturas de dados mutáveis não são usadas com STM.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2010 12:54:32
|
mochuara
GUJ Master
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline
|
fredferrao wrote:
Bom como podem ver Scala tambem tem monads. Mais algum pré-requisito para podermos dizer que Scala suporta Programação Funcional?
Bom, parece que vc mesmo chegou a conclusão que Scala não é uma linguagem funcional, apesar de suportar esse estilo de programação.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2010 13:38:03
|
esmiralha
JavaEvangelist
Membro desde: 19/07/2006 09:04:42
Mensagens: 402
Offline
|
mochuara wrote:
esmiralha wrote:Martin Odersky vai adicionar STM a Scala... mais um treco na pia da cozinha!!
Tem um framework para STM em Scala mas como a linguagem não é funcional e estruturas de dados não são persistentes não é tão eficiente como em Clojure. Estrutura de dados em Scala são apenas imutáveis.
"Scala não é funcional" é uma conclusão e não uma premissa. Acho que é um dos pontos centrais da discussão.
Por favor, explique os seguintes pontos:
Por que as estruturas de dados imutáveis de Scala não seriam também persistentes?
Por que uma estrutura de dados não persistente seria menos "eficiente" do que uma persistente?
Qual o contexto em torno da palavra "eficiente" (eficiente em memória, em CPU...)?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2010 14:21:00
|
mochuara
GUJ Master
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline
|
esmiralha wrote:
Por que as estruturas de dados imutáveis de Scala não seriam também persistentes?
Sr Ordesky vai adicionar estrutura de dados persistentes a Scala tb.
Em algum ponto a diferença será apenas na motivação, em Clojure ela resolve um problema, em Scala ela é adicionado como mais uma feature.
This message was edited 2 times. Last update was at 08/11/2010 14:37:35
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2010 14:38:52
|
mochuara
GUJ Master
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline
|
esmiralha wrote:
"Scala não é funcional" é uma conclusão e não uma premissa. Acho que é um dos pontos centrais da discussão.
O que eu quis dizer é que Scala não é funcional porque suas estruturas de dados não são persistentes.
esmiralha wrote:
Por favor, explique os seguintes pontos:
Por que as estruturas de dados imutáveis de Scala não seriam também persistentes?
Por que uma estrutura de dados não persistente seria menos "eficiente" do que uma persistente?
Qual o contexto em torno da palavra "eficiente" (eficiente em memória, em CPU...)?
Estrutura de dados em Clojure além de imutáveis são persistentes, isto significa que quando "modificadas", as versões anteriores são preservadas e aqueles nós não afetados pela "atualização" são compartilhados com a nova estrutura, ao invés de serem copiadas.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2010 17:09:50
|
esmiralha
JavaEvangelist
Membro desde: 19/07/2006 09:04:42
Mensagens: 402
Offline
|
Scala possui uma implementação "nativa" de vetor e mapa persistentes.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2010 17:29:05
|
mochuara
GUJ Master
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline
|
esmiralha wrote:Scala possui uma implementação "nativa" de vetor e mapa persistentes.
Já tem? hm... legal. Qual o pacote?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/11/2010 18:34:54
|
fredferrao
GUJ Master
![[Avatar]](/images/avatar/128ac9c427302b7a64314fc4593430b2.jpeg)
Membro desde: 01/06/2005 13:23:32
Mensagens: 1901
Localização: Brasil
Offline
|
mochuara wrote:
esmiralha wrote:Scala possui uma implementação "nativa" de vetor e mapa persistentes.
Já tem? hm... legal. Qual o pacote?
http://stackoverflow.com/questions/3107151/persistent-data-structures-in-scala
|
Não respondo dúvidas via MP! |
|
|
 |
|
|