#lang scheme

(define par (mcons 1 3))

(printf "Extracción del car de par. (mcar par) ==> ")

(mcar par)

(printf "Extracción del cdr de par. (mcar par) ==> ")

(mcdr par)

(printf "Modificación del car de par. (set-mcar! par 'a) ==> ")

(set-mcar! par 'a)
(newline)

(printf "Modificación del cdr de par. (set-mcdr! par 'z) ==> ")

(set-mcdr! par 'z)
(newline)

par

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(printf "~nSobre construcción de listas~n")

(define lista (list 1 2 3 4 5))

(printf "lista = ~a~n" lista)

(printf "(cons 'a lista) = ~a~n" (cons 'a lista))

(printf "(list* 1 2 3 4 5 lista) = ~a~n" (list* 1 2 3 4 5 lista))

(printf "(build-list 10 (lambda (x) (* 2 x))) = ~a~n" (build-list 10 (lambda (x) (* 2 x))))