guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ttn-pers-scheme 0.14 available


From: thi
Subject: ttn-pers-scheme 0.14 available
Date: Mon, 5 Mar 2001 12:41:13 -0800

ah, hash (read table and otherwise ;-)...  tokable residue at:

 http://www.glug.org/people/ttn/software/ttn-pers-scheme/

NEWS excerpt follows.

thi


----------------------------------------
- VERSION 0.14 (released 2001/03/05)

  - Retired module: (ttn original-sin)

        This was an experiment that may be revived as (ttn reflection).
        A better approach (for strings, at least) is Keisuke Nishida's
        embedded format module -- see (ttn eformat) immediately below.

  - New module: (ttn eformat) --- Repackage Keisuke Nishida's (eformat)

        This code was posted originally w/o copyright by Keisuke
        Nishida:
             From: address@hidden
             Subject: eformat
             Date: Tue, 19 Dec 2000 10:22:49 -0500
             To: address@hidden, address@hidden

        The following changes have been made:
        (1) Module name now `(ttn eformat)'.
        (2) Added `activate-eformat' and `deactivate-eformat'.
        (3) Removed surrounding `let'.
        (4) Procedure `embedded-format' now does not expect the first
            entry to be a port, and no longer applies `format' to that
            port at read-time.  Instead, we return an application of a
            closure that does the format, hardcoding the first arg of
            `format' to #f.  Thus, the result is always a string.  (See
            example below.)

        To use, place `(activate-eformat)' and `(deactivate-eformat)'
        around the code that represents a string as `#[ stuff ]'.  Note
        that these forms modify `read-hash-procedures' and work by
        read-time side-effects, so they must be at top-level.

        *WARNING WARNING WARNING*: Do not forget `deactivate-eformat'!

        Example:
        (activate-eformat)
        (define (zz x)
          #[$x is a $(lambda () (if (number? x) "" "non-"))number])
        (deactivate-eformat)

        (zz 42) => "42 is a number"
        (zz zz) => "#<procedure zz (n)> is a non-number"

        See ttn/testing/ttn/check.scm for more examples.

[NEWS excerpt ends here]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]