Ela is
a free (both noncommercial and open source) functional programming language. Ela runs on .NET and Mono and supports Windows, Linux, Mac OS and many other environments. Ela can run in both 32-bit and 64-bit modes. Ela programs can be distributed and executed either as source code files or as binary object files. Ela fully supports interactive mode (REPL) and is shipped with a graphical development environment (Elide).
For those coming from C style languages, such as C++, Java or C#, Ela might look a little bit cryptic. But new things are not necessarily bad, right? Also Ela is in fact a very simple language and is easy to learn. Hard to believe in that? Just give it a try! Why bother? Because, in spite of its simplicity, Ela is a powerful and expressive language that allows to solve complex tasks in a simple way. What's the catch?
Ela is a functional language
You've probably heard this multiple times; there are plenty of languages that claim to be hybryd and to provide full support for functional programming. However, Ela is quite different from them. Unlike many other languages, Ela doesn't make any trade-offs, trying to combine distinct programming paradigms that don't fit well together. And it makes Ela a more powerful and flexible language than any of these hybrids, which is perfectly logical if you think about it. Why would you need to extend a modern car with a steam engine? Or why would you need to extend a functional language with object orientation in mainstream style? If you want to argue with that, first give Ela a try.
Ela is a dynamic language
If the first thing that comes to your head, when somebody says "dynamic language", is JavaScript, than think twice. Dynamic typing in Ela is lambda calculus and metaprogramming over types, not the "let's scrap all types and formal operation semantics" from many popular dynamic languages. Ela offers you much more static control than most of other dynamic languages. Ela is a type safe, strictly typed language, which is, however, not burden by limitations of any particular type checker.
Ela is one of a kind
Ela is the first and the only pure functional programming language that combines dynamic typing, algebraic types and type classes and, at the same time, features support for both strict and lazy evaluation strategies. Comparing it to big functional languages such as Haskell, Ela is relatively simple and has a very low entry cost - it can be even used as a scripting language of your choice or be embedded in .NET applications.