The best chess engine written in Haskell

Discussion of anything and everything relating to chess playing software and machines.

Moderators: hgm, Rebel, chrisw

User avatar
Sylwy
Posts: 4468
Joined: Fri Apr 21, 2006 4:19 pm
Location: IASI - the historical capital of MOLDOVA
Full name: SilvianR

The best chess engine written in Haskell

Post by Sylwy »

Hi !

Just now I did a very short test of Abulafia 0.61 JA a chess engine written in Haskell by Mr. Nicu Ionita ( an Austrian with a Romanian name :lol: - something like Mr. Vlad Stamate and his Plisk; à propos, does anybody know what means "plisc" in Romanian ? :lol: ).
Currently Abulafia is the best chess engine programmed in Haskell. And I have five.
Below is a nice mate in his short match versus Project Invincible 2.02. From now it's qualified in my Junior League !

Image

Bravo Nicu ! Imi place grozav programul tau. Daca esti interesat iti pot transmite observatiile mele !

Cu stima,

SilvianR :wink:
carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Re: The best chess engine written in Haskell

Post by carldaman »

Hi Ruxy,

How were you able to load Project Invincible into Arena? When I installed it, it launched in a separate 3D window. :-(

Thanks,
Carl
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: The best chess engine written in Haskell

Post by lucasart »

It's probably the *only* chess engine written in Haskell. Writing a chess engine in a purely functional language like Haskell is folly...

And I know about these weird functional languages, as I did a course on Caml during my studies: these languages are a pure product of intellectual masturbation, typically adapted for very complex theoretical situations, but hardly suited to solving real world simple problems (they are the weapon of choice of research folks, not engineers).
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
User avatar
lucasart
Posts: 3232
Joined: Mon May 31, 2010 1:29 pm
Full name: lucasart

Re: The best chess engine written in Haskell

Post by lucasart »

lucasart wrote:It's probably the *only* chess engine written in Haskell. Writing a chess engine in a purely functional language like Haskell is folly...

And I know about these weird functional languages, as I did a course on Caml during my studies: these languages are a pure product of intellectual masturbation, typically adapted for very complex theoretical situations, but hardly suited to solving real world simple problems (they are the weapon of choice of research folks, not engineers).
What I meant to say is that writing a chess engine in a functional language, is a real mind twisting excercise. It's quite an achievement in itself.
Theory and practice sometimes clash. And when that happens, theory loses. Every single time.
User avatar
Sylwy
Posts: 4468
Joined: Fri Apr 21, 2006 4:19 pm
Location: IASI - the historical capital of MOLDOVA
Full name: SilvianR

Re: The response no.1

Post by Sylwy »

carldaman wrote:Hi Ruxy,

How were you able to load Project Invincible into Arena? When I installed it, it launched in a separate 3D window. :-(

Thanks,
Carl
Hello Carl !

In Arena 3.0 GUI:

Engines (Menu)- Engine Management - Details (select please Project Invincible engine) - write in the box "Command Line Parameters" the argument :

--xboard

then push "Apply" and "OK" buttons.

That's all !

Have a nice weekend !

SilvianR :wink:
User avatar
Sylwy
Posts: 4468
Joined: Fri Apr 21, 2006 4:19 pm
Location: IASI - the historical capital of MOLDOVA
Full name: SilvianR

Re: The response no.2

Post by Sylwy »

lucasart wrote:It's probably the *only* chess engine written in Haskell. Writing a chess engine in a purely functional language like Haskell is folly...

Hi Lucas !

Two other chess engines written in Haskell are publicly available:

1.- Fianchetto (from 2005 year) of Mr.Bryn Humberstone . Some details and download:

http://bryn.humberstone.id.au/programs/fianchetto/

If you want also the Haskell source code use - please - this link:

http://computer-chess.org/doku.php?id=c ... etto:index

2.- Haskak 0.1 of Mr.Karol M Stasiak. You can download this chess engine from here:

http://jimablett.atwebpages.com/

I have also two other working compilations not publicly available.

If you are interested here is a nice source code of a chess engine writted in Haskell (Haskell Chess of Mr.Steffen Mazanek /Germany):

http://www.steffen-mazanek.de/dateien/p ... sChess.zip

They are also some nice Haskell chess projects on the web.

Have a nice weekend !

SilvianR :wink:
IanO
Posts: 496
Joined: Wed Mar 08, 2006 9:45 pm
Location: Portland, OR

Re: The best chess engine written in Haskell

Post by IanO »

lucasart wrote:It's probably the *only* chess engine written in Haskell. Writing a chess engine in a purely functional language like Haskell is folly...

And I know about these weird functional languages, as I did a course on Caml during my studies: these languages are a pure product of intellectual masturbation, typically adapted for very complex theoretical situations, but hardly suited to solving real world simple problems (they are the weapon of choice of research folks, not engineers).
Sad but true. Especially considering that chess minimax search was used as an example problem in the seminal paper "Why Functional Programming Matters" (using Haskell's precursor Miranda). Functional languages are great for expressing chess algorithms, but none are built for speed. One would think there would be more effort to make provably correct programs (one of FP's strengths) for the embedded arena.

It is also sad to note that even the strongest Haskell program of the five available still doesn't play legal chess (can't do en-passant).

I wonder if there is a stronger ML-based chess program available? (ML, Caml, OCaml, or F#)
User avatar
Sylwy
Posts: 4468
Joined: Fri Apr 21, 2006 4:19 pm
Location: IASI - the historical capital of MOLDOVA
Full name: SilvianR

Re: O'Caml

Post by Sylwy »

IanO wrote: I wonder if there is a stronger ML-based chess program available? (ML, Caml, OCaml, or F#)
http://www.olegtrott.com/chess/

Plays a perfectly legal chess . Not a strong engine, but not only a moves generator.

SilvianR :wink:
carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Re: The response no.1

Post by carldaman »

Thanks, Ruxy, for the tip, I tried that but no luck. The separate window still pops up, and it won't run in Arena.

The same happens with Chenard, by the way, a very interesting new engine, with a hypermodern style, with a better looking native board than Project Invincible.

No idea what I might be doing wrong here. I have Arena 3.0, and a win64 Win 7 system.

Regards,
Carl


Sylwy wrote:
carldaman wrote:Hi Ruxy,

How were you able to load Project Invincible into Arena? When I installed it, it launched in a separate 3D window. :-(

Thanks,
Carl
Hello Carl !

In Arena 3.0 GUI:

Engines (Menu)- Engine Management - Details (select please Project Invincible engine) - write in the box "Command Line Parameters" the argument :

--xboard

then push "Apply" and "OK" buttons.

That's all !

Have a nice weekend !

SilvianR :wink:
:cry:
carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Re: The response no.1 (got it!)

Post by carldaman »

Update: I realized what I was doing wrong. One must type --xboard, (not -xboard, with one dash) in the command line field for it to work. One extra character makes a world of difference :oops:

As for Chenard, it turns out there is a winboard-compatible version as well. The link is http://cosinekitty.com/chenard/

Now running a match between PI and Chenard :)

Regards,
CL
carldaman wrote:Thanks, Ruxy, for the tip, I tried that but no luck. The separate window still pops up, and it won't run in Arena.

The same happens with Chenard, by the way, a very interesting new engine, with a hypermodern style, with a better looking native board than Project Invincible.

No idea what I might be doing wrong here. I have Arena 3.0, and a win64 Win 7 system.

Regards,
Carl


Sylwy wrote:
carldaman wrote:Hi Ruxy,

How were you able to load Project Invincible into Arena? When I installed it, it launched in a separate 3D window. :-(

Thanks,
Carl
Hello Carl !

In Arena 3.0 GUI:

Engines (Menu)- Engine Management - Details (select please Project Invincible engine) - write in the box "Command Line Parameters" the argument :

--xboard

then push "Apply" and "OK" buttons.

That's all !

Have a nice weekend !

SilvianR :wink:
:cry:
:oops: :oops: :oops: