diff --git a/bin/Makefile b/bin/Makefile index ce08d9c..993588d 100644 --- a/bin/Makefile +++ b/bin/Makefile @@ -1,5 +1,5 @@ -CFLAGS = -I/opt/local/include -Wall -DNDEBUG -O3 +CFLAGS = -I/opt/local/include -Wall -DNDEBUG -O3 #-fomit-frame-pointer #CFLAGS = -I/opt/local/include -Wall -g LDFLAGS = -L/opt/local/lib -g -ldl -lgmp -rdynamic CC = gcc diff --git a/lab/streams.ss b/lab/streams.ss index 4282c71..07249df 100644 --- a/lab/streams.ss +++ b/lab/streams.ss @@ -1,4 +1,6 @@ - +;;; do optimize fx< fx<= fx= fx> fx>= +;;; do optimize fxzero? +;;; do optimize fxadd1 fxsub1 fx+ fx- (module (s-car s-cdr (s-cons make-stream) stream? s-head) (import scheme) (define-record stream (car cdr)) diff --git a/lib/ikarus.boot b/lib/ikarus.boot index b502714..ca3834b 100644 Binary files a/lib/ikarus.boot and b/lib/ikarus.boot differ diff --git a/lib/libwriter.ss b/lib/libwriter.ss index fd53d8c..9f5b820 100644 --- a/lib/libwriter.ss +++ b/lib/libwriter.ss @@ -417,6 +417,9 @@ [($char= c #\~) (write-char #\~ p) (f (fxadd1 i) args)] + [($char= c #\%) + (write-char #\newline p) + (f (fxadd1 i) args)] [($char= c #\a) (when (null? args) (error who "insufficient arguments")) diff --git a/lib/makefile.ss b/lib/makefile.ss index d8cd09e..9272a4a 100755 --- a/lib/makefile.ss +++ b/lib/makefile.ss @@ -45,8 +45,8 @@ make-list length list-ref append make-vector vector-ref vector-set! vector-length vector vector->list list->vector make-string string-ref string-set! string-length string - list->string uuid string-append substring string=? string? string>=? remprop putprop getprop + string->list list->string uuid string-append substring string=? + string? string>=? remprop putprop getprop property-list apply map for-each andmap ormap memq memv assq assv assoc eq? eqv? equal? reverse string->symbol symbol->string oblist top-level-value set-top-level-value! top-level-bound? @@ -266,5 +266,5 @@ (format "cat ~a > ikarus.boot" (join " " (map caddr scheme-library-files)))) -(#%compiler-giveup-tally) +;(#%compiler-giveup-tally)