История изменений
Исправление korvin_, (текущая версия) :
Так, ещё раз: почему?
Потому что используются для разных целей: дженерики для обеспечения параметрического полиморфизма, тайпклассы — для специального.
Например: http://ideone.com/s3FhtG
Во-первых, у тебя foo — функция двух аргументов (this и a), а не одного, как в хаскелльном варианте.
Во-вторых, она делает не то же, что хаскелльная.
В-третьих, и где же дженерики? =)
Я же указал на разницу между шаблонами и дженериками: проверка типов происходит на разных этапах, и в этом смысле дженерики как раз ближе.
На практике это не имеет значения и на близость никак не сказывается.
Исправление korvin_, :
Так, ещё раз: почему?
Потому что используются для разных целей: дженерики для обеспечения параметрического полиморфизма, тайпклассы — для специального.
Например: http://ideone.com/s3FhtG
Во-первых, у тебя foo — функция двух аргументов (this и a), а не одного, как в хаскелльном варианте.
Во-вторых, она делает не то же, что хаскелльная.
В-третьих, и где же дженерики? =)
Исправление korvin_, :
Так, ещё раз: почему?
Потому что используются для разных целей: дженерики для обеспечения параметрического полиморфизма, тайпклассы — для специального.
Например: http://ideone.com/s3FhtG
Во-первых, у тебя foo — функция двух аргументов (this и a).
Во-вторых, она делает не то же, что хаскелльная.
В-третьих, и где же дженерики? =)
Исходная версия korvin_, :
Так, ещё раз: почему?
Потому что используются для разных целей: дженерики для обеспечения параметрического полиморфизма, тайпклассы — для специального.
Например: http://ideone.com/s3FhtG
Во-первых, у тебя foo — функция двух аргументов (this и a). Во-вторых, делает не то, что хаскелльная. В-третьих, и где же дженерики? =)