Hey!

MIT/GNU Scheme provides a very nice user interface for this:

  1 ]=> foo

  ;Unbound variable: foo
  ;To continue, call RESTART with an option number:
  ; (RESTART 3) => Specify a value to use instead of foo.
  ; (RESTART 2) => Define foo to a given value.
  ; (RESTART 1) => Return to read-eval-print level 1.

  2 error> (restart 1)

  ;Abort!

  1 ]=> (+ 2 "foo")

  ;The object "foo", passed as the second argument to integer-add, is not the 
correct type.
  ;To continue, call RESTART with an option number:
  ; (RESTART 2) => Specify an argument to use in its place.
  ; (RESTART 1) => Return to read-eval-print level 1.

  2 error> (restart 2)


  New argument: 3

  ;Value: 5

Ludo’.


Reply via email to