Personal tools

H-99: Ninety-Nine Haskell Problems

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(no solution yet for P92)
(all haskell solutions have been added)
 
(23 intermediate revisions by 10 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]]: Lists
 
* [[99_questions/1_to_10|Questions 1 to 10]]: Lists
Line 19: Line 19:
 
* [[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
   
(Though the problems number from 1 to 99, there are some gaps and some additions marked with letters.
+
(Though the problems number from 1 to 99, there are some gaps and some additions marked with letters. There are actually only 88 problems.)
There are actually only 88 problems.)
 
   
== Scoreboard ==
+
== Solutions ==
   
{| class="wikitable" style="text-align:center"
+
Known solutions are listed at [[99 questions/Solutions]]. Some of those we have could do with cleaning up or additional solutions.
|+Scoreboard
+
|-
+
== References ==
! Problem !! Lisp solution? !! Haskell Solution?
+
|-
+
* [https://prof.ti.bfh.ch/hew1/informatik3/prolog/p-99/ P-99: Ninety-Nine Prolog Problems] contains Prolog solutions to all the problems.
! 1
+
* [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.
! 2
 
| Yes || Yes
 
|-
 
! 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 || Yes
 
|-
 
! 36
 
| No || Yes
 
|-
 
! 37
 
| No || Yes
 
|-
 
! 38
 
| n/a || n/a
 
|-
 
! 39
 
| No || Yes
 
|-
 
! 40
 
| No || Yes
 
|-
 
! 41
 
| No || Yes
 
|-
 
! 46
 
| No || Yes
 
|-
 
! 47
 
| No || Yes
 
|-
 
! 48
 
| No || Yes
 
|-
 
! 49
 
| No || Yes
 
|-
 
! 50
 
| No || Yes
 
|-
 
! 54A
 
| No || Yes
 
|-
 
! 55
 
| No || Yes
 
|-
 
! 56
 
| No || Yes
 
|-
 
! 57
 
| No || Yes
 
|-
 
! 58
 
| No || Yes
 
|-
 
! 59
 
| No || No
 
|-
 
! 60
 
| No || No
 
|-
 
! 61
 
| No || Yes
 
|-
 
! 61A
 
| No || Yes
 
|-
 
! 62
 
| No || Yes
 
|-
 
! 62B
 
| No || Yes
 
|-
 
! 63
 
| No || No
 
|-
 
! 64
 
| No || Yes
 
|-
 
! 65
 
| No || Yes
 
|-
 
! 66
 
| No || Yes
 
|-
 
! 67
 
| No || No
 
|-
 
! 68
 
| No || No
 
|-
 
! 69
 
| No || No
 
|-
 
! 70B
 
| No || n/a
 
|-
 
! 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 || Yes
 
|-
 
! 91
 
| No || Yes
 
|-
 
! 92
 
| No || No
 
|-
 
! 93
 
| No || Yes
 
|-
 
! 94
 
| No || No
 
|-
 
! 95
 
| No || Yes
 
|-
 
! 96
 
| No || Yes
 
|-
 
! 97
 
| No || Yes
 
|-
 
! 98
 
| No || No
 
|-
 
! 99
 
| No || Yes
 
|}
 
   
 
[[Category:Tutorials]]
 
[[Category:Tutorials]]
  +
[[Category:Code]]

Latest revision as of 20:39, 22 November 2013


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!

[edit] 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.)

[edit] 2 Solutions

Known solutions are listed at 99 questions/Solutions. Some of those we have could do with cleaning up or additional solutions.

[edit] 3 References