haskell - несколько параметров в объявлении типа

yroslavasako

Как объявить полиморфный тип, который принимает произвольное количество параметризующих типов, например списком?
Как объявить такой же класс?

alfadred

Насколько я знаю, никак

yroslavasako

хм, наконец-то я нашёл хоть какую-то конструкцию хаскела, которая не является first-class objectом. С чего такая дискриминация, интересно?
А то мне хотелось параметризовать тип на наподобие taple

alfadred

Ну да, типы не являются first-class объектами.
Я не уверен, но вроде это как-то связано с выведением типов. Если у нас есть списки, то можно построить в типах натуральные числа, и построить примеры выражений, для которых тип нельзя вывести по теореме Геделя.
Мне тоже иногда не хватало параметризации типов натуральными числами.

rosali

по идее достаточно того, что можно принимать два типа на вход, а дальше можно строить из них списки...

yroslavasako

я понимаю, что можно сделать рекурсивный тип, но это несколько неудобно

rosali

в смысле неудобно, разве есть другой способ написать код который бы работал с "таплами" любой длины? вроде нету, так что можно считать что этот способ самый удобный ;)
Оставить комментарий
Имя или ник:
Комментарий: