5 ms·
I'm baffled why the creators of Egison seem to think pattern matching is so significant for a Lisp. Common Lisp has a variety of pattern matching libraries. Clo
by wes-exp 12y ago
I'm baffled why the creators of Egison seem to think pattern matching is so significant for a Lisp. Common Lisp has a variety of pattern matching libraries. Clojure has a pattern matcher as well. Is there something radically better about Egison that I am missing?
- malisper 12y agoI'm curious too. From the website[0] it looks like Egison was designed to do pattern matching. The whole language is built around it. This way Egison can do more complicated kinds of pattern matching such as matching patterns against graphs or other complicated data structures. I don't see why any of these features could not be added to an existing Lisp. OTOH, it might not be about adding more features, it might be about doing it efficiently. If that is the case creating a new language is almost a requirement. [0] http://www.egison.org/faq.html http://www.egison.org/faq.html
- anaphor 12y agoYou could probably extend Racket's pattern matching to do the same stuff. It can already match against structurs you define yourself, but I don't think it can do things like "match anything with this pattern in this recursive data structure" unless "recursive data structure" is a list, and even then I don't think it will do any kind of complete search of the list other than the top-level elements (not sure though).
- coolsunglasses 12y agoIt's a little strange because pattern matching isn't that important in Haskell either. It's a syntactic convenience. We decided composable functions (lenses) were better.
- carterschonwald 12y agoThat's not true and you know it Allen. Both strategies are valuable.
- mattdeboard 12y agoThere's a difference between having pattern matching capabilities and the entire language being built on pattern matching. I have no idea if pattern matching is as fundamental in Egison as it is in e.g. Erlang, but I know for myself and some other people I respect, first-class, built-in pattern matching is a huge draw to a language.