Delimiter development diary

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Delimiter development diary

Post by shinkarom »

I've started a new project. It's a port of Lime by Richard Allbert to D.
The repository is https://github.com/shinkarom/delimiterchess.
I will post here the updates to the development process.
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Delimiter development diary

Post by shinkarom »

So far I have created the project and turned off stdin and stdout buffering.

https://github.com/shinkarom/delimiterc ... b250120be3
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Delimiter development diary

Post by shinkarom »

It turned out I forgot to include some crucial files in the repository.
Note to self: "Git commit" should be called from the repository root.

https://github.com/shinkarom/delimiterc ... cb7c961c2c
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Delimiter development diary

Post by maksimKorzh »

Happy you're back to work.
I've never heard of Lime by Richard,
is it open source? Where did you get it???
Can you please share the source code of Lime?
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Delimiter development diary

Post by shinkarom »

https://www.chessprogramming.org/Lime

It is licensed GPL.

By the way, my repository has its own forum.
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Delimiter development diary

Post by shinkarom »

Converted Lime.h to defines.d
This file has basic constants and structure definitions. Right now my aim is to simply convert the code to make it compile; rewriting the code to D idioms will come later.
Quick tip: Multi-dimensional arrays are declared in D in a different way. What is int array[2][3] in C would be int[3][2] array in D.

https://github.com/shinkarom/delimiterc ... eb7ab39b14
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Delimiter development diary

Post by maksimKorzh »

shinkarom wrote: Sat Dec 19, 2020 1:18 pm https://www.chessprogramming.org/Lime

It is licensed GPL.

By the way, my repository has its own forum.
Where's your repo's own forum?
Also I'm just curious why do you consider a direct port instead reusing idea and wrapping them into your own implementation?
Despite the fact that I've read Vice's source coe countless number of times and probably know it by heart in some parts, still
I don't like some parts and consider them to be overcomplicated, e.g. having multiple addMove() functions for different move types.
Did you ever think of changing some patterns to fit your style of coding? (lifestyle)
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Delimiter development diary

Post by shinkarom »

My repo's forum is at https://github.com/shinkarom/delimiterchess/discussions . It's a new feature of GitHub.
Mussaurus did start as a direct port of VICE, but soon enough diverged. Right now I need to have a complete project under my belt. I plan to complete port of Lime, then fork it and develop the fork further under a different name.
D programmers don't have enough chess engines to work from. I figured having a simple base will make it easier for others to create their engines.
User avatar
maksimKorzh
Posts: 771
Joined: Sat Sep 08, 2018 5:37 pm
Location: Ukraine
Full name: Maksim Korzh

Re: Delimiter development diary

Post by maksimKorzh »

shinkarom wrote: Sat Dec 19, 2020 4:59 pm My repo's forum is at https://github.com/shinkarom/delimiterchess/discussions . It's a new feature of GitHub.
Mussaurus did start as a direct port of VICE, but soon enough diverged. Right now I need to have a complete project under my belt. I plan to complete port of Lime, then fork it and develop the fork further under a different name.
D programmers don't have enough chess engines to work from. I figured having a simple base will make it easier for others to create their engines.
Interesting. Are you doing D programming professionally? I mean as a daily job? Why D? Just curious.
shinkarom
Posts: 92
Joined: Tue Nov 19, 2019 1:26 pm
Full name: Roman Shynkarenko

Re: Delimiter development diary

Post by shinkarom »

maksimKorzh wrote: Sun Dec 20, 2020 1:13 am
I don't have a daily job. Health problems and all that. And if you'd seen my code, you wouldn't suspect me of coding professionally.
I use D because it's the closest thing to C++ with Cyrillic console input. It's a pity that my computer is too weak for Visual Studio, because C# would be the ideal choice.
Though D is nice too, only without GUI. Its syntax is not alien as C++ replacement, and it has a few good features, like UFCS.