From: Taylor R Campbell Date: Sun, 10 Feb 2019 04:32:05 +0000 (+0000) Subject: Integrate NULL-LIST?. X-Git-Tag: mit-scheme-pucked-10.1.10~6^2~10 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=af44f134ff14d787a1b6aeeef14b9a25e5b3ef8d;p=mit-scheme.git Integrate NULL-LIST?. This is used all over common SRFI 1 list operations, so what should have been a pair of conditional branches turned into unknown procedure calls, sometimes through a trampoline to fill in default arguments, which turned up in profiling the compiler. --- diff --git a/src/runtime/list.scm b/src/runtime/list.scm index 36bc8b0b6..311d53bb1 100644 --- a/src/runtime/list.scm +++ b/src/runtime/list.scm @@ -282,6 +282,7 @@ USA. (define (not-pair? x) (not (pair? x))) +(declare (integrate-operator null-list?)) (define (null-list? l #!optional caller) (cond ((pair? l) #f) ((null? l) #t) diff --git a/src/runtime/srfi-1.scm b/src/runtime/srfi-1.scm index 2062f39f7..41be902ed 100644 --- a/src/runtime/srfi-1.scm +++ b/src/runtime/srfi-1.scm @@ -36,6 +36,7 @@ USA. ;;;; SRFI-1 list-processing library (declare (usual-integrations)) +(declare (integrate-external "list")) ;;; [Olin's original notes]