diff options
Diffstat (limited to 'chez.init')
| -rw-r--r-- | chez.init | 100 | 
1 files changed, 58 insertions, 42 deletions
| @@ -16,8 +16,8 @@  (define (scheme-implementation-type) 'chez) -;;; (scheme-implementation-home-page) should return a (string) URL -;;; (Uniform Resource Locator) for this scheme implementation's home +;;; (scheme-implementation-home-page) should return a (string) URI +;;; (Uniform Resource Identifier) for this scheme implementation's home  ;;; page; or false if there isn't one.  (define (scheme-implementation-home-page) @@ -64,66 +64,76 @@  ;;; of this implementation.  Suggestions for features are:  (define *features* -  '( -    source    ; Chez Scheme can load Scheme source files, with the -	      ;   command (slib:load-source "filename") -- see below. +      '( +	source				;can load scheme source files +					;(slib:load-source "filename") +	compiled			;can load compiled files +					;(slib:load-compiled "filename") -    compiled  ; Chez Scheme can also load compiled Scheme files, with the -	      ;   command (slib:load-compiled "filename") -- see below. -	rev4-report			;conforms to -	rev3-report			;conforms to -	ieee-p1178			;conforms to -;	sicp				;runs code from Structure and -					;Interpretation of Computer -					;Programs by Abelson and Sussman. +		       ;; Scheme report features + +	rev5-report			;conforms to +	eval				;R5RS two-argument eval +	values				;R5RS multiple values +	dynamic-wind			;R5RS dynamic-wind +	macro				;R5RS high level macros +	delay				;has DELAY and FORCE +	multiarg-apply			;APPLY can take more than 2 args. +	char-ready? +	rationalize  	rev4-optional-procedures	;LIST-TAIL, STRING->LIST,  					;LIST->STRING, STRING-COPY,  					;STRING-FILL!, LIST->VECTOR,  					;VECTOR->LIST, and VECTOR-FILL! + +	rev4-report			;conforms to + +	ieee-p1178			;conforms to + +	rev3-report			;conforms to +  ;	rev2-procedures			;SUBSTRING-MOVE-LEFT!,  					;SUBSTRING-MOVE-RIGHT!,  					;SUBSTRING-FILL!,  					;STRING-NULL?, APPEND!, 1+,  					;-1+, <?, <=?, =?, >?, >=? +;	object-hash			;has OBJECT-HASH +  	multiarg/and-			;/ and - can take more than 2 args. -	multiarg-apply			;APPLY can take more than 2 args. -	rationalize -	delay				;has DELAY and FORCE  	with-file			;has WITH-INPUT-FROM-FILE and  					;WITH-OUTPUT-FROM-FILE -	string-port			;has CALL-WITH-INPUT-STRING and -					;CALL-WITH-OUTPUT-STRING  	transcript			;TRANSCRIPT-ON and TRANSCRIPT-OFF -	char-ready? -	macro				;has R4RS high level macros -;	defmacro			;has Common Lisp DEFMACRO -	eval				;R5RS two-argument eval -	record				;has user defined data structures -	values				;proposed multiple values -	dynamic-wind			;proposed dynamic-wind -;	ieee-floating-point		;conforms to +;	ieee-floating-point		;conforms to IEEE Standard 754-1985 +					;IEEE Standard for Binary +					;Floating-Point Arithmetic.  	full-continuation		;can return multiple times -;	object-hash			;has OBJECT-HASH +			;; Other common features + +;	srfi				;srfi-0, COND-EXPAND finds all srfi-* +;	sicp				;runs code from Structure and +					;Interpretation of Computer +					;Programs by Abelson and Sussman. +;	defmacro			;has Common Lisp DEFMACRO +	record				;has user defined data structures +	string-port			;has CALL-WITH-INPUT-STRING and +					;CALL-WITH-OUTPUT-STRING  	sort -;	queue				;queues  	pretty-print  ;	object->string -	format +	format				;Common-lisp output formatting  	trace				;has macros: TRACE and UNTRACE  ;	compiler			;has (COMPILER)  ;	ed				;(ED) is editor  	system				;posix (system <string>)  	getenv				;posix (getenv <string>)  ;	program-arguments		;returns list of strings (argv) -;	Xwindows			;X support -;	curses				;screen management package -;	termcap				;terminal description package -;	terminfo			;sysV terminal description  ;	current-time			;returns time in seconds since 1/1/1970 + +		  ;; Implementation Specific features +  	fluid-let  	random -	rev3-procedures  	))  ;;; (OUTPUT-PORT-WIDTH <port>) returns the number of graphic characters @@ -179,8 +189,12 @@  ;; port to be transferred all the way out to its ultimate destination.  (define force-output flush-output-port) -;;; CALL-WITH-INPUT-STRING and CALL-WITH-OUTPUT-STRING are the string -;;; port versions of CALL-WITH-*PUT-FILE. +;;; "rationalize" adjunct procedures. +(define (find-ratio x e) +  (let ((rat (rationalize x e))) +    (list (numerator rat) (denominator rat)))) +(define (find-ratio-between x y) +  (find-ratio (/ (+ x y) 2) (/ (- x y) 2)))  ;;; CHAR-CODE-LIMIT is one greater than the largest integer which can  ;;; be returned by CHAR->INTEGER. @@ -201,9 +215,10 @@  ;;; define an error procedure for the library  (define slib:error    (lambda args -    (let ((port (current-error-port))) -      (display "Error: " port) -      (for-each (lambda (x) (display x port)) args) +    (let ((cep (current-error-port))) +      (if (provided? 'trace) (print-call-stack cep)) +      (display "Error: " cep) +      (for-each (lambda (x) (display x cep)) args)        (error #f ""))))  ;;; define these as appropriate for your system. @@ -379,9 +394,10 @@  (define slib:warn    (lambda args -    (let ((port (current-error-port))) -      (display "Warn: " port) -      (for-each (lambda (x) (display x port)) args)))) +    (let ((cep (current-error-port))) +      (if (provided? 'trace) (print-call-stack cep)) +      (display "Warn: " cep) +      (for-each (lambda (x) (display x cep)) args))))  ;;; Load the REQUIRE package. | 
