Search code examples
listsetschemechez-scheme

Scheme: Detecting duplicate elements in a list


Does R6RS or Chez Scheme v7.9.4 have a library function to check if a list contains duplicate elements?

Alternatively, do either have any built in functionality for sets (which dis-allow duplicate elements)? So far, I've only been able to find an example here.

The problem with that is that it doesn't appear to actually be part of the Chez Scheme library. Although I could write my own version of this, I'd much rather use a well known, tested, and maintained library function - especially given how basic an operation this is.

So a simple "use these built-in functions" or a "no built-in library implements this" will suffice. Thanks!


Solution

  • SRFI 1 on list processing has a delete-duplicates function (so you could use that and check the length afterward) and may well have other functions you might find useful.