Sidef
Sidef is a modern, dynamic, object-oriented programming language, focusing on simplicity, readability and elegance, taking the best from languages like derived from::Ruby, derived from::Go, derived from::Perl 6 and derived from::Julia.
The language is mostly used as a research programming language.
For more details, see:
- Gitbook: http://trizen.gitbooks.io/sidef-lang/content/
- Tutorial: https://github.com/trizen/sidef/wiki
- Development page: https://github.com/trizen/sidef
Tasks
- 100 doors
- 24 game
- 24 game/Solve
- 9 billion names of God the integer
- A* search algorithm
- A+B
- ABC Problem
- AKS test for primes
- AVL tree
- Abstract type
- Abundant odd numbers
- Abundant, deficient and perfect number classifications
- Accumulator factory
- Ackermann function
- Add a variable to a class instance at runtime
- Address of a variable
- Align columns
- Almost prime
- Amicable pairs
- Anagrams
- Anagrams/Deranged anagrams
- Angle difference between two bearings
- Animate a pendulum
- Anonymous recursion
- Anti-primes
- Append a record to the end of a text file
- Apply a callback to an array
- Apply a digital filter (direct form II transposed)
- Approximate Equality
- Arbitrary-precision integers (included)
- Archimedean spiral
- Arithmetic coding/As a generalized change of radix
- Arithmetic evaluation
- Arithmetic-geometric mean
- Arithmetic-geometric mean/Calculate Pi
- Arithmetic/Complex
- Arithmetic/Integer
- Arithmetic/Rational
- Array concatenation
- Array length
- Arrays
- Assertions
- Associative array/Creation
- Associative array/Iteration
- Attractive numbers
- Averages/Arithmetic mean
- Averages/Mean angle
- Averages/Mean time of day
- Averages/Median
- Averages/Mode
- Averages/Pythagorean means
- Averages/Root mean square
- Averages/Simple moving average
- Babbage problem
- Balanced brackets
- Barnsley fern
- Base58Check encoding
- Base64 decode data
- Base64 encode data
- Bell numbers
- Benford's law
- Bernoulli numbers
- Best shuffle
- Bilinear interpolation
- Binary digits
- Binary search
- Bitmap/Write a PPM file
- Bitwise operations
- Boolean values
- Box the compass
- Brace expansion
- Brazilian numbers
- Break OO privacy
- Bresenham's Line Algorithm
- Brownian tree
- Bulls and cows
- Bulls and cows/Player
- Burrows–Wheeler transform
- CSV data manipulation
- CSV to HTML translation
- Caesar cipher
- Calculating the value of e
- Calendar
- Call a function
- Call an object method
- Carmichael 3 strong pseudoprimes
- Cartesian product of two or more lists
- Case-sensitivity of identifiers
- Casting out nines
- Catalan numbers
- Catalan numbers/Pascal's triangle
- Catamorphism
- Chaos game
- Character codes
- Chebyshev coefficients
- Check Machin-like formulas
- Check that file exists
- Checksumcolor
- Chernick's Carmichael numbers
- Cheryl's Birthday
- Chinese remainder theorem
- Chinese zodiac
- Cholesky decomposition
- Cipolla's algorithm
- Circles of given radius through two points
- Classes
- Closest-pair problem
- Closures/Value capture
- Collections
- Color quantization
- Color wheel
- Colour bars/Display
- Colour pinstripe/Display
- Combinations
- Combinations and permutations
- Combinations with repetitions
- Comma quibbling
- Command-line arguments
- Comments
- Compare a list of strings
- Compile-time calculation
- Compound data type
- Concurrent computing
- Conjugate transpose
- Constrained genericity
- Constrained random points on a circle
- Continued fraction
- Continued fraction/Arithmetic/Construct from rational number
- Convert decimal number to rational
- Convert seconds to compound duration
- Convex hull
- Copy a string
- Count in factors
- Count in octal
- Count occurrences of a substring
- Count the coins
- Cramer's rule
- Create a file
- Create a two-dimensional array at runtime
- Create an HTML table
- Cuban primes
- Cumulative standard deviation
- Currency
- Currying
- DNS query
- Damm algorithm
- Date format
- Date manipulation
- Day of the week
- Days between dates
- Decimal floating point number to binary
- Decision tables
- Deepcopy
- Define a primitive data type
- Delegates
- Delete a file
- Deming's Funnel
- Department Numbers
- Detect division by zero
- Determinant and permanent
- Determine if a string is numeric
- Determine if only one instance is running
- Dice game probabilities
- Digital root
- Digital root/Multiplicative digital root
- Dijkstra's algorithm
- Dinesman's multiple-dwelling problem
- Discordian date
- Display a linear combination
- Diversity prediction theorem
- Dot product
- Doubly-linked list/Element definition
- Dragon curve
- Draw a clock
- Draw a cuboid
- Draw a sphere
- Dynamic variable names
- EKG sequence convergence
- Egyptian division
- Egyptian fractions
- Element-wise operations
- Elementary cellular automaton
- Elementary cellular automaton/Infinite length
- Elementary cellular automaton/Random Number Generator
- Elliptic curve arithmetic
- Emirp primes
- Empty directory
- Empty program
- Empty string
- Enforced immutability
- Entropy
- Entropy/Narcissist
- Enumerations
- Environment variables
- Equilibrium index
- Ethiopian multiplication
- Euler method
- Euler's identity
- Euler's sum of powers conjecture
- Evaluate binomial coefficients
- Even or odd
- Evolutionary algorithm
- Exceptions
- Exceptions/Catch an exception thrown in a nested call
- Executable library
- Execute Brainfuck
- Execute HQ9+
- Execute a system command
- Exponentiation operator
- Exponentiation order
- Extend your language
- Extensible prime generator
- Extract file extension
- Extreme floating point values
- FASTA format
- FTP
- Factorial
- Factorions
- Factors of a Mersenne number
- Factors of an integer
- Farey sequence
- Fast Fourier transform
- Faulhaber's formula
- Faulhaber's triangle
- Feigenbaum constant calculation
- Fermat numbers
- Fibonacci n-step number sequences
- Fibonacci sequence
- Fibonacci word
- Fibonacci word/fractal
- Find common directory path
- Find duplicate files
- Find first and last set bit of a long integer
- Find largest left truncatable prime in a given base
- Find limit of recursion
- Find palindromic numbers in both binary and ternary bases
- Find the intersection of a line with a plane
- Find the intersection of two lines
- Find the last Sunday of each month
- Find the missing permutation
- First class environments
- First perfect square in base N with N unique digits
- First-class functions
- First-class functions/Use numbers analogously
- Five weekends
- Fivenum
- FizzBuzz
- Flatten a list
- Flow-control structures
- Floyd's triangle
- Floyd-Warshall algorithm
- Forest fire
- Fork
- Formatted numeric output
- Forward difference
- Four bit adder
- Four is magic
- Fractal tree
- Fractran
- Free polyominoes enumeration
- French Republican calendar
- Function composition
- Function definition
- Function frequency
- Fusc sequence
- GUI/Maximum window dimensions
- Gamma function
- Gauss-Jordan matrix inversion
- Gaussian elimination
- General FizzBuzz
- Generate Chess960 starting position
- Generate lower case ASCII alphabet
- Generator/Exponential
- Generic swap
- Get system command output
- Globally replace text in several files
- Gray code
- Grayscale image
- Greatest element of a list
- Greatest subsequential sum
- Guess the number
- Guess the number/With feedback
- Guess the number/With feedback (player)
- HTTP
- HTTPS
- HTTPS/Authenticated
- Hamming numbers
- Handle a signal
- Happy numbers
- Harshad or Niven series
- Hash from two arrays
- Hash join
- Haversine formula
- Hello world!
- Hello world/Graphical
- Hello world/Line printer
- Hello world/Newline omission
- Hello world/Standard error
- Hello world/Text
- Hello world/Web server
- Here document
- Heronian triangles
- Hickerson series of almost integers
- Higher-order functions
- Hilbert curve
- History variables
- Hofstadter Figure-Figure sequences
- Hofstadter Q sequence
- Hofstadter-Conway $10,000 sequence
- Holidays related to Easter
- Honeycombs
- Horizontal sundial calculations
- Horner's rule for polynomial evaluation
- Hostname
- Hough transform
- Huffman coding
- Humble numbers
- I.Q. Puzzle
- IBAN
- Identity matrix
- Imaginary base numbers
- Implicit type conversion
- Include a file
- Increment a numerical string
- Index finite lists of positive integers
- Infinity
- Inheritance/Multiple
- Inheritance/Single
- Input loop
- Integer comparison
- Integer overflow
- Integer roots
- Integer sequence
- Interactive programming
- Inverted syntax
- Iterated digits squaring
- JSON
- Jaro distance
- Jensen's Device
- Jewels and Stones
- JortSort
- Josephus problem
- Julia set
- K-d tree
- Kaprekar numbers
- Keyboard input/Flush the keyboard buffer
- Keyboard input/Obtain a Y or N response
- Knapsack problem/0-1
- Knapsack problem/Continuous
- Knapsack problem/Unbounded
- Knight's tour
- Knuth shuffle
- Knuth's algorithm S
- Koch curve
- Kosaraju
- Kronecker product
- Kronecker product based fractals
- LU decomposition
- LZW compression
- Lah numbers
- Langton's ant
- Largest int from concatenated ints
- Largest number divisible by its digits
- Last Friday of each month
- Last letter-first letter
- Leap year
- Least common multiple
- Left factorials
- Leonardo numbers
- Letter frequency
- Levenshtein distance
- Levenshtein distance/Alignment
- Linear congruential generator
- List comprehensions
- List rooted trees
- Literals/Floating point
- Literals/Integer
- Literals/String
- Logical operations
- Long multiplication
- Long primes
- Longest Common Substring
- Longest common prefix
- Longest common subsequence
- Longest increasing subsequence
- Longest string challenge
- Look-and-say sequence
- Loop over multiple arrays simultaneously
- Loops/Break
- Loops/Do-while
- Loops/Downward for
- Loops/For
- Loops/For with a specified step
- Loops/Foreach
- Loops/Infinite
- Loops/N plus one half
- Loops/Nested
- Loops/While
- Lucas-Lehmer test
- Ludic numbers
- Luhn test of credit card numbers
- Lychrel numbers
- MD4
- MD5
- MD5/Implementation
- Mad Libs
- Magic squares of doubly even order
- Magic squares of odd order
- Make directory path
- Man or boy test
- Mandelbrot set
- Map range
- Markov chain text generator
- Matrix multiplication
- Matrix transposition
- Matrix-exponentiation operator
- Maximum triangle path sum
- Maze generation
- Menu
- Mersenne primes
- Metaprogramming
- Mian-Chowla sequence
- Middle three digits
- Miller–Rabin primality test
- Modular arithmetic
- Modular exponentiation
- Modular inverse
- Modulinos
- Monte Carlo methods
- Montgomery reduction
- Monty Hall problem
- Most frequent k chars distance
- Move-to-front algorithm
- Multifactorial
- Multiline shebang
- Multiple distinct objects
- Multiplication tables
- Multiplicative order
- Multisplit
- Munchausen numbers
- Munching squares
- Mutual recursion
- N'th
- N-queens problem
- N-smooth numbers
- Named parameters
- Names to numbers
- Narcissist
- Narcissistic decimal number
- Native shebang
- Natural sorting
- Negative base numbers
- Nested function
- Non-continuous subsequences
- Non-decimal radices/Convert
- Non-decimal radices/Input
- Non-decimal radices/Output
- Nth root
- Null object
- Number names
- Number reversal game
- Numerical integration
- Numerical integration/Adaptive Simpson's method
- Numerical integration/Gauss-Legendre Quadrature
- Odd word problem
- Old Russian measure of length
- Old lady swallowed a fly
- One of n lines in a file
- One-dimensional cellular automata
- Operator precedence
- Optional parameters
- Orbital elements
- Order disjoint list items
- Order two numerical lists
- Ordered Partitions
- Ordered words
- Palindrome detection
- Pangram checker
- Parallel calculations
- Parsing/RPN calculator algorithm
- Parsing/RPN to infix conversion
- Parsing/Shunting-yard algorithm
- Partial function application
- Partition an integer X into N primes
- Pascal matrix generation
- Pascal's triangle
- Pascal's triangle/Puzzle
- Pathological floating point problems
- Peano curve
- Pell's equation
- Penrose tiling
- Pentagram
- Percentage difference between images
- Percolation/Site percolation
- Perfect numbers
- Perfect shuffle
- Perfect totient numbers
- Perlin noise
- Permutation test
- Permutations
- Permutations by swapping
- Permutations with repetitions
- Permutations with some identical elements
- Pernicious numbers
- Phrase reversals
- Pi
- Pick random element
- Pierpont primes
- Pig the dice game/Player
- Plasma effect
- Playfair cipher
- Playing cards
- Plot coordinate pairs
- Pointers and references
- Polymorphic copy
- Polymorphism
- Polynomial long division
- Polynomial regression
- Population count
- Power set
- Price fraction
- Primality by trial division
- Prime conspiracy
- Prime decomposition
- Primes - allocate descendants to their ancestors
- Primorial numbers
- Priority queue
- Probabilistic choice
- Problem of Apollonius
- Program name
- Program termination
- Proper divisors
- Pythagoras tree
- Pythagorean quadruples
- Pythagorean triples
- Quaternion type
- Queue/Definition
- Queue/Usage
- Quickselect algorithm
- Quine
- RSA code
- Ramanujan's constant
- Ramer-Douglas-Peucker line simplification
- Ramsey's theorem
- Random number generator (device)
- Random number generator (included)
- Random numbers
- Range expansion
- Ranking methods
- Rate counter
- Read a configuration file
- Read a file character by character/UTF8
- Read a file line by line
- Read a specific line from a file
- Readline interface
- Real constants and functions
- Recaman's sequence
- Reduced row echelon form
- Reflection/List methods
- Regular expressions
- Remove duplicate elements
- Remove lines from a file
- Rename a file
- Rep-string
- Repeat
- Repeat a string
- Resistor mesh
- Respond to an unknown method call
- Return multiple values
- Reverse a string
- Reverse the gender of a string
- Reverse words in a string
- Rock-paper-scissors
- Roman numerals/Decode
- Roman numerals/Encode
- Roots of a function
- Roots of a quadratic function
- Roots of unity
- Rosetta Code/Count examples
- Rosetta Code/Fix code tags
- Rot-13
- Run as a daemon or service
- Run-length encoding
- Runge-Kutta method
- Runtime evaluation
- Runtime evaluation/In an environment
- S-Expressions
- SEDOLs
- SHA-1
- SHA-256
- SQL-based authentication
- Safe primes and unsafe primes
- Sailors, coconuts and a monkey problem
- Same Fringe
- Sattolo cycle
- Scope/Function names and labels
- Search a list
- Search a list of records
- Secure temporary file
- Self-describing numbers
- Semiprime
- Semordnilap
- Send an unknown method call
- Separate the house number from the street name
- Sequence of primes by trial division
- Sequence of primorial primes
- Sequence: nth number with exactly n divisors
- Sequence: smallest number greater than previous term with exactly n divisors
- Sequence: smallest number with exactly n divisors
- Set
- Set consolidation
- Seven-sided dice from five-sided dice
- Sexy primes
- Shell one-liner
- Shoelace formula for polygonal area
- Short-circuit evaluation
- Shortest common supersequence
- Show the epoch
- Sierpinski carpet
- Sierpinski pentagon
- Sierpinski triangle
- Sierpinski triangle/Graphical
- Sieve of Eratosthenes
- Simple windowed application
- Simulated annealing
- Singleton
- Singly-linked list/Element definition
- Singly-linked list/Element insertion
- Singly-linked list/Traversal
- Sleep
- Smarandache prime-digital sequence
- Snake
- Sockets
- Sort a list of object identifiers
- Sort an array of composite structures
- Sort an integer array
- Sort disjoint sublist
- Sort numbers lexicographically
- Sort stability
- Sort three variables
- Sort using a custom comparator
- Sorting Algorithms/Circle Sort
- Sorting algorithms/Bead sort
- Sorting algorithms/Bogosort
- Sorting algorithms/Bubble sort
- Sorting algorithms/Cocktail sort
- Sorting algorithms/Comb sort
- Sorting algorithms/Counting sort
- Sorting algorithms/Cycle sort
- Sorting algorithms/Gnome sort
- Sorting algorithms/Heapsort
- Sorting algorithms/Insertion sort
- Sorting algorithms/Merge sort
- Sorting algorithms/Pancake sort
- Sorting algorithms/Patience sort
- Sorting algorithms/Permutation sort
- Sorting algorithms/Quicksort
- Sorting algorithms/Radix sort
- Sorting algorithms/Selection sort
- Sorting algorithms/Shell sort
- Sorting algorithms/Sleep sort
- Sorting algorithms/Stooge sort
- Sorting algorithms/Strand sort
- Soundex
- Sparkline in unicode
- Speech synthesis
- Spelling of ordinal numbers
- Spiral matrix
- Split a character string based on change of character
- Square but not cube
- Square-free integers
- Stable marriage problem
- Stack
- Stair-climbing puzzle
- Statistics/Basic
- Statistics/Normal distribution
- Stem-and-leaf plot
- Stern-Brocot sequence
- Stirling numbers of the first kind
- Stirling numbers of the second kind
- Stream Merge
- String append
- String case
- String comparison
- String concatenation
- String interpolation (included)
- String length
- String matching
- String prepend
- Strip a set of characters from a string
- Strip block comments
- Strip comments from a string
- Strip control codes and extended characters from a string
- Strip whitespace from a string/Top and tail
- Strong and weak primes
- Subleq
- Subset sum problem
- Substitution Cipher
- Substring
- Substring/Top and tail
- Subtractive generator
- Successive prime differences
- Sudoku
- Suffix tree
- Sum and Product Puzzle
- Sum and product of an array
- Sum digits of an integer
- Sum multiples of 3 and 5
- Sum of a series
- Sum of squares
- Sum to 100
- Sunflower fractal
- Superellipse
- Superpermutation minimisation
- Sutherland-Hodgman polygon clipping
- Symmetric difference
- System time
- Table creation/Postal addresses
- Take notes on the command line
- Tarjan
- Taxicab numbers
- Temperature conversion
- Terminal control/Clear the screen
- Terminal control/Coloured text
- Terminal control/Dimensions
- Terminal control/Display an extended character
- Terminal control/Preserve screen
- Terminal control/Ringing the terminal bell
- Terminal control/Unicode output
- Test integerness
- Text between
- Text processing/1
- Text processing/2
- Text processing/Max licenses in use
- Textonyms
- The ISAAC Cipher
- The Twelve Days of Christmas
- Thiele's interpolation formula
- Thue-Morse
- Time a function
- Tokenize a string
- Tokenize a string with escaping
- Tonelli-Shanks algorithm
- Top rank per group
- Topic variable
- Topological sort
- Totient function
- Trabb Pardo–Knuth algorithm
- Tree traversal
- Trigonometric functions
- Truncatable primes
- Truncate a file
- Truth table
- Twelve statements
- Two Sum
- URL decoding
- URL encoding
- UTF-8 encode and decode
- Ulam spiral (for primes)
- Unbias a random generator
- Undefined values
- Unicode strings
- Unicode variable names
- Universal Turing machine
- Unix/ls
- Vampire number
- Van Eck sequence
- Van der Corput sequence
- Variable-length quantity
- Variadic function
- Vector
- Vector products
- Verify distribution uniformity/Chi-squared test
- Vigenère cipher
- Visualize a tree
- Vogel's approximation method
- Walk a directory/Non-recursively
- Walk a directory/Recursively
- Water collected between towers
- Web scraping
- Weird numbers
- Welch's t-test
- Window creation
- Wireworld
- Word break problem
- Word frequency
- Word wrap
- Write entire file
- Write float arrays to a text file
- XML Validation
- XML/DOM serialization
- XML/Input
- XML/Output
- XML/XPath
- Xiaolin Wu's line algorithm
- Y combinator
- Yin and yang
- Zebra puzzle
- Zeckendorf number representation
- Zero to the zero power
- Zhang-Suen thinning algorithm
- Zig-zag matrix
- Zumkeller numbers