Minor core features

db4
Slava Pestov 2008-03-11 03:30:14 -05:00
parent 7c1dc2336a
commit dcdee4ec6f
3 changed files with 9 additions and 6 deletions

View File

@ -240,13 +240,13 @@ PREDICATE: unexpected unexpected-eof
: CREATE ( -- word ) scan create-in ;
: create-class ( word vocab -- word )
create
: create-class-in ( word vocab -- word )
in get create
dup save-class-location
dup predicate-word dup set-word save-location ;
: CREATE-CLASS ( -- word )
scan in get create-class ;
scan create-class-in ;
: word-restarts ( possibilities -- restarts )
natural-sort [

View File

@ -441,6 +441,9 @@ PRIVATE>
: memq? ( obj seq -- ? )
[ eq? ] with contains? ;
: seq-intersect ( seq1 seq2 -- seq1/\seq2 )
swap [ member? ] curry subset ;
: remove ( obj seq -- newseq )
[ = not ] with subset ;

6
core/splitting/splitting.factor Normal file → Executable file
View File

@ -69,12 +69,12 @@ INSTANCE: groups sequence
: split ( seq separators -- pieces ) [ split, ] { } make ;
: string-lines ( str -- seq )
dup [ "\r\n" member? ] contains? [
dup "\r\n" seq-intersect empty? [
1array
] [
"\n" split [
1 head-slice* [
"\r" ?tail drop "\r" split
] map
] keep peek "\r" split add concat
] [
1array
] if ;