Hi, I am getting familiar with Clojure's core.match and simply starting with something simple and familar (some Scala match expressions) and translating that to core.match variant: Check out this function which checks whether sequence starts with another:
def startsWith[A](l: List[A], prefix: List[A]): Boolean = (l,prefix) match { case (_,Nil) => true case (Cons(h,t),Cons(h2,t2)) if h == h2 => startsWith(t, t2) case _ => false } and my core.match attempt which works but I am not really sure about it as wiki page is not yet exhaustive enough: (defn starts-with [l prefix] (match [l prefix] * [_ ([] :seq :<< empty?)] true* [([h & t] :seq) ([h2 & t2] :seq)] (if (= h h2) (starts-with t t2) false) :else false)) second and third one are nothing special, former is just match continuation. First one is of particular interest for me... Matching to Nil sequence in clojure is not appropriate as empty sequence simply is not nil whereas it is handled differently in scala. What I wanted here is to check with empty? function if second argument (prefix) is empty sequence... Like I said...it works but I am not sure if there is better way to achieve function application to :seq pattern. I don't need to destructure or bind that to any particular var just to check if it is empty. Any tip, suggestion or critic is welcome and appreciated. Thanks in advance. -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.