Реализация foreach в haskell для начинающих / учащихся

Я пытаюсь реализовать морфизм foreach, чтобы проверить свое понимание определения морфизма и сопоставления с образцом ... Очевидно, я полностью упускаю оба момента.

Не могли бы вы меня поправить? Я хочу, чтобы морфизм foreach принимал в качестве аргументов список a и морфизм f и возвращал список всех результатов r of f применяется ко всем элементам a .

foreach :: [a] → f → [r]
foreach [] f = []
foreach x:[] f = (f x):[]
foreach []:x f = []:(f x)
foreach (x:xs) f = (f x) : (foreach (xs f))

При компиляции У меня есть src \ Main.hs: 23: 0: Ошибка синтаксического анализа в шаблоне

6
задан Stephane Rolland 24 August 2016 в 15:58
поделиться