Tailspin
A programming language with extreme pattern matching and declarative syntax, hopefully different enough to be interesting. The inspiration comes mostly from xslt, but data structures are json-like. The main idea is to let your data flow through a series of transforms so it should be easy to specify that flow. Transform steps can be specified as a set of templates with pattern-matching determining which template to apply. Output is generally specified as literals with interpolation of values.
Development page, also how to run Tailspin programs on github
Tasks
- 100 doors
- A+B
- Apply a callback to an array
- Cartesian product of two or more lists
- Catamorphism
- Chaocipher
- Command-line arguments
- Dijkstra's algorithm
- Eban numbers
- Fibonacci n-step number sequences
- Fibonacci sequence
- FizzBuzz
- Flatten a list
- General FizzBuzz
- Greatest element of a list
- Hello world!
- Hello world/Text
- Hofstadter Q sequence
- Identity matrix
- JSON
- Loop over multiple arrays simultaneously
- Matrix multiplication
- Matrix transposition
- McNuggets Problem
- N-queens problem
- Permutations
- Permutations with some identical elements
- Range expansion
- Range extraction
- Repeat a string
- Reverse a string
- Reverse words in a string
- Sieve of Eratosthenes
- Solve a Hidato puzzle
- Sorting algorithms/Bubble sort
- Sorting algorithms/Merge sort
- Sorting algorithms/Quicksort
- Sorting algorithms/Radix sort
- Stack
- String matching
- The Twelve Days of Christmas
- Y combinator