2015-02-19 2 views
-1

Учитываяписать состав карты и fold_left как fold_left

f : A -> B -> A 
g : A -> A 
l : list B 
acc : list A 

как я могу написать (map g (fold_left f l acc)) как fold_left?

Я пытался писать что-то вроде (fold_left (fun x => (g (f x)) l (map g acc)), но это, кажется, не проверять тип ....

+0

Ваша первая строка кода '(map g (fold_left f l acc))' не соответствует ограничениям типа, которые вы указали. Ввод текста говорит, что f должен иметь тип ''список ->' b -> 'список'. – PatJ

+0

Попробуйте использовать нотацию типа OCaml при запросе программирования OCaml. – didierc

ответ

2

Вы пишете fold_left f l acc, но аргументы в левой складки должны быть fold_left f acc l. Это может быть вашей проблемой.

 Смежные вопросы

  • Нет связанных вопросов^_^