In general I want write code in REPL and sometimes save all defined by myself symbols to file.
For example - after typing in REPL:
]=> (define (square x) (* x x))
]=> (define sizes '(5 10 15))
I need to call something to receive a list of previously defined objects. In this case it can be represented in this way:
]=> (define get-user-defined-environment 
      (list (list 'sizes sizes) (list 'square square)))
To be able then call something like this:
]=> (map 
      (lambda (lst) (begin 
         (display "(define ") 
         (pp (first lst)) 
         (pp (second lst)) 
         (display ")\n\n"))) 
      get-user-defined-environment)
(define sizes
(5 10 15)
)
(define square
(named-lambda (square x)
  (* x x))
)
And, maybe, save output to file somehow.
So, what could be this get-user-defined-environment ?