Gtk2hs + классы = взрыв мозга!
От: Аноним  
Дата: 16.06.08 15:06
Оценка:
Полез в исходники сабжа. Смотрю, например, файл gtk2hs-0.9.12.1\gtk\Graphics\UI\Gtk\Buttons\Button.chs.pp, есть декларация

module Graphics.UI.Gtk.Buttons.Button (
[...]
-- * Types
  Button,
  ButtonClass,
[...]


Где собственно сами описания типа и класса?

А полез я туда вот почему. В ООП языках, на сколько я понимаю, класс это некая структура данных, с которой "ассоциированы" некие процедуры (которые называются методами). Однако в Хаскеле класс — это класс типов Класс в Хаскеле не хранит никаких данных, он своего рода интерфейс, который определяет что можно делать с данными. А структура данных описывается отдельно от класса. При этом сами структуры данных не наследуются (???) друг от друга.

Т.е. система классов в ООП языках и Хаскеле устроены совсем по разному. И тут возник вопрос: каким образом gtk, на сколько я понимаю реализованный в традициях ООП, наложен поверх совсем не похожих классов Хаскелла???

Более практическая формулировка: как мне создать свой графический компонент, расширяющий класс Widget, а от моего компонента создать еще один класс-потомок и т.д.???
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.