anchor.diff:         (subseq string 0 pos)
          (split-string-if (subseq string pos) predicate)))))
   
  -(defun split-string (string &optional (delimiter #'whitespace-p) 
  -		     &key (start 0) (end (length string)))
  +(defun split-string (string &key (delimiter #'whitespace-p) 
  +		     (start 0) (end (length string)))
     (let* ((predicate (if (functionp delimiter)
   			delimiter
   		      #'(lambda (char)
  
positive.code: 	(cons 
  	 (subseq string from (or to end))
  	 (when to
  	   (split-string string predicate :start to :end end)))))))
  
  (defun concatenate-strings (strings &optional delimiter)
    (if (not (rest strings))
  
negative.code: ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  
  ;; $Id: utils.lisp,v 1.2 2006-04-25 20:26:04 espen Exp $
  
  (defpackage #:clg-utils
    (:use #:common-lisp)
    (:export #:read-lines #:mklist #:namep #:funcallable #:return-if #:when-bind
  	   #:visible-char-p #:whitespace-p #:split-string-if #:split-string
  	   #:concatenate-strings #:string-prefix-p #:get-all 
  	   #:delete-collect-if))
  	   
  (in-package #:clg-utils)
  
  