[plt-scheme] 205.1

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Fri Aug 29 09:26:44 EDT 2003

The exp-tagged code in CVS for MzScheme and MrEd is now version 205.1.

Changes:

 * Fixed transitivity of numerical comparison for mixed inexact--exact
   comparisons when the inexact versions of the numbers are = and the
   exact versions are not.

     > (= 1237940039285380274899124223 1.2379400392853803e+27 
          1237940039285380274899124225)
     #f
     ;; used to be #t

 * `generate-temporaries' produces identifiers that are suitable for
    use as defined names in the module being expanded (if any).

    For example, this `silly' macro will work as expected in any
    definition context, including the top level of a module:

      (define-syntax (silly stx)
        (syntax-case stx ()
         [(_ expr) (with-syntax ([(id) (generate-temporaries '(id))])
                     #'(begin
                         (define id exprs)
                         id))]))

    Leaving out the `with-syntax' wouldn't work if `silly' is defined
    in a module and used in a different module, because `id' would have
    the defining module's context (making it unsuitable for a LHS
    elsewhere). Also, the above didn't work in v205 because `id' would
    have no context at all.

    The `generate-temporaries' implementation uses a new
    `syntax-local-module-introduce' procedure (see the docs).

 * Non-constant syntax pairs generated from templates (in
   `syntax-case', `with-syntax', `quasisyntax', etc.) now keep the
   source-location and context information of the template-part source,
   instead of acquiring the context and location of the overall
   template expression.

 * X, probably only Xsun, and probably only in the engineeering lab at
   Utah: If the root window's depth is less than 24, but a 24-bit
   TrueColor visual is available, MrEd uses the 24-bit visual for its
   windows and bitmaps.

Matthew




Posted on the users mailing list.