ACL2
From the University of Texas at Austin, late 2018:
ACL2 is a logic and programming language in which you can model computer systems, together with a tool to help you prove properties of those models. "ACL2" denotes "'''A''' '''C'''omputational '''L'''ogic for '''A'''pplicative '''C'''ommon '''L'''isp".
Tasks
- 100 doors
- Apply a callback to an array
- Arbitrary-precision integers (included)
- Arithmetic/Integer
- Array concatenation
- Arrays
- Averages/Arithmetic mean
- Binary digits
- Binary search
- Bitwise operations
- Boolean values
- Character codes
- Comments
- Compound data type
- Dot product
- Empty string
- Enforced immutability
- Enumerations
- Ethiopian multiplication
- Evaluate binomial coefficients
- Factors of an integer
- Fibonacci n-step number sequences
- Fibonacci sequence
- Filter
- Find limit of recursion
- FizzBuzz
- Flatten a list
- Function definition
- Function frequency
- Generic swap
- Greatest element of a list
- Hailstone sequence
- Happy numbers
- Hello world!
- Hello world/Newline omission
- Hello world/Text
- Horner's rule for polynomial evaluation
- Include a file
- Interactive programming
- Knuth shuffle
- Letter frequency
- Logical operations
- Loop over multiple arrays simultaneously
- Loops/Foreach
- Loops/Infinite
- Loops/N plus one half
- Luhn test of credit card numbers
- Mandelbrot set
- Map range
- Matrix transposition
- Mutual recursion
- Non-decimal radices/Convert
- One-dimensional cellular automata
- Order two numerical lists
- Palindrome detection
- Pangram checker
- Pick random element
- Playing cards
- Primality by trial division
- Prime decomposition
- Proof
- Queue/Definition
- Quine
- Real constants and functions
- Remove duplicate elements
- Return multiple values
- Reverse a string
- Rot-13
- Search a list
- Shell one-liner
- Sierpinski triangle
- Sieve of Eratosthenes
- Singly-linked list/Element definition
- Singly-linked list/Element insertion
- Singly-linked list/Traversal
- Sort an array of composite structures
- Sorting algorithms/Bubble sort
- Sorting algorithms/Insertion sort
- Sorting algorithms/Merge sort
- Sorting algorithms/Quicksort
- Stem-and-leaf plot
- Substring/Top and tail
- Sum and product of an array
- Sum of a series
- Sum of squares
- Terminal control/Display an extended character
- Test a function
- Time a function
- Tokenize a string
- Tree traversal
- Trigonometric functions
- Variadic function