packages feed

egison-3.2.11: lib/core/string.egi

;;;
;;; String.egi
;;;

(define $intersperse
  (lambda [$in $ws]
    (foldl (lambda [$s1 $s2] {@s1 in s2}) {(car ws)} (cdr ws))))

(define $intercalate (compose intersperse concat))

(define $palindrome?
  (lambda [$str]
    (match str string
      {[(loop $i [1 $n]
          <cons $c_i <snoc ,c_i ...>>
          (| <nil> <cons $cm <nil>>))
        #t]
       [_ #f]})))