Hello, all!
I have an interesting little task for you today.
Let's say you have a sequence of tuples, and you want to remove all tuples
with duplicate ids, so that in the new sequence there is only one tuple with
each id.
Here's my solution:
TYPED: dedupe-by-hash ( seq: sequence -- seq: sequence )
dup [ hash>> ] map >hash-set [
[ hash>> ] dip
[ in? ] [ delete ] 2bi
] curry filter ;
This is not the first time I'm solving this task, and I begun to wonder - is
there something similar in the Factor library?
Is this the simplest/most efficient implementation?
Is it possible to generalize it to work for any slot like so:
TYPED: dedupe-by-slot ( seq slot -- seq ) ?
If this code is not in the standard library, how about adding it? Seems
pretty useful, and not too trivial.
What do you say?
---=====---
Александр
------------------------------------------------------------------------------
_______________________________________________
Factor-talk mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/factor-talk