Gah, _really_ a new PROCEDURE-TABLES library...I can't believe I forgot to 'cvs add' it before committing.
This commit is contained in:
parent
4ee8b293ce
commit
ddcfe68390
|
@ -0,0 +1 @@
|
||||||
|
Taylor Campbell
|
|
@ -0,0 +1 @@
|
||||||
|
procedure-tables: PROCEDURE-HASH and MAKE-PROCEDURE-TABLE for tables whose keys are procedures
|
|
@ -0,0 +1,3 @@
|
||||||
|
PROCEDURE-HASH defines PROCEDURE-HASH, which takes a procedure and
|
||||||
|
returns its hash value. PROCEDURE-TABLES defines MAKE-PROCEDURE-TABLE,
|
||||||
|
which returns a table whose keys are procedures.
|
|
@ -0,0 +1,5 @@
|
||||||
|
(define-interface procedure-hash-interface
|
||||||
|
(export (procedure-hash (proc (:procedure) :exact-integer))))
|
||||||
|
|
||||||
|
(define-interface procedure-tables-interface
|
||||||
|
(export (make-procedure-table (proc () :value))))
|
|
@ -0,0 +1,14 @@
|
||||||
|
(define-structure procedure-hash procedure-hash-interface
|
||||||
|
(open scheme
|
||||||
|
more-types
|
||||||
|
loopholes
|
||||||
|
closures
|
||||||
|
disclosers
|
||||||
|
debug-data)
|
||||||
|
(files procedure-hash))
|
||||||
|
|
||||||
|
(define-structure procedure-tables procedure-tables-interface
|
||||||
|
(open scheme
|
||||||
|
tables
|
||||||
|
procedure-hash)
|
||||||
|
(files procedure-tables))
|
|
@ -0,0 +1,11 @@
|
||||||
|
;;; This file is part of the Scheme Untergrund Library.
|
||||||
|
|
||||||
|
;;; Copyright (c) 2003 by Taylor Campbell
|
||||||
|
;;; For copyright information, see the file COPYING which comes with
|
||||||
|
;;; the distribution.
|
||||||
|
|
||||||
|
(define (procedure-hash proc)
|
||||||
|
(debug-data-uid
|
||||||
|
(template-debug-data
|
||||||
|
(closure-template
|
||||||
|
(loophole :closure proc)))))
|
|
@ -0,0 +1,8 @@
|
||||||
|
;;; This file is part of the Scheme Untergrund Library.
|
||||||
|
|
||||||
|
;;; Copyright (c) 2003 by Taylor Campbell
|
||||||
|
;;; For copyright information, see the file COPYING which comes with
|
||||||
|
;;; the distribution.
|
||||||
|
|
||||||
|
(define make-procedure-table
|
||||||
|
(make-table-maker eq? procedure-hash))
|
Loading…
Reference in New Issue