RosettaGit

  • Tasks
  • Drafts
  • Languages

Contributing

  • Code on GitHub
  • Issues
  • Changelog

Special Pages

  • Similar Sites
  • Online Execution

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.

Syntax reference

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

Created by Adrian Sieber and contributors with Zola

Licensed under the GFDL-1.3-or-later