;; Cut and paste this code into your favorite editor, or ;; perhaps into the Wraith Scheme Input Panel. ;; BY ANY OTHER NAME ;; Some folks like to use alternative names for various procedures in ;; Scheme. Here is some sample code to show how to create alternative ;; names for things, and make the compiler treat the names the same ;; way as the original ones. ;; ;; This code does not remove the old names. ;; First, make a handy list of the new names. (define my-new-names (list 'call/cc 'first 'second 'third 'fourth 'rest )) ;; Second, make sure the new symbols are not known to ;; the compiler as "permanent". This line of code will ;; do exactly nothing if you haven't defined the new ;; names yet, or if they are not permanent, but it will ;; save much fussing if, e.g., you end up reading in ;; this sample code more than once. (map e::clear-permanent! my-new-names) ;; Now, here come the redefinitions: (define call/cc call-with-current-continuation) (define first car) (define second cadr) (define third caddr) (define fourth cadddr) (define rest cdr) ;; Make the new symbols permanent: (map e::set-permanent! my-new-names) ;; You get the idea, I trust ...