Delimiter development diary

Discussion of chess software programming and technical issues.

Moderators: hgm, Dann Corbit, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
shinkarom
Posts: 84
Joined: Tue Nov 19, 2019 12:26 pm
Full name: Roman Shynkarenko
Contact:

Delimiter development diary

Post by shinkarom » Fri Dec 18, 2020 6:26 pm

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: 84
Joined: Tue Nov 19, 2019 12:26 pm
Full name: Roman Shynkarenko
Contact:

Re: Delimiter development diary

Post by shinkarom » Fri Dec 18, 2020 6:27 pm

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

https://github.com/shinkarom/delimiterc ... b250120be3

shinkarom
Posts: 84
Joined: Tue Nov 19, 2019 12:26 pm
Full name: Roman Shynkarenko
Contact:

Re: Delimiter development diary

Post by shinkarom » Fri Dec 18, 2020 6:35 pm

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: 692
Joined: Sat Sep 08, 2018 3:37 pm
Location: Ukraine
Full name: Maksim Korzh
Contact:

Re: Delimiter development diary

Post by maksimKorzh » Sat Dec 19, 2020 11:11 am

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?
Bare minimum chess variants in vanilla JavaScript
https://maksimkorzh.github.io/bmcp-variants/

Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ

shinkarom
Posts: 84
Joined: Tue Nov 19, 2019 12:26 pm
Full name: Roman Shynkarenko
Contact:

Re: Delimiter development diary

Post by shinkarom » Sat Dec 19, 2020 12:18 pm

https://www.chessprogramming.org/Lime

It is licensed GPL.

By the way, my repository has its own forum.

shinkarom
Posts: 84
Joined: Tue Nov 19, 2019 12:26 pm
Full name: Roman Shynkarenko
Contact:

Re: Delimiter development diary

Post by shinkarom » Sat Dec 19, 2020 12:35 pm

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: 692
Joined: Sat Sep 08, 2018 3:37 pm
Location: Ukraine
Full name: Maksim Korzh
Contact:

Re: Delimiter development diary

Post by maksimKorzh » Sat Dec 19, 2020 3:05 pm

shinkarom wrote:
Sat Dec 19, 2020 12: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)
Bare minimum chess variants in vanilla JavaScript
https://maksimkorzh.github.io/bmcp-variants/

Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ

shinkarom
Posts: 84
Joined: Tue Nov 19, 2019 12:26 pm
Full name: Roman Shynkarenko
Contact:

Re: Delimiter development diary

Post by shinkarom » Sat Dec 19, 2020 3: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.

User avatar
maksimKorzh
Posts: 692
Joined: Sat Sep 08, 2018 3:37 pm
Location: Ukraine
Full name: Maksim Korzh
Contact:

Re: Delimiter development diary

Post by maksimKorzh » Sun Dec 20, 2020 12:13 am

shinkarom wrote:
Sat Dec 19, 2020 3: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.
Bare minimum chess variants in vanilla JavaScript
https://maksimkorzh.github.io/bmcp-variants/

Chess programming YouTube channel:
https://www.youtube.com/channel/UCB9-pr ... KKqDgXhsMQ

shinkarom
Posts: 84
Joined: Tue Nov 19, 2019 12:26 pm
Full name: Roman Shynkarenko
Contact:

Re: Delimiter development diary

Post by shinkarom » Sun Dec 20, 2020 12:29 pm

maksimKorzh wrote:
Sun Dec 20, 2020 12: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.

Post Reply