Table Extensions

Previous Page TOC Index Next Page See Page

Mindy Compiler Mindy Debugger Mindy Object Extensions Streams Library Standard IO Print Library Format Library Melange Interface TK Library Collection extensions Table Extensions String extensions Regular Expressions Transcendental Library Time Library Random Library Matrix Library


The Table Extensions Library


1. Introduction

The Table-Extensions library contains extensions to Dylan <table>s. It exports one module named Table-Extensions.

2. The Table-Extensions Module

<string-table> [Instantiable Sealed Class]

<case-insensitive-string-table> [Instantiable Sealed Class]

<hash-state> [Type]

collection-hash [Function]

Arguments
Values
Description

sequence-hash [Function]

Arguments
Values
Description

values-hash [Function]

Arguments
Values
Description

string-hash [Function]

Arguments
Values
Description

case-insensitive-string-hash [Function]

Arguments
Values
Description

case-insensitive-equal [Function]

Arguments
Values
Description

remove-all-keys! [Open Generic Function]

Arguments
Values
Description

remove-all-keys! [G. F. Method]

Arguments
Values
Description

remove-all-keys! [Sealed G. F. Method]

Arguments
Values
Description

Different hash functions are not required to return the same hash code for equal or even identical objects. For instance,

is not guaranteed to return the same values as

Furthermore, collection-hash with ordered: #t is not guaranteed to return the same hash code as collection-hash with ordered: #f. (Such a requirement would render the ordered: keyword useless).

3. Extensions

The Gwydion Project hopes that other Dylan implementations will also implement our Table-Extensions library. However, there are certain things that we realize other implementors are not so likely to implement; we call these things "extensions" to the Table-Extensions proposal.

The following definitions are part of the Gwydion Table-Extensions library, but are not part of the current Table-Extensions proposal.

<equal-table> [Class]

<value-table> [Abstract Class]

           define class <my-table> (<value-table>)

end class;

define method table-protocol (table :: <my-table>)
values(\=, string-hash);
end method;

The Extensions module exports the following functions to make it easier for users to use <equal-table>s and <value-table>s:

equal-hash [Generic Function]

Arguments
Values
Description

value-hash [Generic Function]

Arguments
Values
Description

Mindy Compiler Mindy Debugger Mindy Object Extensions Streams Library Standard IO Print Library Format Library Melange Interface TK Library Collection extensions Table Extensions String extensions Regular Expressions Transcendental Library Time Library Random Library Matrix Library

Previous Page TOC Index Next Page See Page

Copyright 1994, 1995, 1996, 1997 Carnegie Mellon University. All rights reserved.

Send comments and bug reports to gwydion-bugs@cs.cmu.edu