Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Chess programming and lisp

Author: James Swafford

Date: 08:49:03 01/21/06

Go up one level in this thread


On January 21, 2006 at 02:02:25, Dann Corbit wrote:

>On January 21, 2006 at 00:47:09, Joshua Shriver wrote:
>
>>Anyone know of any examples of a chess engine written in lisp.
>
>Symbolic, by Steven J. Edwards is a Lisp/C++ hybrid
>
>http://cvs.sourceforge.net/viewcvs.py/clocc/clocc/src/games/cil/cil.lisp?rev=1.2
>http://www.cs.technion.ac.il/~shaulm/software/alpha-beta.lisp
>http://www.cs.technion.ac.il/~shaulm/software/alpha-beta-m.lisp
>http://www-cgi.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/code/search/minimax/minimax.cl
>http://www.cs.berkeley.edu/~wilensky/cs188/assignments/assign2/solutions/alpha-beta-ordering.lisp
>http://www.cse.msu.edu/~bowronch/FILES/bce-lisp.tar.gz
>
>
>See also:
>http://www.md.chalmers.se/~rjmh/Papers/whyfp.ps
>http://www.md.chalmers.se/~rjmh/Papers/whyfp.pdf
>
>>Pro's Con's commentary is appreciated.
>
>Who wants a chess engine consisting almost entirely of parenthesis?

Surely you can do better than "the syntax sucks."  What about
an engine in Haskell?

Functional languages are more elegant IMO in that they allow you
to focus more on the meaning, and less on the method.  The resulting
programs are usually more elegant, shorter, and easier to read.
Also easier to get right the first time and to debug...

The biggest con (at least IMO) as far as chess programming goes is
that you have to focus more on the meaning and less on the method. :)
That is, chess programs are so computationally demanding that they
are sensitive to the slightest of tweaks to the "how" part.
With any functional language, you lose some control over how things
are evaluated (or if they are evaluated at all).

Another con: nobody wants to write an entire engine in a functional
style.  I don't think the model fits very well for chess engines.
I'd much rather write the framework in an imperative way (I like OO),
and possibly construct some algorithms here and there in a functional
style.

--
James






This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.