Ela
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.
Tasks
- 100 doors
- A+B
- ABC Problem
- Abundant, deficient and perfect number classifications
- Ackermann function
- Amb
- Amicable pairs
- Anagrams
- Anonymous recursion
- Array concatenation
- Array length
- Caesar cipher
- Comments
- Compound data type
- Conditional structures
- Detect division by zero
- Dot product
- Enforced immutability
- Ethiopian multiplication
- Execute HQ9+
- Exponentiation operator
- Factorial
- Factors of an integer
- Fibonacci sequence
- Filter
- First-class functions
- FizzBuzz
- Flatten a list
- Function composition
- Function definition
- Greatest element of a list
- Guess the number/With feedback
- Hello world!
- Hello world/Text
- Langton's ant
- Leap year
- Levenshtein distance
- List comprehensions
- Literals/String
- Loop over multiple arrays simultaneously
- Loops/Break
- Loops/Continue
- Loops/Do-while
- Loops/Downward for
- Loops/For
- Loops/For with a specified step
- Loops/Foreach
- Loops/Infinite
- Man or boy test
- Matrix multiplication
- Order two numerical lists
- Palindrome detection
- Parsing/RPN calculator algorithm
- Polymorphism
- Prime decomposition
- Reverse a string
- Roman numerals/Encode
- Scope modifiers
- Set consolidation
- Singly-linked list/Traversal
- String concatenation
- Trabb Pardo–Knuth algorithm
- Van der Corput sequence
- Variables
- Y combinator