Ela is
a simple, yet powerful modern functional language with a state-of-art syntax. Ela combines strict and lazy evaluation, dynamic typing and features, which are normally adopted by statically typed languages, such as algebraic data types and Haskell style type classes.
Ela can
be used to study and teach functional programming, for prototyping, for writing theorem provers, for scripting, as well as for development of applications in a pure functional way. Ela comes with a rich standard library, interactive console and a graphical development environment. Ela also offers a flexible and powerful interface to .NET programming languages, such as C#.
A taste of Ela
//Algebraic type
type Option = None | Some a
  deriving Eq Ord Show 
  
xs = map Some [1..10] //Constructor is a function
x = head xs //x is Some 1
(Some y) = x //Pattern match x
x == None //Returns false
Ela is distributed as a part of Ela Platform, that includes an integrated graphical development environment Elide that will help you to quickly get started with Ela. Elide features a powerful Ela code editor with code folding, autocomplete and support for "highlight errors as you type" feature. Elide also includes Outline view for Ela source code files, task management, debugging capabilities, Ela object file editor and many other productivity tools.
Download Elide with Ela Platform
Download a book
about Ela language
Ela Platform 2013.2 is out
Ela Platform 2013.2 includes a new version of Ela with a refactored and improved 'do' notation (which now supports 'let' bindings in Haskell style). Also this version of Platform comes with a new release of standard library which contains several new additions including an IO monad.
Posted 16/04/2013
Ela Platform 2013.1 is out
Ela Platform 2013.1 comes with a new version of Ela (0.12.1) and an updated library. This is an experimental release that provides a support for monadic programming in Ela including monadic classes in standard library and a Haskell style 'do' notation.
Posted 13/02/2013
Ela Platform 2012.9 is out
Ela Platform 2012.9 comes with a new major version of Ela (0.12) that provides a better support for implicit laziness, negative numeric literals, pattern matching validation for overlapping, bang patterns, type constraints for parameters of algebraic types constructors and more. This version of platform also features a significant update to the standard library.
Posted 03/09/2012
A new version of the book: Ela, dynamic functional language
A new version (0.6) of the book Ela, dynamic functional language is available. This book describes an upcoming version of Ela (0.12) and has a lot of corrections and amendments. This version of a book also contains new chapters about algebraic types and type classes.
Posted 28/08/2012
Contact language developers  Copyright 2013