[Haskell-cafe] Wumpus World
Richard A. O'Keefe
ok at cs.otago.ac.nz
Thu Mar 27 20:59:17 EDT 2008
On 27 Mar 2008, at 8:25 pm, Robert Wills wrote:
> This might also be relevant:
But note that the Prolog code that they compared against was, um,
let's put this kindly, seriously naive. For example,
(a) it has 36 SLOC. You can do it naturally in 20.
(b) it has 8 predicates. You can do it naturally in 4.
(c) it does lots of list munching, and that inefficiently.
You can do it much more naturally with the only list being the
Indeed, a very minor rewrite from the natural code gives you a
program where NO heap storage is allocated except the list of
(d) It generates candidate solutions and then rejects ones that take too
long. It is easier and more natural to reject over-time paths
extending them to solutions, so the Prolog code they used for
comparison is *structurally* inefficient.
30 years ago people were writing papers showing that Lisp was better
very badly written Prolog. Now they are writing papers showing that
is better than very badly written Prolog. How things have changed!
Also note that the paper says
"The most important feature of Haskell that supports
[the impression that Haskell is good at this kind of
is the availability of multi-parameter type classes..."
and that Haskell 98 had no multi-parameter type classes, which are
a pretty advanced part of the language for beginners to understand.
More information about the Haskell-Cafe