Implemented FORCE as a compiled procedure. SF no longer integrates
FORCE as a primitive procedure.
There is a minor bootstrapping problem with the standard build
scripts since any pre-existing version of SF will integrate the
primitive FORCE, and SF is only run on files that have changed.
A solution is:
1. rebuild the system
2. remove any .bin files that call FORCE
3. rebuild the system using bands produced in step 1.
Timings under Scheme 8.0 on plex:
Test Primitive Compiled
[1] 10370ms 560ms
[2] 180ms 130ms
[3] 440ms 270ms
(let ((nums (list->stream (make-initialized-list 100001 identity-procedure)))
(primes
((access make-prime-numbers-stream (->environment '(runtime stream))))))
(show-time (lambda () (stream-ref nums 100000))) ; [1]
(show-time (lambda () (stream-ref nums 100000))) ; [2]
(show-time (lambda () (stream-ref primes 1000)))) ; [3]