Reduzieren einer Liste von Listen

Ich bin neu in Schema und Funktionsprogrammierung im Allgemeinen. Kann jemand diesen Code erklären - speziell waskons undknil sind? Ziel ist es, eine Liste von Listen zu reduzieren.

(define (fold1 kons knil lst)  
  (if (null? lst)  
      knil  
      (fold1 kons (kons (car lst) knil) (cdr lst))))

Ich bin mir ziemlich sicherkons ist eine Funktion, die auf zwei Argumente angewendet wird, deren Funktionalität jedoch noch nicht völlig sicher ist.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage