Subject: Re: I don't understand Lisp From: Erik Naggum <clerik@naggum.no> Date: 1998/09/24 Newsgroups: comp.lang.lisp Message-ID: <3115618937722449@naggum.no> * Russell Senior <seniorr@teleport.com> | I have adapted Erik's code to a slightly different interface that I find | more useful. It takes only a single sequence element for a delimiter, | rather than the &rest arguments of Erik's function. Also, it provides a | switch to optionally aggregate adjacent delimiter instances. Also, it | returns the values as a list of subsequences, rather than a multi-value | return. that's pretty amusing -- the first few versions of this function did indeed take a list of delimiters and return a list of values. however, I have come to prefer multiple values to lists of values -- they are easier to deal with when binding the result to variables, and especially when just using the first value, which I found that I did quite often. I also prefer to use APPLY when I already have a sequence, and when I was only hacking out the first element of a delimited string, the list-as-argument model became cumbersome. I'd have implemented COLLAPSE with (delete "" substrings :test #'equal) before reversing the list, and certainly made it optional once you make the delimiters a list of its own. I agree that this flag is useful. #:Erik