* libhash libarified

This commit is contained in:
Abdulaziz Ghuloum 2007-04-29 23:13:19 -04:00
parent 97478fd873
commit d7414001bd
3 changed files with 33 additions and 3 deletions

Binary file not shown.

View File

@ -1,4 +1,8 @@
(library (ikarus hash-tables)
(export)
(import (scheme))
(let ([hash-rtd (make-record-type '"hash-table" '(hash-vec count tc))])
;;; accessors
(define get-vec (record-field-accessor hash-rtd 0))
@ -231,3 +235,5 @@
(if (hash-table? h)
(put-hash! h x v)
(error 'put-hash-table! "~s is not a hash table" h)))))
)

View File

@ -565,6 +565,8 @@
[member member-label (core-prim . member)]
[$car $car-label (core-prim . $car)]
[$cdr $cdr-label (core-prim . $cdr)]
[$set-car! $set-car!-label (core-prim . $set-car!)]
[$set-cdr! $set-cdr!-label (core-prim . $set-cdr!)]
;;; chars
[char? char?-label (core-prim . char?)]
[char=? char=?-label (core-prim . char=?)]
@ -597,6 +599,9 @@
[vector-length vector-length-label (core-prim . vector-length)]
[list->vector list->vector-label (core-prim . list->vector)]
[vector->list vector->list-label (core-prim . vector->list)]
[$vector-length $vector-length-label (core-prim . $vector-length)]
[$vector-ref $vector-ref-label (core-prim . $vector-ref)]
[$vector-set! $vector-set!-label (core-prim . $vector-set!)]
;;; iterators
[for-each for-each-label (core-prim . for-each)]
[map map-label (core-prim . map)]
@ -625,9 +630,15 @@
[$fxadd1 $fxadd1-label (core-prim . $fxadd1)]
[$fx>= $fx>=-label (core-prim . $fx>=)]
[$fx= $fx=-label (core-prim . $fx=)]
[$fxsll $fxsll-label (core-prim . $fxsll)]
[$fxsra $fxsra-label (core-prim . $fxsra)]
[$fxlogxor $fxlogxor-label (core-prim . $fxlogxor)]
[$fxlognot $fxlognot-label (core-prim . $fxlognot)]
[$fxlogand $fxlogand-label (core-prim . $fxlogand)]
[$fx+ $fx+-label (core-prim . $fx+)]
[$fx- $fx--label (core-prim . $fx-)]
[$fx< $fx<-label (core-prim . $fx<)]
[$fx> $fx>-label (core-prim . $fx>)]
;;; flonum
[string->flonum string->flonum-label (core-prim . string->flonum)]
;;; generic arithmetic
@ -711,14 +722,17 @@
[command-line-arguments command-line-arguments-label (core-prim . command-line-arguments)]
;;; record/mid-level
[record? record?-label (core-prim . record?)]
[make-record-type make-record-type-label (core-prim . make-record-type)]
[record-type-descriptor record-type-descriptor-label (core-prim . record-type-descriptor)]
[record-type-field-names record-type-field-names-label (core-prim . record-type-field-names)]
[record-type-symbol record-type-symbol-label (core-prim . record-type-symbol)]
[record-type-name record-type-name-label (core-prim . record-type-name)]
[record-name record-name-label (core-prim . record-name)]
[record-length record-length-label (core-prim . record-length)]
[record-printer record-printer-label (core-prim . record-printer)]
[record-ref record-ref-label (core-prim . record-ref)]
[record-constructor record-constructor-label (core-prim . record-constructor)]
[record-predicate record-predicate-labe (core-prim . record-predicate)]
[record-length record-length-label (core-prim . record-length)]
[record-printer record-printer-label (core-prim . record-printer)]
[record-ref record-ref-label (core-prim . record-ref)]
[record-field-accessor record-field-accessor-label (core-prim . record-field-accessor)]
[record-field-mutator record-field-mutator-label (core-prim . record-field-mutator)]
;;; records/low-level
@ -742,8 +756,18 @@
[code-freevars code-freevars-label (core-prim . code-freevars)]
[code-ref code-ref-label (core-prim . code-ref)]
[code-set! code-set!-label (core-prim . code-set!)]
;;; tcbuckets
[$make-tcbucket $make-tcbucket-label (core-prim . $make-tcbucket)]
[$tcbucket-key $tcbucket-key-label (core-prim . $tcbucket-key)]
[$tcbucket-val $tcbucket-val-label (core-prim . $tcbucket-val)]
[$tcbucket-next $tcbucket-next-label (core-prim . $tcbucket-next)]
[$set-tcbucket-val! $set-tcbucket-val!-label (core-prim . $set-tcbucket-val!)]
[$set-tcbucket-next! $set-tcbucket-next!-label (core-prim . $set-tcbucket-next!)]
[$set-tcbucket-tconc! $set-tcbucket-tconc!-label (core-prim . $set-tcbucket-tconc!)]
;;; misc
[immediate? immediate?-label (core-prim . immediate?)]
[pointer-value pointer-value-label (core-prim . pointer-value)]
[primitive-set! primitive-set!-label (core-prim . primitive-set!)]
[primitive-ref primitive-ref-label (core-prim . primitive-ref)]
[$forward-ptr? $forward-ptr?-label (core-prim . $forward-ptr?)]