MyNixOS website logo
Description

A library for core poker types.

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.

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.

Metadata

Version

0.1.0.0

Platforms (75)

    Darwin
    FreeBSD
    Genode
    GHCJS
    Linux
    MMIXware
    NetBSD
    none
    OpenBSD
    Redox
    Solaris
    WASI
    Windows
Show all
  • aarch64-darwin
  • aarch64-genode
  • aarch64-linux
  • aarch64-netbsd
  • aarch64-none
  • aarch64_be-none
  • arm-none
  • armv5tel-linux
  • armv6l-linux
  • armv6l-netbsd
  • armv6l-none
  • armv7a-darwin
  • armv7a-linux
  • armv7a-netbsd
  • armv7l-linux
  • armv7l-netbsd
  • avr-none
  • i686-cygwin
  • i686-darwin
  • i686-freebsd
  • i686-genode
  • i686-linux
  • i686-netbsd
  • i686-none
  • i686-openbsd
  • i686-windows
  • javascript-ghcjs
  • loongarch64-linux
  • m68k-linux
  • m68k-netbsd
  • m68k-none
  • microblaze-linux
  • microblaze-none
  • microblazeel-linux
  • microblazeel-none
  • mips-linux
  • mips-none
  • mips64-linux
  • mips64-none
  • mips64el-linux
  • mipsel-linux
  • mipsel-netbsd
  • mmix-mmixware
  • msp430-none
  • or1k-none
  • powerpc-netbsd
  • powerpc-none
  • powerpc64-linux
  • powerpc64le-linux
  • powerpcle-none
  • riscv32-linux
  • riscv32-netbsd
  • riscv32-none
  • riscv64-linux
  • riscv64-netbsd
  • riscv64-none
  • rx-none
  • s390-linux
  • s390-none
  • s390x-linux
  • s390x-none
  • vc4-none
  • wasm32-wasi
  • wasm64-wasi
  • x86_64-cygwin
  • x86_64-darwin
  • x86_64-freebsd
  • x86_64-genode
  • x86_64-linux
  • x86_64-netbsd
  • x86_64-none
  • x86_64-openbsd
  • x86_64-redox
  • x86_64-solaris
  • x86_64-windows