{{language|Ela |exec=bytecode |site=http://code.google.com/p/elalang/ |gc=yes |strength=strong |safety=safe |checking=dynamic |express=implicit |compat=duck |parampass=value }} {{language programming paradigm|functional}} [http://elalang.net/ Ela] is a pure functional language. Ela supports both strict and non-strict evaluation but is strict by default. Ela has a layout-based, [[Haskell]]-style syntax. Features supported by Ela include first class functions, pattern matching, lazy evaluation, algebraic data types (including open algebraic data types), and type classes. Ela runs on its own virtual machine but currently requires [[.NET]] or [[Mono]].