Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lichess-org/scalachess
Chess API written in scala. Immutable and free of side effects.
https://github.com/lichess-org/scalachess
bitboard bitboard-datastructure chess functional-programming lichess scala-3
Last synced: 7 days ago
JSON representation
Chess API written in scala. Immutable and free of side effects.
- Host: GitHub
- URL: https://github.com/lichess-org/scalachess
- Owner: lichess-org
- License: mit
- Created: 2012-05-16T19:22:34.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2024-05-18T00:12:22.000Z (7 months ago)
- Last Synced: 2024-05-18T01:24:07.299Z (7 months ago)
- Topics: bitboard, bitboard-datastructure, chess, functional-programming, lichess, scala-3
- Language: Scala
- Homepage: https://lichess.org
- Size: 6.88 MB
- Stars: 622
- Watchers: 33
- Forks: 199
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
[![Continuous Integration](https://github.com/ornicar/scalachess/actions/workflows/ci.yml/badge.svg)](https://github.com/ornicar/scalachess/actions/workflows/ci.yml)
Chess API written in scala for [lichess.org](https://lichess.org)
It is entirely functional, immutable, and free of side effects.
INSTALL
-------Clone scalachess
git clone https://github.com/lichess-org/scalachess
Start [sbt](http://www.scala-sbt.org/download.html) in scalachess directory
sbt
In the sbt shell, to compile scalachess, run
compile
To run the tests
testKit / test
To run benchmarks (takes more than 1 hour to finish):
bench / Jmh / run
Or to output a json file
bench / Jmh / run -rf json
To run quick benchmarks (results may be inaccurate):
bench / Jmh / run -i 1 -wi 1 -f1 -t1
To run benchmarks for a specific class:
bench / Jmh / run -rf json .*PlayBench.*
To run [scalafmt](https://scalameta.org/scalafmt/docs/installation.html) and [scalafix](https://scalacenter.github.io/scalafix):
sbt prepare
Install (python)
-------
For python code, [install pipenv](https://pipenv.pypa.io/en/latest/installation.html#installing-pipenv), and run `$ pipenv install` from project root.