Difference between revisions of "Gallery"
Jump to navigation
Jump to search
PaulJohnson (talk | contribs) |
m (Reverted edits by Tomjaguarpaw (talk) to last revision by ChrisKuklewicz) |
||
(20 intermediate revisions by 8 users not shown) | |||
Line 1: | Line 1: | ||
− | == The Gallery == |
||
− | |||
The Gallery is a repository of small programs. Each one should compile to a complete executable that does something, but also illustrates what a Haskell program actually looks like. Good Gallery examples should be well commented with a view to helping new programmers understand what is going on. |
The Gallery is a repository of small programs. Each one should compile to a complete executable that does something, but also illustrates what a Haskell program actually looks like. Good Gallery examples should be well commented with a view to helping new programmers understand what is going on. |
||
− | * [[Phone |
+ | * [[Phone number]]: Generates mnemonics for phone numbers. Actually written as a benchmark. |
+ | * [[Sudoku]]: Several Sudoku solvers |
||
+ | * [[Wc]]: A number of increasingly sophisticated wc -l programs, written as a benchmark. |
||
+ | * [[Anagrams]]: Short but efficient program that generates anagrams using Data.ByteString. |
||
+ | * [[Guess a random number]]: Simple 'guess the random number game', demonstrating IO, random numbers, and basic environment interaction (getArgs, exitWith, user interaction). |
||
+ | * [[Simple STM example]]: A really simple toy program illustrating [[Research_papers/Parallelism_and_concurrency#Software_transactional_memory|sofware transactional memory]] (STM). |
||
+ | * [[Background thread example]]: An example of sending work to background threads, using [[Research_papers/Parallelism_and_concurrency#Software_transactional_memory|software transational memory]] |
||
+ | * [[Simple unix tools]], one liner unix tools in Haskell |
||
+ | * [[Roll your own IRC bot]], build a small IRC bot, with a monad transformer |
||
+ | * [[Bowling]]: Examples based on scoring a game of bowling |
||
+ | * [[Santa]]: Solutions to the concurrent Santa puzzle |
||
+ | |||
+ | See also the [[Example_code|example code]] page. |
||
+ | |||
+ | [[Category:Code]] |
Latest revision as of 15:17, 6 February 2021
The Gallery is a repository of small programs. Each one should compile to a complete executable that does something, but also illustrates what a Haskell program actually looks like. Good Gallery examples should be well commented with a view to helping new programmers understand what is going on.
- Phone number: Generates mnemonics for phone numbers. Actually written as a benchmark.
- Sudoku: Several Sudoku solvers
- Wc: A number of increasingly sophisticated wc -l programs, written as a benchmark.
- Anagrams: Short but efficient program that generates anagrams using Data.ByteString.
- Guess a random number: Simple 'guess the random number game', demonstrating IO, random numbers, and basic environment interaction (getArgs, exitWith, user interaction).
- Simple STM example: A really simple toy program illustrating sofware transactional memory (STM).
- Background thread example: An example of sending work to background threads, using software transational memory
- Simple unix tools, one liner unix tools in Haskell
- Roll your own IRC bot, build a small IRC bot, with a monad transformer
- Bowling: Examples based on scoring a game of bowling
- Santa: Solutions to the concurrent Santa puzzle
See also the example code page.