fixed recursive compiler errors

db4
Sascha Matzke 2009-04-04 11:25:38 +02:00
parent 33d99b6076
commit 3ef4784a63
1 changed files with 4 additions and 6 deletions

View File

@ -21,16 +21,14 @@ DEFER: mdb-persistent?
: tuple-instance ( tuple-info -- instance ) : tuple-instance ( tuple-info -- instance )
mdbinfo>tuple-class new ; inline mdbinfo>tuple-class new ; inline
: [keys>tuple] ( mirror assoc -- quot: ( elt -- ) )
'[ dup _ at assoc>tuple swap _ set-at ] ;
: prepare-assoc>tuple ( assoc -- tuple keylist mirror assoc ) : prepare-assoc>tuple ( assoc -- tuple keylist mirror assoc )
[ tuple-info tuple-instance dup [ tuple-info tuple-instance dup
<mirror> [ keys ] keep ] keep swap ; inline <mirror> [ keys ] keep ] keep swap ; inline
: make-tuple ( assoc -- tuple ) : make-tuple ( assoc -- tuple )
prepare-assoc>tuple [keys>tuple] each prepare-assoc>tuple
[ set-persistent ] keep ; inline '[ dup _ at assoc>tuple swap _ set-at ] each
[ set-persistent ] keep ; inline recursive
: at+ ( value key assoc -- value ) : at+ ( value key assoc -- value )
2dup key? 2dup key?
@ -88,5 +86,5 @@ M: tuple tuple>selector ( tuple -- assoc )
[ [ dup tuple-info? [ [ dup tuple-info?
[ make-tuple ] [ make-tuple ]
[ ] if ] [ drop ] recover [ ] if ] [ drop ] recover
] [ ] if ; inline ] [ ] if ; inline recursive