poker-base: A library for core poker types

[ bsd3, library, poker ] [ Propose Tags ] [ Report a vulnerability ]

This package provides datatypes and support for poker computation in Haskell.

Usage

>>> import Poker
>>> Just h = mkHole (Card Ace Club) (Card Two Diamond)
>>> holeToShortTxt h
"Ac2d"

Please see the README on GitHub at https://github.com/santiweight/poker-base#readme for an overview.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0
Change log ChangeLog.md
Dependencies base (>=4.11 && <5), containers (>=0.5 && <0.7), generic-arbitrary (>=0.1 && <0.3), prettyprinter (>=1.6 && <1.8), QuickCheck (>=2.12 && <2.15), safe-money (>=0.9 && <0.10), text (>=0.11 && <1.3) [details]
Tested with ghc ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.1
License BSD-3-Clause
Copyright 2021 Santiago Weight
Author Santiago Weight
Maintainer santiago.weight@gmail.com
Category Poker
Home page https://github.com/santiweight/poker-base#readme
Bug tracker https://github.com/santiweight/poker-base/issues
Source repo head: git clone https://github.com/santiweight/poker-base
Uploaded by santiweight at 2021-10-23T02:39:00Z
Distributions
Downloads 173 total (2 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2021-10-23 [all 1 reports]

Readme for poker-base-0.1.0.0

[back to package description]

poker-base

Hackage Build Status

Description

poker-base provides datatypes and supporting infrastructure to handle poker computation. Once developed, the package intends to be industry-ready and provide capabilities that support poker websites, simulation, research and poker trainers and assistants.

Pull requests or suggestions (preferably created in an issue), are not just encouraged but highly requested! We are quick to respond to any help you might need :)

Usage

-- >>> import Poker
-- >>> Just h = mkHole (Card Ace Club) (Card Two Diamond)
-- >>> holeToShortTxt h
-- "Ac2d"

Goal

To become Haskell's core de facto library for poker applications. We are working on this library so that your poker work can use poker-base, and its children packages, seamlessly.

Some principles that this library aims to uphold:

  • Targeted at intermediate Haskellers. This package will not shy away from using Haskell features that we deem right-for-the-job. However, we also make an effort to make poker-base's API usable for the intermediate Haskeller.
  • Thin around the waist. This library aims to contain only such datatypes and functionality that are uncontroversial (~90% agree). If a datatype or API would be incompatible with some people's needs, then that functionality will not be included poker-base.
  • 100% test coverage/documentation!
  • Fast. This library is intended to be fast. However, note that API usability will come over speed always. Thankfully, Haskell has features such as newtype and PatternSynonyms which we use to hide implementation details.

Libraries based on poker-base

  • poker-game: a library for the rules of no-limit poker (not just holdem)
  • poker-histories: a library for parsing poker site hand histories. Currently supports PokerStars and Bovada.
  • poker-ai: an experimental platform for researching poker strategy and intelligence.
  • Various other private repos. If you are interested - please drop a line to the authors :)

Contributing

See Contributing.md for guidelines.

Resources

See Resources.md for help regarding the rules of poker and resources for implementing poker applications.