ANNOUNCE: Grouch 0.2 
Author Message
 ANNOUNCE: Grouch 0.2

Grouch 0.2
==========

Grouch is a system for describing and enforcing a python object schema.
That is, it provides you with a language for describing the intended
type signatures of your objects (collectively, the "object schema"), and
tools to walk an object graph, checking that every value found matches
your object schema.

In a nutshell, Grouch is an after-the-fact type checker for Python
objects.

CHANGES IN THIS RELEASE
-----------------------

  * Fix for Python 2.2: define our own set of names for the standard
    Python types, so that an object schema that worked with Python 2.1
    will continue to work with Python 2.2 (and vice-versa).

  * Radically simplified how Grouch objects are pickled and unpickled;
    the excessively complicated design in Grouch 0.1 was broken by
    design and only worked in Python 2.1 because of pure blind luck.
    (The change in dictionary order in Python 2.2 revealed its
    brokenness.)

  * Fix for Python 2.2: use vars() instead of dir() to get an object's
    instance attributes.

  * Fixed a subtle problem in union types that masked certain type
    errors: eg. if a variable x is declared to be of type "Foo|Bar"
    (instance of Foo or instance of Bar), and x is set to a Foo instance
    with a type problem of its own (say, missing attribute a), Grouch
    turned the "x is a Foo instance with attribute a missing" into "x is
    not a valid Foo instance", which meant that "x is neither a Foo nor
    a Bar".  Unfortunately, the new logic means that unions like
    "[int] | [string]" won't work, until I have a better understanding
    of what's going on here.  Type systems are tricky.

REQUIREMENTS
------------

Grouch requires Python 2.0 or greater, with Jeremy Hylton's "compiler"
package installed.  At least in Python 2.0 .. 2.1.2, this package is
included in Python's source distribution, but not installed as part of
the standard library.

AUTHOR, COPYRIGHT, LICENSE, AVAILABILITY
----------------------------------------


code (lib/spark.py) written by John Aycock, which is licensed
separately.

Copyright (c) 2001 Corporation for National Research Initiatives.
All Rights Reserved.

See LICENSE.txt for license information.

For the latest version, visit
  http://www.*-*-*.com/

--

MEMS Exchange                             http://www.*-*-*.com/



Sat, 07 Aug 2004 23:54:01 GMT  
 
 [ 1 post ] 

 Relevant Pages 

1. ANNOUNCE: MyHDL 0.2

2. ANNOUNCE: Kawa Version 0.2 Released

3. ANNOUNCE: MyHDL 0.2

4. ANNOUNCE: MyHDL 0.2

5. ANNOUNCE: PikiePikie 0.2 released

6. ANNOUNCE: Linbot 0.2 Site Management Tool for Webmasters

7. ANNOUNCE: mxODBC Version 0.2

8. ANNOUNCE: Python-Gtk Version 0.2

9. ANNOUNCE: Pmw megawidgets 0.2 (for Tkinter)

10. ANNOUNCE: Tile Widget Set version 0.2

11. Announce: TclMagick 0.2 (ImageMagick 5.5.8)

12. ANNOUNCE Tcl Fltk 0.2 - Tcl Bindings for the Fast Light Toolkit

 

 
Powered by phpBB® Forum Software