Сообщение 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>Ну, можно полностью пример воспроизвести (с объявлением функции до использования)?
не проверял из за (*) ^!
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>Ну, можно полностью пример воспроизвести (с объявлением функции до использования)?
не проверял из за (*) ^!
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"
не проверял из за (*) ^!