Skip to content
Snippets Groups Projects
Commit e8814278 authored by dtc's avatar dtc
Browse files

Rather than compiling the constructors in dlisp3, just tickle the

range of shapes defined, leaving the generation of the constructors to
precompile-dfun-constructors.  This allows a more useful range of
constructors to be built-in without the prior redundancy resulting
from dlisp3.
parent 7045eca3
No related branches found
No related tags found
No related merge requests found
...@@ -590,7 +590,6 @@ and load your system with: ...@@ -590,7 +590,6 @@ and load your system with:
(dfun t t (boot low cache)) (dfun t t (boot low cache))
(fast-init t t (boot low)) (fast-init t t (boot low))
(braid (+ precom1 precom2) t (boot defs low fin cache)) (braid (+ precom1 precom2) t (boot defs low fin cache))
#+ignore
(dlisp3 t t (dlisp2 boot braid)) (dlisp3 t t (dlisp2 boot braid))
(generic-functions t t (boot)) (generic-functions t t (boot))
(slots t t (vector boot defs low cache fin)) (slots t t (vector boot defs low cache fin))
......
...@@ -67,8 +67,26 @@ ...@@ -67,8 +67,26 @@
`(cons ',key (emit-checking-or-caching-macro ,@key))) `(cons ',key (emit-checking-or-caching-macro ,@key)))
checking-or-caching-list))) checking-or-caching-list)))
#+nil
(defun initialize-checking-or-caching-function-list () (defun initialize-checking-or-caching-function-list ()
(setq checking-or-caching-function-list (setq checking-or-caching-function-list
(make-checking-or-caching-function-list))) (make-checking-or-caching-function-list)))
#+nil
(initialize-checking-or-caching-function-list) (initialize-checking-or-caching-function-list)
;;; Rather than compiling the constructors here, just tickle the range
;;; of shapes defined above, leaving the generation of the
;;; constructors to precompile-dfun-constructors.
;;;
(dolist (key checking-or-caching-list)
(destructuring-bind (cached-emf-p return-value-p metatypes applyp) key
(multiple-value-bind (args generator)
(if cached-emf-p
(if return-value-p
(values (list metatypes) 'emit-constant-value)
(values (list metatypes applyp) 'emit-caching))
(if return-value-p
(values (list metatypes) 'emit-in-checking-p)
(values (list metatypes applyp) 'emit-checking)))
(apply #'get-dfun-constructor generator args))))
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment