Расширенная форма сгиба в ракетке

Пример изhttp://www.cse.unsw.edu.au/~en1000/haskell/hof.html :

(foldr / 7 (list 34 56 12 4 23))
(foldl / 7 (list 34 56 12 4 23))

Выход в ракетку:

5 193/196
5 193/196

Какова будет полная (расширенная) форма сгиба и сгиба в этом случае? Это не следующее:

> (/ (/ (/ (/ (/ 7 34) 56) 12) 4) 23)
1/300288

Изменить: я изменил вопрос выше, так как реализация сворачивания в Racket vs Haskell была объяснена в другом вопросеПочему в Racket странным образом определяется foldl?.

Изменить: Если я четко понимаю ответы, развернутая форма может быть очень четко показана с помощью модуля «многопоточность», где операторы отображаются в порядке выполнения (_ указывает на вывод предыдущего оператора):

foldl:

(require threading)
; expanded form of (foldl / 7 (list 34 56 12 4 23))
; FROM LEFT TO RIGHT: 
(~> 7
    (/ 34 _)
    (/ 56 _)
    (/ 12 _)
    (/ 4  _)
    (/ 23 _) )

foldr:

; expanded form of (foldr / 7 (list 34 56 12 4 23))
; FROM RIGHT TO LEFT: 
(~> 7
    (/ 23 _)
    (/ 4  _)
    (/ 12 _)
    (/ 56 _)
    (/ 34 _) )

Вывод в обоих случаях одинаков:

5 193/196
5 193/196

Это дает правильные ответы (которые отличаются для foldl и foldr) также в следующем примере:

; FROM LEFT TO RIGHT:
(foldl - 0 '(1 2 3 4))
(~> 0
    (- 1 _)  ; 1-0=1
    (- 2 _)  ; 2-1=1
    (- 3 _)  ; 3-1=2
    (- 4 _)) ; 4-2=2

; FROM RIGHT TO LEFT: 
(foldr - 0 '(1 2 3 4))
(~> 0
    (- 4 _)  ; 4-0=4
    (- 3 _)  ; 3-4=-1
    (- 2 _)  ; 2-(-1)=3
    (- 1 _)) ; 1-3=-2

Выход:

2
2
-2
-2

На общем языке это выглядит так:

The sent function takes 2 arguments, 

the first argument is from the list, one after the other 
(left to right or right to left depending on foldl and foldr), 

the second argument is init first and 
then the output of previous calculation.

Ответы на вопрос(2)

Ваш ответ на вопрос