package odds
Install
Dune Dependency
Authors
Maintainers
Sources
md5=17fb0a345940e7386c6fa3be25257cf3
sha256=1ff1811686f83a278739761bc016ff2ef255385226a77ca00eb9276831755950
sha512=05317be9d6ecc613afb9ec6c702da2869f8e73b24bf2568087f3ae8c02454b14a105b4e10248d48803631abf8ddf60f2931931e704adf5f7631e41184848474b
Description
README
Odds — OCaml Dice Dice Something
%%VERSION%%
Odds is an OCaml library for rolling dice. It features deterministic dice rolls and it uses effects in order to leave all PRNG choices to the binary/main rather than embedding it in the library code.
Installation
Odds can be installed with opam
:
opam install odds
Structure
Odds.Dice
contains basic definitions for dice rolling. The code exported by this module only ever perform theOdds.Dice.Roll
effect and no other side-effect. In particular it does not handle PNRG state: instead, the caller ofeval
is responsible for installing an effect handler forRoll
.roll
is an implementation of a simple dice-roller using theOdds
library. It is mostly intended to be used as an example for how to useOdds. In particular, how to handle the
Roll` effect.tests/
contains tests for the parser (Odds.Parser
,Odds.Lexer
) and the roller (Odds.Dice.eval
function). This latter test only checks that the evaluation of a formula performs the expectedRoll
effects, it does not make any assertion on the actual result.
Documentation
To generate the documentation, use dune build @doc
To consult online documentation, visit https://raphael-proust.github.io/code/odds/index.html