diff options
author | Yale AI Dept <ai@nebula.cs.yale.edu> | 1993-07-14 13:08:00 -0500 |
---|---|---|
committer | Duncan McGreggor <duncan.mcgreggor@rackspace.com> | 1993-07-14 13:08:00 -0500 |
commit | 4e987026148fe65c323afbc93cd560c07bf06b3f (patch) | |
tree | 26ae54177389edcbe453d25a00c38c2774e8b7d4 /tdecl/tdecl-utils.scm |
Import to github.
Diffstat (limited to 'tdecl/tdecl-utils.scm')
-rw-r--r-- | tdecl/tdecl-utils.scm | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/tdecl/tdecl-utils.scm b/tdecl/tdecl-utils.scm new file mode 100644 index 0000000..0009eeb --- /dev/null +++ b/tdecl/tdecl-utils.scm @@ -0,0 +1,16 @@ +;;; This file contains routines which generate the code for the +;;; dictionaries used in the class system. + +(define (make-sel-node size i) + (**lambda '(x) + (if (eqv? size 1) + (**var 'x) + (**sel (tuple-constructor size) (**var 'x) i)))) + +(define (make-compose f1 f2) + (**lambda '(x) + (**app f1 (**app f2 (**var 'x))))) + +(define (make-new-var name) ; name is a string + (create-definition *module* (string->symbol name) 'var)) + |