Hello!
I have a tuple that contains a file path in its `path` slot. And I have two
sequences of such tuples, representing two states of a disk.
I want to know which files were added, which were removed, and which remained
between the two states. Only paths are to be considered by the analysis, but
the resulting sequences should consist of the source tuples, not merely path
strings.
Here's what I came up with:
```
: paths-diff ( old new -- seq )
[ [ dup path>> swap 2array ] map >hashtable ] bi@ assoc-diff values ;
: paths-deleted ( old new -- seq ) paths-diff ;
: paths-added ( old new -- seq ) swap paths-diff ;
```
Then I thought that creating the assocs every time I need to diff is perhaps
not very bright.
Is it possible to partition an assoc in a way similar to the way the
`partition` word splits a seq into trueseq and falseseq?
Do we have a word to partition a set or an assoc three-way: left-diff,
intersection and right-diff?
---=====---
Александр
------------------------------------------------------------------------------
_______________________________________________
Factor-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/factor-talk