Here's a better implementation of I+
- (defun I+ (s / foo) (defun foo (l1 l2) (cond ((= (car l1) (cadddr l1) (car l2)) (if (cdr l2) (foo (cons (cadr l2) (cdddr l1)) l2) l1 ) ) ((and (= (cadr l1) (cadr l2)) (= (caddr l1) (car l2))) (cons (cadr l2) (cdddr l1)) ) ((and (= (cadr l1) (caddr l2)) (= (caddr l1) (car l2))) (foo (cons (caddr l2) (cdddr l1)) (cddr l2)) ) ((and (= (car l1) (caddr l1) (cadr l2)) (= (cadr l1) (car l2))) (cons (caddr l2) (cons (car l2) (cdddr l1))) ) (T l1) ) ) (vl-list->string (reverse (foo (cons 73 (reverse (vl-string->list s))) '(73 86 88 76 67 68 77)) ) ))
|