One of the key features of Flan is its type system. You can have type-checking applied statically or dynamically, and you can make types more-or-less as restrictive or as loose as you want. In the end, it turns out that you can use this one system to do Prolog or Haskell-style data deconstruction, SQL-style filtering and pattern-matching, Eiffel-style compile-time contracts, and a really readable version of regular expressions.
Erlang also has similar pattern matching facilities and it's one of the things I really love about it. From what I can tell, this looks to be far more powerful stuff. Not sure how well it will work in practice, but color me intrigued.
Posted May 27, 2006 4:26 PM