Personal tools

H-99: Ninety-Nine Haskell Problems

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(edit: scoreboard)
m (added reference to Ocaml solutions)
(39 intermediate revisions by 12 users not shown)
Line 2: Line 2:
   
 
These are Haskell translations of [http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html Ninety-Nine Lisp Problems],
 
These are Haskell translations of [http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html Ninety-Nine Lisp Problems],
which are themselves translations of [http://www.hta-bi.bfh.ch/~hew/informatik3/prolog/p-99/ Ninety-Nine Prolog Problems].
+
which are themselves translations of [https://prof.ti.bfh.ch/hew1/informatik3/prolog/p-99/ Ninety-Nine Prolog Problems].
   
If you want to work on one of these, put your name in the block so we know someone's working on it. Then, change n in your block to the appropriate problem number, and fill in the <Problem description>,<example in lisp>,<example in Haskell>,<solution in haskell> and <description of implementation> fields. Then be sure to update the scoreboard on this page to indicate that we have a solution!
+
If you want to work on one of these, put your name in the block so we know someone's working on it. Then, change n in your block to the appropriate problem number, and fill in the <Problem description>,<example in Haskell>,<solution in haskell> and <description of implementation> fields. Then be sure to update the status on this page to indicate that we have a solution!
   
 
== The problems ==
 
== The problems ==
   
These problems have been split into 10 parts, for ease of access.
+
These problems have been split into 11 parts, for ease of access.
   
* [[99_questions/1_to_10|Questions 1 to 10]]
+
* [[99_questions/1_to_10|Questions 1 to 10]]: Lists
* [[99_questions/11_to_20|Questions 11 to 20]]
+
* [[99_questions/11_to_20|Questions 11 to 20]]: Lists, continued
* [[99_questions/21_to_30|Questions 21 to 30]]
+
* [[99_questions/21_to_28|Questions 21 to 28]]: Lists again
* [[99_questions/31_to_40|Questions 31 to 40]]
+
* [[99_questions/31_to_41|Questions 31 to 41]]: Arithmetic
* [[99_questions/41_to_50|Questions 41 to 50]]
+
* [[99_questions/46_to_50|Questions 46 to 50]]: Logic and codes
* [[99_questions/51_to_60|Questions 51 to 60]]: Binary trees
+
* [[99_questions/54A_to_60|Questions 54A to 60]]: Binary trees
 
* [[99_questions/61_to_69|Questions 61 to 69]]: Binary trees, continued
 
* [[99_questions/61_to_69|Questions 61 to 69]]: Binary trees, continued
 
* [[99_questions/70B_to_73|Questions 70B to 73]]: Multiway trees
 
* [[99_questions/70B_to_73|Questions 70B to 73]]: Multiway trees
 
* [[99_questions/80_to_89|Questions 80 to 89]]: Graphs
 
* [[99_questions/80_to_89|Questions 80 to 89]]: Graphs
* [[99_questions/90_to_99|Questions 90 to 99]]: Miscellaneous problems
+
* [[99_questions/90_to_94|Questions 90 to 94]]: Miscellaneous problems
  +
* [[99_questions/95_to_99|Questions 95 to 99]]: Miscellaneous problems, continued
   
== Scoreboard ==
+
(Though the problems number from 1 to 99, there are some gaps and some additions marked with letters. There are actually only 88 problems.)
   
{| class="wikitable" style="text-align:center"
+
|+Scoreboard
+
== Solutions ==
|-
+
! Problem !! Lisp solution? !! Haskell Solution?
+
Known solutions are listed at [[99 questions/Solutions]]. We still lack Haskell solutions to problems 80,82,83,85,86 and 94. Please update this page if you find solutions to these. Some of those we have could do with cleaning up or additional solutions.
|-
+
! 1
+
== References ==
| Yes || Yes
+
|-
+
* [https://prof.ti.bfh.ch/hew1/informatik3/prolog/p-99/ P-99: Ninety-Nine Prolog Problems] contains Prolog solutions to all the problems.
! 2
+
* [http://www.ic.unicamp.br/~meidanis/courses/mc336/2006s2/funcional/L-99_Ninety-Nine_Lisp_Problems.html L-99: Ninety-Nine Lisp Problems] contains Lisp solutions to problems 1-11, 14, 15, 17 and 20-28.
| Yes || Yes
+
* [http://www.oreillynet.com/onlamp/blog/2006/12/99_problems_in_perl_6.html 99 Problems in Perl 6] has an increasing number of Perl 6 solutions (running on [http://www.pugscode.org/ Pugs]).
|-
+
* [http://www.christiankissig.de/cms/index.php/en/programming/28-ocaml/28-99-problems-in-ocaml 99 Problems in OCaml] contains Ocaml solutions to many problems.
! 3
 
| Yes || Yes
 
|-
 
! 4
 
| Yes || Yes
 
|-
 
! 5
 
| Yes || Yes
 
|-
 
! 6
 
| Yes || Yes
 
|-
 
! 7
 
| Yes || Yes
 
|-
 
! 8
 
| Yes || Yes
 
|-
 
! 9
 
| Yes || Yes
 
|-
 
! 10
 
| Yes || Yes
 
|-
 
! 11
 
| Yes || Yes
 
|-
 
! 12
 
| No || Yes
 
|-
 
! 13
 
| No || Yes
 
|-
 
! 14
 
| Yes || Yes
 
|-
 
! 15
 
| Yes || Yes
 
|-
 
! 16
 
| No || Yes
 
|-
 
! 17
 
| Yes || Yes
 
|-
 
! 18
 
| No || Yes
 
|-
 
! 19
 
| No || Yes
 
|-
 
! 20
 
| Yes || Yes
 
|-
 
! 21
 
| Yes || Yes
 
|-
 
! 22
 
| Yes || Yes
 
|-
 
! 23
 
| Yes || Yes
 
|-
 
! 24
 
| Yes || Yes
 
|-
 
! 25
 
| Yes || Yes
 
|-
 
! 26
 
| Yes || Yes
 
|-
 
! 27
 
| Yes || Yes
 
|-
 
! 28
 
| Yes || Yes
 
|-
 
! 31
 
| No || Yes
 
|-
 
! 32
 
| No || Yes
 
|-
 
! 33
 
| No || Yes
 
|-
 
! 34
 
| No || Yes
 
|-
 
! 35
 
| No || No
 
|-
 
! 36
 
| No || Yes
 
|-
 
! 37
 
| No || No
 
|-
 
! 38
 
| No || No
 
|-
 
! 39
 
| No || No
 
|-
 
! 40
 
| No || No
 
|-
 
! 41
 
| No || No
 
|-
 
! 46
 
| No || No
 
|-
 
! 47
 
| No || No
 
|-
 
! 48
 
| No || No
 
|-
 
! 49
 
| No || Yes
 
|-
 
! 50
 
| No || No
 
|-
 
! 54A
 
| No || No
 
|-
 
! 55
 
| No || No
 
|-
 
! 56
 
| No || No
 
|-
 
! 57
 
| No || No
 
|-
 
! 58
 
| No || No
 
|-
 
! 59
 
| No || No
 
|-
 
! 60
 
| No || No
 
|-
 
! 61
 
| No || No
 
|-
 
! 61A
 
| No || No
 
|-
 
! 62
 
| No || No
 
|-
 
! 62B
 
| No || No
 
|-
 
! 63
 
| No || No
 
|-
 
! 64
 
| No || No
 
|-
 
! 65
 
| No || No
 
|-
 
! 66
 
| No || No
 
|-
 
! 67
 
| No || No
 
|-
 
! 68
 
| No || No
 
|-
 
! 69
 
| No || No
 
|-
 
! 70B
 
| No || Yes
 
|-
 
! 70C
 
| No || Yes
 
|-
 
! 70
 
| No || Yes
 
|-
 
! 71
 
| No || Yes
 
|-
 
! 72
 
| No || Yes
 
|-
 
! 73
 
| No || Yes
 
|-
 
! 80
 
| No || No
 
|-
 
! 81
 
| No || No
 
|-
 
! 82
 
| No || No
 
|-
 
! 83
 
| No || No
 
|-
 
! 84
 
| No || No
 
|-
 
! 85
 
| No || No
 
|-
 
! 86
 
| No || No
 
|-
 
! 87
 
| No || No
 
|-
 
! 88
 
| No || No
 
|-
 
! 89
 
| No || No
 
|-
 
! 90
 
| No || No
 
|-
 
! 91
 
| No || No
 
|-
 
! 92
 
| No || No
 
|-
 
! 93
 
| No || No
 
|-
 
! 94
 
| No || No
 
|-
 
! 95
 
| No || No
 
|-
 
! 96
 
| No || No
 
|-
 
! 97
 
| No || No
 
|-
 
! 98
 
| No || No
 
|-
 
! 99
 
| No || No
 
|}
 
   
 
[[Category:Tutorials]]
 
[[Category:Tutorials]]
  +
[[Category:Code]]

Revision as of 11:17, 27 March 2011


These are Haskell translations of Ninety-Nine Lisp Problems, which are themselves translations of Ninety-Nine Prolog Problems.

If you want to work on one of these, put your name in the block so we know someone's working on it. Then, change n in your block to the appropriate problem number, and fill in the <Problem description>,<example in Haskell>,<solution in haskell> and <description of implementation> fields. Then be sure to update the status on this page to indicate that we have a solution!

1 The problems

These problems have been split into 11 parts, for ease of access.

(Though the problems number from 1 to 99, there are some gaps and some additions marked with letters. There are actually only 88 problems.)


2 Solutions

Known solutions are listed at 99 questions/Solutions. We still lack Haskell solutions to problems 80,82,83,85,86 and 94. Please update this page if you find solutions to these. Some of those we have could do with cleaning up or additional solutions.

3 References