Made all unimplemented procedures raise errors when called.

This commit is contained in:
Abdulaziz Ghuloum 2008-05-01 17:52:52 -04:00
parent b56b0fbd85
commit db70f9751f
5 changed files with 112 additions and 36 deletions

View File

@ -23,7 +23,7 @@ EXTRA_DIST=ikarus.boot.prebuilt ikarus.enumerations.ss \
psyntax.compat.ss psyntax.config.ss psyntax.expander.ss \ psyntax.compat.ss psyntax.config.ss psyntax.expander.ss \
psyntax.internal.ss psyntax.library-manager.ss \ psyntax.internal.ss psyntax.library-manager.ss \
unicode/unicode-char-cases.ss unicode/unicode-charinfo.ss \ unicode/unicode-char-cases.ss unicode/unicode-charinfo.ss \
ikarus.io.ss ikarus.time-and-date.ss ikarus.io.ss ikarus.time-and-date.ss ikarus.not-yet-implemented.ss
all: $(nodist_pkglib_DATA) all: $(nodist_pkglib_DATA)

View File

@ -177,7 +177,7 @@ EXTRA_DIST = ikarus.boot.prebuilt ikarus.enumerations.ss \
psyntax.compat.ss psyntax.config.ss psyntax.expander.ss \ psyntax.compat.ss psyntax.config.ss psyntax.expander.ss \
psyntax.internal.ss psyntax.library-manager.ss \ psyntax.internal.ss psyntax.library-manager.ss \
unicode/unicode-char-cases.ss unicode/unicode-charinfo.ss \ unicode/unicode-char-cases.ss unicode/unicode-charinfo.ss \
ikarus.io.ss ikarus.time-and-date.ss ikarus.io.ss ikarus.time-and-date.ss ikarus.not-yet-implemented.ss
revno = "$(shell sed 's/ .*//' ../.bzr/branch/last-revision 2>/dev/null)" revno = "$(shell sed 's/ .*//' ../.bzr/branch/last-revision 2>/dev/null)"
CLEANFILES = $(nodist_pkglib_DATA) ikarus.config.ss CLEANFILES = $(nodist_pkglib_DATA) ikarus.config.ss

View File

@ -0,0 +1,75 @@
(library (ikarus not-yet-implemented)
(export
make-rectangular angle make-polar bitwise-ior bitwise-xor
bitwise-copy-bit-field bitwise-reverse-bit-field
bitwise-rotate-bit-field bitwise-if fxreverse-bit-field
fxrotate-bit-field bytevector->string string->bytevector
make-custom-binary-input/output-port
make-custom-textual-input/output-port
open-file-input/output-port output-port-buffer-mode
port-has-port-position? port-has-set-port-position!?
port-position set-port-position! make-eqv-hashtable
hashtable-hash-function make-hashtable
hashtable-equivalence-function equal-hash
string-downcase string-normalize-nfc string-normalize-nfd
string-normalize-nfkc string-normalize-nfkd string-titlecase
string-upcase)
(import (except (ikarus)
make-rectangular angle make-polar bitwise-ior bitwise-xor
bitwise-copy-bit-field bitwise-reverse-bit-field
bitwise-rotate-bit-field bitwise-if fxreverse-bit-field
fxrotate-bit-field bytevector->string string->bytevector
make-custom-binary-input/output-port
make-custom-textual-input/output-port
open-file-input/output-port output-port-buffer-mode
port-has-port-position? port-has-set-port-position!?
port-position set-port-position! make-eqv-hashtable
hashtable-hash-function make-hashtable
hashtable-equivalence-function equal-hash
string-downcase string-normalize-nfc string-normalize-nfd
string-normalize-nfkc string-normalize-nfkd string-titlecase
string-upcase))
(define-syntax not-yet
(syntax-rules ()
[(_ x* ...)
(begin
(define (bug op)
(define-condition-type &url &condition
make-url-condition
url-condition?
(url condition-url))
(raise
(condition
(make-error)
(make-who-condition 'ikarus)
(make-message-condition "primitive not supported yet")
(make-message-condition
"please file a bug report to help us prioritize our goals")
(make-url-condition
"https://bugs.launchpad.net/ikarus/+filebug")
(make-irritants-condition (list op)))))
(define (x* . args) (bug 'x*))
...)]))
(not-yet
make-rectangular angle make-polar bitwise-ior bitwise-xor
bitwise-copy-bit-field bitwise-reverse-bit-field
bitwise-rotate-bit-field bitwise-if fxreverse-bit-field
fxrotate-bit-field bytevector->string string->bytevector
make-custom-binary-input/output-port
make-custom-textual-input/output-port
open-file-input/output-port output-port-buffer-mode
port-has-port-position? port-has-set-port-position!?
port-position set-port-position! make-eqv-hashtable
hashtable-hash-function make-hashtable
hashtable-equivalence-function equal-hash
string-downcase string-normalize-nfc string-normalize-nfd
string-normalize-nfkc string-normalize-nfkd string-titlecase
string-upcase))

View File

@ -1 +1 @@
1460 1461

View File

@ -98,6 +98,7 @@
"ikarus.sort.ss" "ikarus.sort.ss"
"ikarus.promises.ss" "ikarus.promises.ss"
"ikarus.enumerations.ss" "ikarus.enumerations.ss"
"ikarus.not-yet-implemented.ss"
"ikarus.main.ss" "ikarus.main.ss"
)) ))
@ -616,7 +617,7 @@
[/ i r ba se] [/ i r ba se]
[abs i r ba se] [abs i r ba se]
[acos i r ba se] [acos i r ba se]
[angle r ba se] [angle i r ba se]
[append i r ba se] [append i r ba se]
[apply i r ba se] [apply i r ba se]
[asin i r ba se] [asin i r ba se]
@ -709,8 +710,8 @@
[list? i r ba se] [list? i r ba se]
[log i r ba se] [log i r ba se]
[magnitude i r ba se] [magnitude i r ba se]
[make-polar r ba se] [make-polar i r ba se]
[make-rectangular r ba se] [make-rectangular i r ba se]
[make-string i r ba se] [make-string i r ba se]
[make-vector i r ba se] [make-vector i r ba se]
[map i r ba se] [map i r ba se]
@ -778,18 +779,18 @@
[bitwise-arithmetic-shift-right i r bw] [bitwise-arithmetic-shift-right i r bw]
[bitwise-not i r bw] [bitwise-not i r bw]
[bitwise-and i r bw] [bitwise-and i r bw]
[bitwise-ior r bw] [bitwise-ior i r bw]
[bitwise-xor r bw] [bitwise-xor i r bw]
[bitwise-bit-count i r bw] [bitwise-bit-count i r bw]
[bitwise-bit-field i r bw] [bitwise-bit-field i r bw]
[bitwise-bit-set? i r bw] [bitwise-bit-set? i r bw]
[bitwise-copy-bit i r bw] [bitwise-copy-bit i r bw]
[bitwise-copy-bit-field r bw] [bitwise-copy-bit-field i r bw]
[bitwise-first-bit-set i r bw] [bitwise-first-bit-set i r bw]
[bitwise-if r bw] [bitwise-if i r bw]
[bitwise-length i r bw] [bitwise-length i r bw]
[bitwise-reverse-bit-field r bw] [bitwise-reverse-bit-field i r bw]
[bitwise-rotate-bit-field r bw] [bitwise-rotate-bit-field i r bw]
[fixnum? i r fx] [fixnum? i r fx]
[fixnum-width i r fx] [fixnum-width i r fx]
[least-fixnum i r fx] [least-fixnum i r fx]
@ -831,8 +832,8 @@
[fxnot i r fx] [fxnot i r fx]
[fxodd? i r fx] [fxodd? i r fx]
[fxpositive? i r fx] [fxpositive? i r fx]
[fxreverse-bit-field r fx] [fxreverse-bit-field i r fx]
[fxrotate-bit-field r fx] [fxrotate-bit-field i r fx]
[fxxor i r fx] [fxxor i r fx]
[fxzero? i r fx] [fxzero? i r fx]
[fixnum->flonum i r fl] [fixnum->flonum i r fl]
@ -1028,7 +1029,7 @@
[binary-port? i r ip] [binary-port? i r ip]
[buffer-mode i r ip] [buffer-mode i r ip]
[buffer-mode? i r ip] [buffer-mode? i r ip]
[bytevector->string r ip] [bytevector->string i r ip]
[call-with-bytevector-output-port i r ip] [call-with-bytevector-output-port i r ip]
[call-with-port i r ip] [call-with-port i r ip]
[call-with-string-output-port i r ip] [call-with-string-output-port i r ip]
@ -1119,8 +1120,8 @@
[make-custom-binary-output-port i r ip] [make-custom-binary-output-port i r ip]
[make-custom-textual-input-port i r ip] [make-custom-textual-input-port i r ip]
[make-custom-textual-output-port i r ip] [make-custom-textual-output-port i r ip]
[make-custom-binary-input/output-port r ip] [make-custom-binary-input/output-port i r ip]
[make-custom-textual-input/output-port r ip] [make-custom-textual-input/output-port i r ip]
[make-i/o-decoding-error i r ip] [make-i/o-decoding-error i r ip]
[make-i/o-encoding-error i r ip] [make-i/o-encoding-error i r ip]
[make-i/o-error i r ip is fi] [make-i/o-error i r ip is fi]
@ -1141,15 +1142,15 @@
[open-bytevector-input-port i r ip] [open-bytevector-input-port i r ip]
[open-bytevector-output-port i r ip] [open-bytevector-output-port i r ip]
[open-file-input-port i r ip] [open-file-input-port i r ip]
[open-file-input/output-port r ip] [open-file-input/output-port i r ip]
[open-file-output-port i r ip] [open-file-output-port i r ip]
[open-string-input-port i r ip] [open-string-input-port i r ip]
[open-string-output-port i r ip] [open-string-output-port i r ip]
[output-port-buffer-mode r ip] [output-port-buffer-mode i r ip]
[port-eof? i r ip] [port-eof? i r ip]
[port-has-port-position? r ip] [port-has-port-position? i r ip]
[port-has-set-port-position!? r ip] [port-has-set-port-position!? i r ip]
[port-position r ip] [port-position i r ip]
[port-transcoder i r ip] [port-transcoder i r ip]
[port? i r ip] [port? i r ip]
[put-bytevector i r ip] [put-bytevector i r ip]
@ -1157,11 +1158,11 @@
[put-datum i r ip] [put-datum i r ip]
[put-string i r ip] [put-string i r ip]
[put-u8 i r ip] [put-u8 i r ip]
[set-port-position! r ip] [set-port-position! i r ip]
[standard-error-port i r ip] [standard-error-port i r ip]
[standard-input-port i r ip] [standard-input-port i r ip]
[standard-output-port i r ip] [standard-output-port i r ip]
[string->bytevector r ip] [string->bytevector i r ip]
[textual-port? i r ip] [textual-port? i r ip]
[transcoded-port i r ip] [transcoded-port i r ip]
[transcoder-codec i r ip] [transcoder-codec i r ip]
@ -1205,11 +1206,11 @@
[hashtable-update! i r ht] [hashtable-update! i r ht]
[hashtable? i r ht] [hashtable? i r ht]
[make-eq-hashtable i r ht] [make-eq-hashtable i r ht]
[make-eqv-hashtable r ht] [make-eqv-hashtable i r ht]
[hashtable-hash-function r ht] [hashtable-hash-function i r ht]
[make-hashtable r ht] [make-hashtable i r ht]
[hashtable-equivalence-function r ht] [hashtable-equivalence-function i r ht]
[equal-hash r ht] [equal-hash i r ht]
[string-hash i r ht] [string-hash i r ht]
[string-ci-hash i r ht] [string-ci-hash i r ht]
[symbol-hash i r ht] [symbol-hash i r ht]
@ -1282,14 +1283,14 @@
[string-ci=? i r uc se] [string-ci=? i r uc se]
[string-ci>=? i r uc se] [string-ci>=? i r uc se]
[string-ci>? i r uc se] [string-ci>? i r uc se]
[string-downcase r uc] [string-downcase i r uc]
[string-foldcase i r uc] [string-foldcase i r uc]
[string-normalize-nfc r uc] [string-normalize-nfc i r uc]
[string-normalize-nfd r uc] [string-normalize-nfd i r uc]
[string-normalize-nfkc r uc] [string-normalize-nfkc i r uc]
[string-normalize-nfkd r uc] [string-normalize-nfkd i r uc]
[string-titlecase r uc] [string-titlecase i r uc]
[string-upcase r uc] [string-upcase i r uc]
[getenv i] [getenv i]
[nanosleep i] [nanosleep i]
[char-ready? ] [char-ready? ]