Icon
This programming language may be used to instruct a computer to perform a task.
Listed below are all of the tasks on Rosetta Code which have been solved using Icon.
This programming language may be used to instruct a computer to perform a task.
Official website |
---|
Execution method: | Compiled (bytecode) |
---|---|
Garbage collected: | Yes |
Parameter passing methods: | By value |
Type safety: | Safe |
Type strength: | Strong |
Type expression: | Implicit |
Type checking: | Dynamic |
See Also: |
Your Help Needed
If you know Icon, please write code for some of the tasks not implemented in Icon.
If you know Icon, please write code for some of the tasks not implemented in Icon.
Icon is a virtual machine. Other virtual machines.
Icon is a descendant of SNOBOL4 incorporating similar excellent string processing capabilities, built-in hash tables, success/failure based controls, dynamic storage, automatic type casting and coercion of values. Icon added more conventional procedural syntax, generator expressions, goal-directed evaluation that automatically searches for successful results. String scanning and matching superseded the pattern matching functionality of SNOBOL4.
Several extensions of Icon were developed to improve functionality. Many of these were unified with Unicon
Related/Variants[edit]
See Also[edit]
- Wikipedia: Icon
- Icon homepage
- Wikipedia: Unicon
- Book: The Icon Programming Language, 3rd Edition
- Book: Graphics Programming in Icon
- Book: Icon Programming for Humanists
- Presentation: Fundamentals of Icon Programming
- Archived issues of the Icon Newsletter from 1979-2000 discussing Icon programming
- Archived issues of the Icon Analysts from 1990-2001 discussing advanced Icon programming
- The Icon Programming Library and index
Wiki Links[edit]
- An introduction to Icon and Unicon for Rosetta Code
- Unimplementable tasks
- Tasks requiring attention
- Tasks not yet implemented
- The Icon Programming Library
Subcategories
This category has the following 3 subcategories, out of 3 total.
Pages in category "Icon"
The following 534 pages are in this category, out of 534 total.
A
- A+B
- ABC problem
- Accumulator factory
- Ackermann function
- Add a variable to a class instance at runtime
- Align columns
- Almost prime
- Amb
- Anagrams
- Anagrams/Deranged anagrams
- Animation
- Anonymous recursion
- Append a record to the end of a text file
- Apply a callback to an array
- Arbitrary-precision integers (included)
- Arithmetic evaluation
- Arithmetic-geometric mean
- Arithmetic/Complex
- Arithmetic/Integer
- Arithmetic/Rational
- Array concatenation
- Array length
- Arrays
- Assertions
- Associative array/Creation
- Associative array/Iteration
- Associative array/Merging
- 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
B
C
- Caesar cipher
- Calculating the value of e
- Calendar
- Calendar - for "REAL" programmers
- Call a function
- Carmichael 3 strong pseudoprimes
- Case-sensitivity of identifiers
- Catalan numbers
- Catalan numbers/Pascal's triangle
- Catamorphism
- Character codes
- Check that file exists
- Chinese remainder theorem
- Cholesky decomposition
- Circles of given radius through two points
- Closest-pair problem
- Closures/Value capture
- Collections
- Color of a screen pixel
- Colour bars/Display
- Colour pinstripe/Display
- Combinations
- Combinations and permutations
- Combinations with repetitions
- Comma quibbling
- Command-line arguments
- Comments
- Compare a list of strings
- Compound data type
- Conditional structures
- Constrained random points on a circle
- Conway's Game of Life
- Copy a string
- Count in factors
- Count in octal
- Count occurrences of a substring
- Count the coins
- CRC-32
- Create a file
- Create a file on magnetic tape
- Create a two-dimensional array at runtime
- Create an HTML table
- CSV data manipulation
- CSV to HTML translation
- Cumulative standard deviation
- CUSIP
D
- Date format
- Date manipulation
- Day of the week
- Deal cards for FreeCell
- Decision tables
- Deepcopy
- Delete a file
- Detect division by zero
- Determine if a string is numeric
- Determine if only one instance is running
- Digital root
- Digital root/Multiplicative digital root
- Dijkstra's algorithm
- Dinesman's multiple-dwelling problem
- Discordian date
- Documentation
- Dot product
- Dragon curve
- Draw a clock
- Draw a pixel
- Dutch national flag problem
E
- Empty program
- Empty string
- Enforced immutability
- Entropy
- Enumerations
- Environment variables
- Equilibrium index
- Ethiopian multiplication
- Euler method
- Evaluate binomial coefficients
- Even or odd
- Evolutionary algorithm
- Execute a Markov algorithm
- Execute a system command
- Execute Brain****
- Execute HQ9+
- Execute SNUSP
- Exponentiation operator
- Extend your language
- Extreme floating point values
F
- Factorial
- Factors of a Mersenne number
- Factors of an integer
- Fibonacci n-step number sequences
- Fibonacci sequence
- Fibonacci word
- Fibonacci word/fractal
- File input/output
- File modification time
- File size
- Filter
- Find common directory path
- Find first and last set bit of a long integer
- Find limit of recursion
- Find the last Sunday of each month
- Find the missing permutation
- Find URI in text
- First class environments
- First-class functions
- First-class functions/Use numbers analogously
- Five weekends
- FizzBuzz
- Flatten a list
- Flow-control structures
- Floyd's triangle
- Forest fire
- Fork
- Formatted numeric output
- Forward difference
- Four bit adder
- Fractal tree
- Fractran
- Function composition
- Function definition
G
- Galton box animation
- Generate lower case ASCII alphabet
- Generator/Exponential
- Generic swap
- Get system command output
- Globally replace text in several files
- Go Fish
- Gray code
- Greatest common divisor
- Greatest element of a list
- Greatest subsequential sum
- Greyscale bars/Display
- Guess the number
- Guess the number/With feedback
- Guess the number/With feedback (player)
- GUI/Maximum window dimensions
H
- Hailstone sequence
- Hamming numbers
- Happy numbers
- Harshad or Niven series
- Hash from two arrays
- Haversine formula
- Hello world/Graphical
- Hello world/Line printer
- Hello world/Newline omission
- Hello world/Standard error
- Hello world/Text
- Higher-order functions
- 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
- Host introspection
- Hostname
- HTTP
- Huffman coding
I
K
L
- Langton's ant
- Largest int from concatenated ints
- Last Friday of each month
- Last letter-first letter
- Leap year
- Least common multiple
- Left factorials
- Letter frequency
- Levenshtein distance
- Linear congruential generator
- Linux CPU utilization
- List comprehensions
- Literals/Floating point
- Literals/Integer
- Literals/String
- Logical operations
- Long multiplication
- Longest common subsequence
- Longest increasing subsequence
- Longest string challenge
- Look-and-say sequence
- 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
- Loops/N plus one half
- Loops/Nested
- Loops/While
- Ludic numbers
- Luhn test of credit card numbers
M
- Mad Libs
- Man or boy test
- Mandelbrot set
- Map range
- Matrix multiplication
- Matrix transposition
- Maze generation
- Maze solving
- MD5
- MD5/Implementation
- Memory allocation
- Menu
- Middle three digits
- Miller–Rabin primality test
- Minesweeper game
- Modular exponentiation
- Modular inverse
- Monte Carlo methods
- Monty Hall problem
- Morpion solitaire
- Mouse position
- Move-to-front algorithm
- Multiple distinct objects
- Multiplication tables
- Multisplit
- Munching squares
- Mutual recursion
N
O
P
- Palindrome detection
- Pangram checker
- Parametric polymorphism
- Parse an IP Address
- Parse command-line arguments
- Parsing/RPN calculator algorithm
- Parsing/RPN to infix conversion
- Parsing/Shunting-yard algorithm
- Partial function application
- Pascal's triangle
- Pathological floating point problems
- Percentage difference between images
- Percolation/Mean run density
- Perfect numbers
- Permutations
- Permutations by swapping
- Pernicious numbers
- Pi
- Pick random element
- Pinstripe/Display
- Playing cards
- Plot coordinate pairs
- Pointers and references
- Polymorphic copy
- Power set
- Pragmatic directives
- Price fraction
- Primality by trial division
- Prime decomposition
- Priority queue
- Probabilistic choice
- Problem of Apollonius
- Program name
- Program termination
- Pythagorean triples
R
- Random number generator (device)
- Random number generator (included)
- Random numbers
- Range expansion
- Range extraction
- RCRPG
- Read a configuration file
- Read a file line by line
- Read a specific line from a file
- Read entire file
- Real constants and functions
- Reduced row echelon form
- Regular expressions
- Remove duplicate elements
- Remove lines from a file
- Rename a file
- Rep-string
- Repeat a string
- Return multiple values
- Reverse 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/Find unimplemented tasks
- Rosetta Code/Rank languages by popularity
- Rot-13
- RSA code
- Run-length encoding
S
- S-expressions
- Same fringe
- Scope modifiers
- Scope/Function names and labels
- Search a list
- Secure temporary file
- SEDOLs
- Self-describing numbers
- Semiprime
- Semordnilap
- Sequence of non-squares
- Set
- Seven-sided dice from five-sided dice
- Shell one-liner
- Short-circuit evaluation
- Show the epoch
- Sierpinski carpet
- Sierpinski triangle
- Sierpinski triangle/Graphical
- Sieve of Eratosthenes
- Singly-linked list/Element definition
- Singly-linked list/Element insertion
- Singly-linked list/Traversal
- Sleep
- Sockets
- Sort an array of composite structures
- Sort an integer array
- Sort disjoint sublist
- Sort stability
- Sort using a custom comparator
- 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/Gnome sort
- Sorting algorithms/Heapsort
- Sorting algorithms/Insertion sort
- Sorting algorithms/Merge sort
- Sorting algorithms/Pancake 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
- Soundex
- Special characters
- Special variables
- Spiral matrix
- Stable marriage problem
- Stack
- Stair-climbing puzzle
- State name puzzle
- Statistics/Basic
- Stem-and-leaf plot
- Straddling checkerboard
- 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
- Subset sum problem
- Substring
- Substring/Top and tail
- Subtractive generator
- Sum and product of an array
- Sum digits of an integer
- Sum multiples of 3 and 5
- Sum of a series
- Sum of squares
- Summarize and say sequence
- Symmetric difference
- Synchronous concurrency
- System time
T
- Take notes on the command line
- Temperature conversion
- Terminal control/Clear the screen
- Terminal control/Cursor positioning
- Terminal control/Display an extended character
- Terminal control/Ringing the terminal bell
- Ternary logic
- Test a function
- Text processing/1
- Text processing/2
- Text processing/Max licenses in use
- The Twelve Days of Christmas
- Tic-tac-toe
- Time a function
- Tokenize a string
- Top rank per group
- Topological sort
- Towers of Hanoi
- Trabb Pardo–Knuth algorithm
- Tree traversal
- Trigonometric functions
- Truncatable primes
- Truncate a file
- Two sum