Quais são as vantagens e limitações das linguagens de tipos dinâmicas em comparação às linguagens de tipos estáticas? Veja também : o que há com o amor pelas linguagens dinâmicas (uma discussão muito mais argumentativa
Quais são as vantagens e limitações das linguagens de tipos dinâmicas em comparação às linguagens de tipos estáticas? Veja também : o que há com o amor pelas linguagens dinâmicas (uma discussão muito mais argumentativa
Qual é a diferença quando escrevo isso? data Book = Book Int Int versus newtype Book = Book (Int, Int) -- "Book Int Int" is syntactically
Eu li o artigo da Wikipedia Tipos existenciais . Concluí que eles são chamados de tipos existenciais por causa do operador existencial (∃). Não tenho certeza de qual é o objetivo disso. Qual é a diferença entre T = ∃X { X a; int f(X); } e T = ∀x { X a; int f(X);
Vi várias fontes ecoarem a opinião de que "Haskell está gradualmente se tornando uma linguagem dependente". A implicação parece ser que, com mais e mais extensões de linguagem, Haskell está à deriva nessa direção geral, mas ainda não existe. Há basicamente duas coisas que eu gostaria de saber. A...
Vejo este código neste blog: Programação em nível de tipo no Scala : // define the abstract types and bounds trait Recurse { type Next <: Recurse // this is the recursive function definition type X[R <: Recurse] <: Int } // implementation trait RecurseA extends Recurse { type Next =...
Os tipos de métodos dependentes, que antes eram um recurso experimental, agora foram ativados por padrão no porta-malas e, aparentemente, isso parece ter gerado algum entusiasmo na comunidade Scala. À primeira vista, não é imediatamente óbvio para que isso poderia ser útil. Heiko Seeberger postou...
Ouvi dizer que Scala tem tipos dependentes de caminho. Tem algo a ver com classes internas, mas o que isso realmente significa e por que eu me
Dado : data Foo = FooString String … class Fooable a where --(is this a good way to name this?) toFoo :: a -> Foo Eu quero fazer Stringuma instância de Fooable: instance Fooable String where toFoo = FooString GHC então reclama: Illegal instance declaration for `Fooable String'...
Eu apenas consegui entender a definição da classe MonadReader class Monad m => MonadReader r m | m -> r where ... Depois de ler o documento de Dependência funcional em Haskell, agora posso entender que | m -> respecifica que a variável de tipo ré decidida exclusivamente por m. Eu acho...