"Hotter than Haskell" http://www.cs.chalmers.se/~augustss/cayenne "Cayenne is a simple(?) functional language with a powerful type system. The basic types are functions, products, and sums. Functions and products use dependent types to gain additional power." "The design of Cayenne has been heavily influenced by Haskell and constructive type theory and with some things borrowed from Java." "The drawback of such a powerful type system is that the type checking becomes undecidable." "Cayenne has three basic types: functions, products (records), and sums (data types). The first two of these use dependent types, i.e., a type may depend on a value. Using dependent types makes it natural to blur the distinction between types and values. Both of these now share the same expression language and the number of language concepts can be kept at a minimum." ---- CategoryProgrammingLanguage