;;; ;;; String.egi ;;; (define $intersperse (lambda [$in $ws] (foldl (lambda [$s1 $s2] {@s1 in s2}) {(car ws)} (cdr ws)))) (define $intercalate (compose intersperse concat)) (define $split (lambda [$in $ls] (match ls (list something) {[> {xs @(split in rs)}] [_ {ls}]}))) (define $split/m (lambda [$a $in $ls] (match ls (list a) {[> {xs @(split/m $a in rs)}] [_ {ls}]}))) (define $palindrome? (lambda [$str] (match str string {[(loop $i [1 $n] > (| >)) #t] [_ #f]})))