 <p>Although it is not object-oriented, <a href="http://www.haskell.org/" rel="nofollow noreferrer"><strong>Haskell</strong></a> offers a significant number of the features that interest you:</p> <ul> <li><p>Syntax support for list comprehensions, plus <code>do</code> notation for a wide variety of sequencing/binding constructs. (Syntax support for dictionaries is limited to lists of pairs, e.g, </p> <pre><code>dict = ofElements [("Sputnik", 1957), ("Apollo", 1969), ("Challenger", 1988)] </code></pre></li> <li><p>Functions support full closures and multiple return values using tuple types. Keyword arguments are not supported but a powerful feature of "implicit arguments" can sometimes substitute.</p></li> <li><p>No runtime modification of classes, types or objects.</p></li> <li><p>Avoidance of specificying classes/types everywhere through <em>type inference</em>.</p></li> <li><p>Metaprogramming using Template Haskell.</p></li> </ul> <p>Also, just so you will feel at home, Haskell has significant indentation!</p> <p>I actually think Haskell has quite a different feel from Python overall, but that is primarily because of the extremely powerful static type system. If you are interested in trying a statically typed language, Haskell is one of the most ambitious ones out there right now.</p>