Информация об изменениях

Сообщение Re[43]: Портирование нитры. от 16.02.2017 22:51

Изменено 16.02.2017 22:53 novitk

Re[43]: Портирование нитры.
Здравствуйте, VladD2, Вы писали:

VD>Я тебя не пытаюсь унизить. Сказал чушь. Я тебе на это указываю. Я не телепат и не могу знать из-за чего ты это делаешь.

VD>Если ты просто путаешься в терминологии, то не делай этого. А если не понимаешь сути, разбирайся в ней.
Влад, я просто перестану отвечать, если ты не изменишь тон. Я не понимаю как из контекста дискуссии можно не понять о чем я писал.

VD>В дотнете есть сущность сходная концептам — это констрэйны на дженериках. Аналогом классов типов (в дотнете) являются интерфейсы. В купе с консрэйнами они дают нужную функциональность.

Нет не дают, для полных typeclass еще нужен implicit.

VD>Классы типов гибче тем, что их можно реализовать для внешнего типа, а интерфейсы только для вновь создаваемых. Если бы в дотнете ввели интерфейс INat, как в Хаскеле. То проблема бы решилась сама собой и классы типов для этого не понадобились.

Ну допустим он есть, как мне сделать теперь:
val a = List(1, 2, 3)
val b = List(3, 4, 5)
a + b

VD>Я особо не сравнивал с Хаскелем.

но мнение имеешь...

VD>Так, например, не поддерживаются неявные приведения типов, перегрузки и т.п.

Не нужно. В скале все это впихнули, вышло плохо.

VD>А что нужно сделать, чтобы этот Data.HashTable.IO загрузить?

сейчас нет под рукой нужного компа(*), но что-то типа:
cabal update
cabal install hashtable

VD>Ну, можно полностью пример воспроизвести (с объявлением функции до использования)?

import qualified Data.HashTable.IO as H

printKey d k = do
     v <- H.lookup d k
     print v

main = do
     ht <- H.new
     H.insert ht "sss" 42
     printKey ht "sss"

не проверял из за (*) ^!
Re[43]: Портирование нитры.
Здравствуйте, VladD2, Вы писали:

VD>Я тебя не пытаюсь унизить. Сказал чушь. Я тебе на это указываю. Я не телепат и не могу знать из-за чего ты это делаешь.

VD>Если ты просто путаешься в терминологии, то не делай этого. А если не понимаешь сути, разбирайся в ней.
Влад, я просто перестану отвечать, если ты не изменишь тон. Я не понимаю как из контекста дискуссии можно не понять о чем я писал.

VD>В дотнете есть сущность сходная концептам — это констрэйны на дженериках. Аналогом классов типов (в дотнете) являются интерфейсы. В купе с консрэйнами они дают нужную функциональность.

Нет не дают, для полных typeclass еще нужен implicit.

VD>Классы типов гибче тем, что их можно реализовать для внешнего типа, а интерфейсы только для вновь создаваемых. Если бы в дотнете ввели интерфейс INat, как в Хаскеле. То проблема бы решилась сама собой и классы типов для этого не понадобились.

Ну допустим он есть, как мне сделать теперь:
val a = List(1, 2, 3)
val b = List(3, 4, 5)
a * b

VD>Я особо не сравнивал с Хаскелем.

но мнение имеешь...

VD>Так, например, не поддерживаются неявные приведения типов, перегрузки и т.п.

Не нужно. В скале все это впихнули, вышло плохо.

VD>А что нужно сделать, чтобы этот Data.HashTable.IO загрузить?

сейчас нет под рукой нужного компа(*), но что-то типа:
cabal update
cabal install hashtable

VD>Ну, можно полностью пример воспроизвести (с объявлением функции до использования)?

import qualified Data.HashTable.IO as H

printKey d k = do
     v <- H.lookup d k
     print v

main = do
     ht <- H.new
     H.insert ht "sss" 42
     printKey ht "sss"

не проверял из за (*) ^!