http://migmit.livejournal.com/ ([identity profile] migmit.livejournal.com) wrote in [personal profile] metaclass 2012-12-19 12:19 pm (UTC)

> ADT Bool в С++

То есть, нет. Ясно.

> Подразумевается, что я сейчас побегу заменять ADT на композируемую систему классов типов с геттерами и сеттерами, сдабривать это Template Haskell поверх для преобразования ADT<>TC и создания инстансов, и всё это ради того, чтобы в Haskell у меня появилась вещь, которая есть в С++, O'Caml и Scala by design и никаких сложностей не вызывает?

Конечно, нет. Это вещь редко нужная, и вам, скорее всего не понадобится.

А Template Haskell - бяка.

> Ну таки там у вас ошибка, полиморфная рекурсия.

> Единственная известная мне система, где полиморфная рекурсия тайпчекается, это исчисление Милнера-Майкрофта, для которого, походу, ещё даже нет доказательства разрешимости тайпчека.

Странно, в Java пример тайпчекается, в C# тайпчекается, в Haskell тайпчекается. А вот во всяких сишечках, с плюсами и без - ну никак.

> ошибку языка: дженерики, которые не подлежат type erasure.

Ну, вот в C# нет type erasure, а пример в шарпе работает.

Post a comment in response:

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting