История изменений
Исправление AndreyKl, (текущая версия) :
всё таки, кажется, штука в том что сам тип CString это не «хаскель-тип» в том смысле что привычные операции с ним (к примеру show) нельзя написать без привлечения ансейф/форин операций. нельзя написать оператор + без привлечения анфейф/форин.
Т.е. я понимаю что система типов в этом примере даёт сбой и хотелось бы как то помечать такие «плохие» типы чтобы их нельзя было передать в обычные операции (но как тогда быть с id например?). Но всё таки пока типы «родные» кажется, такого сделать нельзя. И это, кажется, хорошее свойство.
Исходная версия AndreyKl, :
всё таки, кажется, штука в том что сам тип CString это не «хаскель-тип» в том смысле что привычные операции с ним (к примеру show) нельзя написать без привлечения ансейф/форин операций. нельзя написать оператор + без привлечения анфейф/форин.
Т.е. я понимаю что система типов в этом примере даёт сбой и хотелось бы как то помечать такие «плохие» типы. Но всё таки пока типы «родные» кажется, такого сделать нельзя. И это, кажется, хорошее свойство.