<tcp-echo> [
\ threaded-server get server>address binary [
#times [ #bytes read-write ] times
- contents length 0 = [ incorrect-#bytes ] unless
+ contents empty? [ incorrect-#bytes ] unless
] with-client
] with-threaded-server ;
>alist natural-sort ;
: filter-prefix ( seq prefix -- seq )
- [ drop-prefix nip length 0 = ] curry filter members ;
+ [ drop-prefix nip empty? ] curry filter members ;
MEMO: (vocab-words) ( name -- seq )
>vocab-link words [ name>> ] map ;
[ " " glue ] unless-empty ;
: append-with-conjunction ( str1 str2 -- newstr )
- over length 0 = [
- nip
- ] [
- swap and-needed? get " and " ", " ?
- glue and-needed? off
- ] if ;
+ swap [
+ and-needed? get " and " ", " ? glue
+ and-needed? off
+ ] unless-empty ;
: (recombine) ( str index seq -- newstr )
2dup nth 0 = [
] bi ; inline
: build-collection-map ( -- assoc )
- H{ } clone load-collection-list
+ H{ } clone load-collection-list
[ [ "name" ] dip at "." split second <mdb-collection> ] map
over '[ [ ] [ name>> ] bi _ set-at ] each ;
: ensure-collection-map ( mdb-instance -- assoc )
- dup collections>> dup keys length 0 =
+ dup collections>> dup assoc-empty?
[ drop build-collection-map [ >>collections drop ] keep ]
- [ nip ] if ;
+ [ nip ] if ;
: (ensure-collection) ( collection mdb-instance -- collection )
ensure-collection-map [ dup ] dip key?
[ ] [ [ ensure-valid-collection-name ]
[ create-collection ]
- [ ] tri ] if ;
-
+ [ ] tri ] if ;
+
: reserved-namespace? ( name -- ? )
[ "$cmd" = ] [ "system" head? ] bi or ;