#lang scheme

(require "common/")
(provide [all-from-out "common/"])

;; I don't think we should print the forms inside lists, etc.
;; I think this is better:
;; If the top-level form yields a primitive or an operation application:
;;   print it or whatever.
;; If it yields another kind of value (list of primitives, for example),
;; I don't think we should send them to the backend...
;; It can be an intermediate step in an algorithm the user may be testing...
(provide #%top-interaction)
(define-syntax #%top-interaction
  (syntax-rules ()
    [(_ . form)
     (let ([res form]) ;; Evaluate 'form
       (top-level-printer res))]))