seq-diff -> diff

seq-intersect -> intersect
db4
Doug Coleman 2008-04-13 23:09:42 -05:00
parent 2edd0fefc9
commit f80085ff0a
24 changed files with 29 additions and 29 deletions

View File

@ -24,7 +24,7 @@ SYMBOL: bootstrap-time
: load-components ( -- )
"exclude" "include"
[ get-global " " split [ empty? not ] subset ] bi@
seq-diff
diff
[ "bootstrap." prepend require ] each ;
! : compile-remaining ( -- )

View File

@ -79,7 +79,7 @@ IN: dlists.tests
[ dlist-push-all ] keep
[ dlist-delete-all ] keep
dlist>array
] 2keep seq-diff assert-same-elements
] 2keep diff assert-same-elements
] unit-test
[ ] [

View File

@ -381,7 +381,7 @@ M: value (lazy-load)
: (compute-free-vregs) ( used class -- vector )
#! Find all vregs in 'class' which are not in 'used'.
[ vregs length reverse ] keep
[ <vreg> ] curry map seq-diff
[ <vreg> ] curry map diff
>vector ;
: compute-free-vregs ( -- )

View File

@ -288,7 +288,7 @@ M: no-word-error summary
scan-word bootstrap-word scan-word create-method-in ;
: shadowed-slots ( superclass slots -- shadowed )
>r all-slot-names r> seq-intersect ;
>r all-slot-names r> intersect ;
: check-slot-shadowing ( class superclass slots -- )
shadowed-slots [

View File

@ -65,7 +65,7 @@ ARTICLE: "sequences-add-remove" "Adding and removing sequence elements"
{ $subsection suffix }
"Removing elements:"
{ $subsection remove }
{ $subsection seq-diff } ;
{ $subsection diff } ;
ARTICLE: "sequences-reshape" "Reshaping sequences"
"A " { $emphasis "repetition" } " is a virtual sequence consisting of a single element repeated multiple times:"
@ -660,7 +660,7 @@ HELP: prefix
{ $example "USING: prettyprint sequences ;" "{ 1 2 3 } 0 prefix ." "{ 0 1 2 3 }" }
} ;
HELP: seq-diff
HELP: diff
{ $values { "seq1" sequence } { "seq2" sequence } { "newseq" sequence } }
{ $description "Outputs a sequence consisting of elements present in " { $snippet "seq2" } " but not " { $snippet "seq1" } ", comparing elements for equality." } ;

View File

@ -241,7 +241,7 @@ unit-test
[ ?{ f t } ] [ 0 2 ?{ f t f } subseq ] unit-test
[ V{ f f f } ] [ 3 V{ } new-sequence ] unit-test
[ SBUF" \0\0\0" ] [ 3 SBUF" " new ] unit-test
[ SBUF" \0\0\0" ] [ 3 SBUF" " new-sequence ] unit-test
[ 0 ] [ f length ] unit-test
[ f first ] must-fail

View File

@ -444,7 +444,7 @@ PRIVATE>
: memq? ( obj seq -- ? )
[ eq? ] with contains? ;
: seq-intersect ( seq1 seq2 -- seq1/\seq2 )
: intersect ( seq1 seq2 -- seq1/\seq2 )
swap [ member? ] curry subset ;
: remove ( obj seq -- newseq )
@ -512,7 +512,7 @@ M: slice equal? over slice? [ sequence= ] [ 2drop f ] if ;
[ 0 swap copy ] keep
] new-like ;
: seq-diff ( seq1 seq2 -- newseq )
: diff ( seq1 seq2 -- newseq )
swap [ member? not ] curry subset ;
: peek ( seq -- elt ) dup length 1- swap nth ;

View File

@ -69,7 +69,7 @@ INSTANCE: groups sequence
: split ( seq separators -- pieces ) [ split, ] { } make ;
: string-lines ( str -- seq )
dup "\r\n" seq-intersect empty? [
dup "\r\n" intersect empty? [
1array
] [
"\n" split [

View File

@ -23,7 +23,7 @@ IN: delegate
: forget-old-definitions ( protocol new-wordlist -- )
>r users-and-words r>
seq-diff forget-all-methods ;
diff forget-all-methods ;
: define-protocol ( protocol wordlist -- )
! 2dup forget-old-definitions

View File

@ -94,7 +94,7 @@ IN: http
: check-header-string ( str -- str )
#! http://en.wikipedia.org/wiki/HTTP_Header_Injection
dup "\r\n" seq-intersect empty?
dup "\r\n" intersect empty?
[ "Header injection attack" throw ] unless ;
: write-header ( assoc -- )

View File

@ -70,7 +70,7 @@ C: <validation-error> validation-error
dup empty? [ "must remain blank" throw ] unless ;
: v-one-line ( str -- str )
dup "\r\n" seq-intersect empty?
dup "\r\n" intersect empty?
[ "must be a single line" throw ] unless ;
: v-one-word ( str -- str )

View File

@ -140,7 +140,7 @@ M: object free-vars drop { } ;
M: quotation free-vars { } [ add-if-free ] reduce ;
M: lambda free-vars
dup vars>> swap body>> free-vars seq-diff ;
dup vars>> swap body>> free-vars diff ;
! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! lambda-rewrite

View File

@ -15,7 +15,7 @@ IN: opengl.capabilities
: has-gl-extensions? ( extensions -- ? )
gl-extensions swap [ over member? ] all? nip ;
: (make-gl-extensions-error) ( required-extensions -- )
gl-extensions swap seq-diff
gl-extensions swap diff
"Required OpenGL extensions not supported:\n" %
[ " " % % "\n" % ] each ;
: require-gl-extensions ( extensions -- )

View File

@ -51,7 +51,7 @@ IN: project-euler.023
PRIVATE>
: euler023 ( -- answer )
20161 abundants-upto possible-sums source-023 seq-diff sum ;
20161 abundants-upto possible-sums source-023 diff sum ;
! TODO: solution is still too slow, although it takes under 1 minute

View File

@ -28,7 +28,7 @@ IN: project-euler.035
: possible? ( seq -- ? )
dup length 1 > [
dup { 0 2 4 5 6 8 } swap seq-diff =
dup { 0 2 4 5 6 8 } swap diff =
] [
drop t
] if ;

View File

@ -79,7 +79,7 @@ PRIVATE>
[ unclip 1 head prefix concat ] map [ all-unique? ] subset ;
: add-missing-digit ( seq -- seq )
dup natural-sort 10 seq-diff first prefix ;
dup natural-sort 10 diff first prefix ;
: interesting-pandigitals ( -- seq )
17 candidates { 13 11 7 5 3 2 } [

View File

@ -35,7 +35,7 @@ IN: project-euler.079
] { } make ;
: find-source ( seq -- elt )
dup values swap keys [ prune ] bi@ seq-diff
dup values swap keys [ prune ] bi@ diff
dup empty? [ "Topological sort failed" throw ] [ first ] if ;
: remove-source ( seq elt -- seq )
@ -52,7 +52,7 @@ PRIVATE>
: topological-sort ( seq -- seq )
[ [ (topological-sort) ] { } make ] keep
concat prune dupd seq-diff append ;
concat prune dupd diff append ;
: euler079 ( -- answer )
source-079 >edges topological-sort 10 digits>integer ;
@ -60,7 +60,7 @@ PRIVATE>
! [ euler079 ] 100 ave-time
! 2 ms run / 0 ms GC ave time - 100 trials
! TODO: prune and seq-diff are relatively slow; topological sort could be
! TODO: prune and diff are relatively slow; topological sort could be
! cleaned up and generalized much better, but it works for this problem
MAIN: euler079

View File

@ -23,7 +23,7 @@ IN: qualified
] curry map zip ;
: partial-vocab-ignoring ( words name -- assoc )
[ vocab-words keys seq-diff ] keep partial-vocab ;
[ vocab-words keys diff ] keep partial-vocab ;
: EXCLUDE:
#! Syntax: EXCLUDE: vocab => words ... ;

View File

@ -32,7 +32,7 @@ LOG: log-smtp-connection NOTICE ( addrspec -- )
: validate-address ( string -- string' )
#! Make sure we send funky stuff to the server by accident.
dup "\r\n>" seq-intersect empty?
dup "\r\n>" intersect empty?
[ "Bad e-mail address: " prepend throw ] unless ;
: mail-from ( fromaddr -- )
@ -90,7 +90,7 @@ LOG: smtp-response DEBUG
: get-ok ( -- ) receive-response check-response ;
: validate-header ( string -- string' )
dup "\r\n" seq-intersect empty?
dup "\r\n" intersect empty?
[ "Invalid header string: " prepend throw ] unless ;
: write-header ( key value -- )

View File

@ -104,7 +104,7 @@ IN: tools.deploy.shaker
set-global ;
: strip-vocab-globals ( except names -- words )
[ child-vocabs [ words ] map concat ] map concat seq-diff ;
[ child-vocabs [ words ] map concat ] map concat diff ;
: stripped-globals ( -- seq )
[

View File

@ -126,7 +126,7 @@ SYMBOL: modified-docs
modified-sources get
modified-docs get
]
[ modified-sources get modified-docs get append swap seq-diff ] bi
[ modified-sources get modified-docs get append swap diff ] bi
] with-scope ;
: do-refresh ( modified-sources modified-docs unchanged -- )

View File

@ -19,7 +19,7 @@ M: dimensions-not-equal summary drop "Dimensions do not match" ;
[ remove-one ] curry bi@ ;
: symbolic-reduce ( seq seq -- seq seq )
2dup seq-intersect dup empty?
2dup intersect dup empty?
[ drop ] [ first 2remove-one symbolic-reduce ] if ;
: <dimensioned> ( n top bot -- obj )

View File

@ -162,7 +162,7 @@ SYMBOL: ns-stack
T{ name f "" "version" f }
T{ name f "" "encoding" f }
T{ name f "" "standalone" f }
} swap seq-diff
} swap diff
dup empty? [ drop ] [ <extra-attrs> throw ] if ;
: good-version ( version -- version )

View File

@ -71,7 +71,7 @@ TAGS>
] keep ;
: merge-rule-set-props ( props rule-set -- )
[ rule-set-props union ] keep set-rule-set-props ;
[ rule-set-props assoc-union ] keep set-rule-set-props ;
! Top-level entry points
: parse-mode-tag ( tag -- rule-sets )