Я немного смущен тем, как вернуть список чего-то в тип данных. Я полагаю, что мне нужно использовать функцию карты, но я не уверен, как ее использовать в этом контексте. Например, если у меня есть тип данных ниже (странно, я знаю, но это конкретно), как бы я написать функциюHaskell Как использовать карту, чтобы вернуть список?
makeList :: Car -> [Make]
makeList map f ???
, которая возвращает список марок всех автомобилей на входе (как показано ниже) , и пустой список [], если задано «makeList Tail».
data Car = Model Make Car | Tail
> makeList (Car Audi (Car Porsche Tail))
[Audi,Porsche]
> makeList Tail
[ ]
Это, по крайней мере, второй вопрос, который я видел недавно с тегом [tag: dictionary], но не имеющим ничего общего со словарями. Мне любопытно, если у вас есть представление о том, почему это может произойти. – dfeuer
Пожалуйста, не редактируйте свой вопрос, чтобы удалить важную информацию, например, определение «Автомобиль». Я вернул ваше редактирование. –