diff options
| author | 2025-02-24 18:41:14 -0500 | |
|---|---|---|
| committer | 2025-02-24 18:41:53 -0500 | |
| commit | 4a71da136915aa50e45d39b868047686123d8a3e (patch) | |
| tree | f8b99de05876b69ae06058380e98498e85490042 /SAHP/SAHP.internal-chicken.scm | |
| parent | make library hierarchy (diff) | |
make library hierarchy again
Diffstat (limited to 'SAHP/SAHP.internal-chicken.scm')
| -rw-r--r-- | SAHP/SAHP.internal-chicken.scm | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/SAHP/SAHP.internal-chicken.scm b/SAHP/SAHP.internal-chicken.scm deleted file mode 100644 index 992d98f..0000000 --- a/SAHP/SAHP.internal-chicken.scm +++ /dev/null @@ -1,47 +0,0 @@ -(define (%make-derived-SAHP desc) - (let ((proc (lambda (arg1 . arg-rest) - (call-SAHP desc (type-of arg1) (cons arg1 arg-rest))))) - (extend-procedure proc desc))) - -(define (make-new-SAHP) - (%make-derived-SAHP - (make-SAHP-descriptor (make-symbol-mapping) - (make-parameter (make-symbol-mapping)) - (make-hash-table)))) - -(define (SAHP? x) - (and (extended-procedure? x) - (SAHP-descriptor? (extract-SAHP-descriptor x)))) - -(define extract-SAHP-descriptor procedure-data) - -(define (type-of x) - (cond - ((exact-integer? x) 'exact-integer) - ((integer? x) 'integer) - ((rational? x) 'rational) - ((real? x) 'real) - ((complex? x) 'complex) - ((number? x) 'number) - ((boolean? x) 'boolean) - ((char? x) 'char) - ((null? x) 'null) - ((pair? x) 'pair) - ((procedure? x) 'procedure) - ((symbol? x) 'symbol) - ((bytevector? x) 'bytevector) - ((eof-object? x) 'eof-object) - ((port? x) 'port) - ((string? x) 'string) - ((vector? x) 'vector) - ((record-instance? x) (record-instance-type x)) - (else (error "cannot derive type of" x)))) - -(define (subtypes type) - (case type - ((number) '(complex)) - ((complex) '(real)) - ((real) '(rational)) - ((rational) '(integer)) - ((integer) '(exact-integer)) - (else '()))) |
