[plt-dev] three more little `scheme' vs. `racket' differences

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Sat May 1 10:46:45 EDT 2010

The `pretty-print' function used to act like `write'. Now it acts like
`print' --- as adjusted by `print-as-quasiquote' --- so `racket/pretty'
provides `pretty-write'. Meanwhile, `scheme/pretty' now exports
`pretty-write' as `pretty-print' to improve backward compatibility.

Along similar lines, `printable<%>' now includes a `custom-print'
method. A new `writable<%>' takes the place of the old `printable<%>'
(by directing a `print' request to `custom-write'), and `scheme/class'
exports `writable<%>' as `printable<%>'.

Finally, `racket/base' (but not `scheme/base') now provides an
`in-directory' sequence constructor, which gives you all the files,
directories, and links within a given one, recursively traversing
sub-directories. For example,

  (for ([p (in-directory ".")])
    (printf "~a\n" p))

produces the same result as the Unix command

  find . -print

If you use `in-directory' with no arguments, then the current directory
is used without prefixing it onto the paths generated by the sequence.

Posted on the dev mailing list.