Commit f7b79769 authored by Valentin Reis's avatar Valentin Reis
Browse files

Adds vendored documentation

parent 5f42c2bf
Pipeline #9243 failed
......@@ -9,3 +9,5 @@ result*
dhall-to-cabal
.ghc*
dist*
.build
.shake
......@@ -74,3 +74,18 @@ nix-build:
- kvm
- nix
script: nix-build -A hbandit --no-build-output
check-vendored-documentation:
stage: docs
tags:
- kvm
- nix
script:
- |
nix-shell dev/default.nix -A hack --run bash <<< '
echo "check: is vendored documentation up to date?"
cp -r doc/ doc2
./shake doc
diff -r doc doc2
'
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SPHINXPROJ = NRM
SOURCEDIR = .
BUILDDIR = .build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
# -*- coding: utf-8 -*-
#
# Configuration file for the Sphinx documentation builder.
#
# This file does only contain a selection of the most common options. For a
# full list see the documentation:
# http://www.sphinx-doc.org/en/master/config
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
# import os
# import sys
import subprocess
# -- Project information -----------------------------------------------------
project = u'HBandit'
copyright = u'2019, Argonne National Laboratory'
author = u'Argo team, Argonne National Laboratory'
# The short X.Y version
version = u''
# The full version, including alpha/beta/rc tags
release = u''
# -- General configuration ---------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#
# needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = []
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
# source_suffix = ['.rst', '.md']
source_suffix = '.rst'
# The master toctree document.
master_doc = 'index'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path .
exclude_patterns = [u'.build', 'Thumbs.db', '.DS_Store']
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = 'sphinx'
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'alabaster'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
# html_theme_options = {}
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static', 'hbandit']
# Custom sidebar templates, must be a dictionary that maps document names
# to template names.
#
# The default sidebars (for documents that don't match any pattern) are
# defined by theme itself. Builtin themes are using these templates by
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
# 'searchbox.html']``.
#
# html_sidebars = {}
# -- Options for HTMLHelp output ---------------------------------------------
# Output file base name for HTML help builder.
htmlhelp_basename = 'HBanditDoc'
# -- Options for LaTeX output ------------------------------------------------
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
#
# 'papersize': 'letterpaper',
# The font size ('10pt', '11pt' or '12pt').
#
# 'pointsize': '10pt',
# Additional stuff for the LaTeX preamble.
#
# 'preamble': '',
# Latex figure (float) alignment
#
# 'figure_align': 'htbp',
}
# Grouping the document tree into LaTeX files. List of tuples
# (source start file, target name, title,
# author, documentclass [howto, manual, or own class]).
latex_documents = [
(master_doc, 'HBandit.tex', u'HBandit Documentation',
u'ANL', 'manual'),
]
# -- Options for manual page output ------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, 'hbandit', u'HBandit Documentation',
[author], 1)
]
# -- Options for Texinfo output ----------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, 'HBandit', u'HBandit Documentation',
author, 'HBandit', 'Haskell Bandit Algorithms.',
'Miscellaneous'),
]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>FFI.TypeUncurry.DataKinds</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/FFI.TypeUncurry.DataKinds.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hbandit</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Copyright (c) 2018 Niklas Hamb&#252;chen.</td></tr><tr><th>License</th><td>MIT License.</td></tr><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">FFI.TypeUncurry.DataKinds</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>MessagePack FFI code adapted from call-haskell-from-anything</p></div></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><span class="keyword">data</span> <a href="#t:TypeList">TypeList</a> l <span class="keyword">where</span><ul class="subs"><li><a href="#v:Nil">Nil</a> :: <a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> '[]</li><li><a href="#v::::">(:::)</a> :: a -&gt; <a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l -&gt; <a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> (a ': l)</li></ul></li><li class="src short"><span class="keyword">class</span> <a href="#t:ParamLength">ParamLength</a> (l :: [*]) <span class="keyword">where</span><ul class="subs"><li><a href="#v:paramLength">paramLength</a> :: <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Proxy.html#t:Proxy" title="Data.Proxy">Proxy</a> l -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Int.html#t:Int" title="Data.Int">Int</a></li></ul></li><li class="src short"><span class="keyword">class</span> (Param f ~ l, Result f ~ r) =&gt; <a href="#t:ToTypeList">ToTypeList</a> f l r <span class="keyword">where</span><ul class="subs"><li><a href="#v:translate">translate</a> :: f -&gt; <a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l -&gt; r</li></ul></li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">data</span> <a id="t:TypeList" class="def">TypeList</a> l <span class="keyword">where</span> <a href="src/FFI.TypeUncurry.DataKinds.html#TypeList" class="link">Source</a> <a href="#t:TypeList" class="selflink">#</a></p><div class="doc"><p>Type-level list that can contain arbitrarily mixed types.</p><p>Example:</p><pre>1 ::: &quot;hello&quot; ::: 2.3 :: TypeList '[Int, String, Double]</pre></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a id="v:Nil" class="def">Nil</a> :: <a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> '[]</td><td class="doc empty">&nbsp;</td></tr><tr><td class="src"><a id="v::::" class="def">(:::)</a> :: a -&gt; <a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l -&gt; <a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> (a ': l) <span class="fixity">infixr 9</span><span class="rightedge"></span></td><td class="doc empty">&nbsp;</td></tr></table></div><div class="subs instances"><details id="i:TypeList" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:id:TypeList:MessagePack:1"></span> (<a href="FFI-TypeUncurry-Msgpack.html#t:MessagePackRec" title="FFI.TypeUncurry.Msgpack">MessagePackRec</a> l, <a href="FFI-TypeUncurry-DataKinds.html#t:ParamLength" title="FFI.TypeUncurry.DataKinds">ParamLength</a> l) =&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a> (<a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l)</span> <a href="src/FFI.TypeUncurry.Msgpack.html#line-69" class="link">Source</a> <a href="#t:MessagePack" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:id:TypeList:MessagePack:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="FFI-TypeUncurry-Msgpack.html">FFI.TypeUncurry.Msgpack</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toObject">toObject</a> :: <a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l -&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> <a href="#v:toObject" class="selflink">#</a></p><p class="src"><a href="#v:fromObject">fromObject</a> :: (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> m, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m) =&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> -&gt; m (<a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l) <a href="#v:fromObject" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:ParamLength" class="def">ParamLength</a> (l :: [*]) <span class="keyword">where</span> <a href="src/FFI.TypeUncurry.DataKinds.html#ParamLength" class="link">Source</a> <a href="#t:ParamLength" class="selflink">#</a></p><div class="doc"><p>Allows to calculate the length of a <code><a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a></code>, at compile time.</p><p>We need to use a <code><a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Proxy.html#t:Proxy" title="Data.Proxy">Proxy</a></code> for this.</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:paramLength" class="def">paramLength</a> :: <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Proxy.html#t:Proxy" title="Data.Proxy">Proxy</a> l -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="src/FFI.TypeUncurry.DataKinds.html#paramLength" class="link">Source</a> <a href="#v:paramLength" class="selflink">#</a></p><div class="doc"><p>Calculates the length of a type list, put into a proxy. Usage:</p><pre>paramLength (Proxy :: Proxy l)</pre></div></div><div class="subs instances"><details id="i:ParamLength" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:ParamLength:ParamLength:1"></span> <a href="FFI-TypeUncurry-DataKinds.html#t:ParamLength" title="FFI.TypeUncurry.DataKinds">ParamLength</a> ([] :: [<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Kind.html#t:Type" title="Data.Kind">Type</a>])</span> <a href="src/FFI.TypeUncurry.DataKinds.html#line-103" class="link">Source</a> <a href="#t:ParamLength" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:ic:ParamLength:ParamLength:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="FFI-TypeUncurry-DataKinds.html">FFI.TypeUncurry.DataKinds</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:paramLength">paramLength</a> :: <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Proxy.html#t:Proxy" title="Data.Proxy">Proxy</a> [] -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="src/FFI.TypeUncurry.DataKinds.html#paramLength" class="link">Source</a> <a href="#v:paramLength" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:ParamLength:ParamLength:2"></span> <a href="FFI-TypeUncurry-DataKinds.html#t:ParamLength" title="FFI.TypeUncurry.DataKinds">ParamLength</a> l =&gt; <a href="FFI-TypeUncurry-DataKinds.html#t:ParamLength" title="FFI.TypeUncurry.DataKinds">ParamLength</a> (a ': l)</span> <a href="src/FFI.TypeUncurry.DataKinds.html#line-106" class="link">Source</a> <a href="#t:ParamLength" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:ic:ParamLength:ParamLength:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="FFI-TypeUncurry-DataKinds.html">FFI.TypeUncurry.DataKinds</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:paramLength">paramLength</a> :: <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Proxy.html#t:Proxy" title="Data.Proxy">Proxy</a> (a ': l) -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Int.html#t:Int" title="Data.Int">Int</a> <a href="src/FFI.TypeUncurry.DataKinds.html#paramLength" class="link">Source</a> <a href="#v:paramLength" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><span class="keyword">class</span> (Param f ~ l, Result f ~ r) =&gt; <a id="t:ToTypeList" class="def">ToTypeList</a> f l r <span class="keyword">where</span> <a href="src/FFI.TypeUncurry.DataKinds.html#ToTypeList" class="link">Source</a> <a href="#t:ToTypeList" class="selflink">#</a></p><div class="doc"><p>Function f can be translated to <code><a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a></code> l with result type r.</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:translate" class="def">translate</a> :: f -&gt; <a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l -&gt; r <a href="src/FFI.TypeUncurry.DataKinds.html#translate" class="link">Source</a> <a href="#v:translate" class="selflink">#</a></p><div class="doc"><p>Translates a function taking multiple arguments to a function
taking a single <code><a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a></code> containing the types of all arguments.</p><p>Example: <code>t1 -&gt; ... -&gt; tn -&gt; r</code> becomes <code>TypeList [t1, ..., tn] -&gt; r</code>.</p></div></div><div class="subs instances"><details id="i:ToTypeList" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:ToTypeList:ToTypeList:1"></span> (Param f ~ ([] :: [<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Kind.html#t:Type" title="Data.Kind">Type</a>]), Result f ~ r, f ~ r) =&gt; <a href="FFI-TypeUncurry-DataKinds.html#t:ToTypeList" title="FFI.TypeUncurry.DataKinds">ToTypeList</a> f ([] :: [<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Kind.html#t:Type" title="Data.Kind">Type</a>]) r</span> <a href="src/FFI.TypeUncurry.DataKinds.html#line-77" class="link">Source</a> <a href="#t:ToTypeList" class="selflink">#</a></td><td class="doc"><p>Base case: A value <code>r</code> can be translated to <code>TypeList Nil -&gt; r</code>.</p></td></tr><tr><td colspan="2"><details id="i:ic:ToTypeList:ToTypeList:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="FFI-TypeUncurry-DataKinds.html">FFI.TypeUncurry.DataKinds</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:translate">translate</a> :: f -&gt; <a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> [] -&gt; r <a href="src/FFI.TypeUncurry.DataKinds.html#translate" class="link">Source</a> <a href="#v:translate" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:ToTypeList:ToTypeList:2"></span> <a href="FFI-TypeUncurry-DataKinds.html#t:ToTypeList" title="FFI.TypeUncurry.DataKinds">ToTypeList</a> f l r =&gt; <a href="FFI-TypeUncurry-DataKinds.html#t:ToTypeList" title="FFI.TypeUncurry.DataKinds">ToTypeList</a> (a -&gt; f) (a ': l) r</span> <a href="src/FFI.TypeUncurry.DataKinds.html#line-73" class="link">Source</a> <a href="#t:ToTypeList" class="selflink">#</a></td><td class="doc"><p>Base case: A &quot;pure&quot; function without arguments
can be translated to <code>TypeList Nil -&gt; r</code>.</p></td></tr><tr><td colspan="2"><details id="i:ic:ToTypeList:ToTypeList:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="FFI-TypeUncurry-DataKinds.html">FFI.TypeUncurry.DataKinds</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:translate">translate</a> :: (a -&gt; f) -&gt; <a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> (a ': l) -&gt; r <a href="src/FFI.TypeUncurry.DataKinds.html#translate" class="link">Source</a> <a href="#v:translate" class="selflink">#</a></p></div></details></td></tr></table></details></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.22.0</p></div></body></html>
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>FFI.TypeUncurry.Msgpack</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/FFI.TypeUncurry.Msgpack.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hbandit</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Copyright (c) 2018 Niklas Hamb&#252;chen.</td></tr><tr><th>License</th><td>MIT License.</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">FFI.TypeUncurry.Msgpack</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#section.orphans">Orphan instances</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc"><p>MessagePack FFI code adapted from call-haskell-from-anything</p></div></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><span class="keyword">class</span> <a href="#t:MessagePackRec">MessagePackRec</a> l <span class="keyword">where</span><ul class="subs"><li><a href="#v:fromObjectRec">fromObjectRec</a> :: <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m =&gt; [<a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a>] -&gt; m (<a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l)</li></ul></li><li class="src short"><a href="#v:getTypeListFromMsgpackArray">getTypeListFromMsgpackArray</a> :: <span class="keyword">forall</span> m l. (<a href="FFI-TypeUncurry-Msgpack.html#t:MessagePackRec" title="FFI.TypeUncurry.Msgpack">MessagePackRec</a> l, <a href="FFI-TypeUncurry-DataKinds.html#t:ParamLength" title="FFI.TypeUncurry.DataKinds">ParamLength</a> l, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m) =&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> -&gt; m (<a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l)</li><li class="src short"><a href="#v:byteStringToCStringFunIO">byteStringToCStringFunIO</a> :: (<a href="&quot;https://hackage.haskell.org/package/\bytestring-\0.10.8.2/docs&quot;/Data-ByteString.html#t:ByteString" title="Data.ByteString">ByteString</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/System-IO.html#t:IO" title="System.IO">IO</a> <a href="&quot;https://hackage.haskell.org/package/\bytestring-\0.10.8.2/docs&quot;/Data-ByteString.html#t:ByteString" title="Data.ByteString">ByteString</a>) -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Foreign-C-String.html#t:CString" title="Foreign.C.String">CString</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/System-IO.html#t:IO" title="System.IO">IO</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Foreign-C-String.html#t:CString" title="Foreign.C.String">CString</a></li><li class="src short"><a href="#v:exportIO">exportIO</a> :: (<a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a> (<a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l), <a href="FFI-TypeUncurry-DataKinds.html#t:ToTypeList" title="FFI.TypeUncurry.DataKinds">ToTypeList</a> f l (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/System-IO.html#t:IO" title="System.IO">IO</a> r), <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a> r) =&gt; f -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Foreign-C-String.html#t:CString" title="Foreign.C.String">CString</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/System-IO.html#t:IO" title="System.IO">IO</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Foreign-C-String.html#t:CString" title="Foreign.C.String">CString</a></li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">class</span> <a id="t:MessagePackRec" class="def">MessagePackRec</a> l <span class="keyword">where</span> <a href="src/FFI.TypeUncurry.Msgpack.html#MessagePackRec" class="link">Source</a> <a href="#t:MessagePackRec" class="selflink">#</a></p><div class="doc"><p>Helper to allow writing a <code><a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a></code> instance for <code><a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a></code>s.</p><p>We need this because we have to call <code>parseArray</code> at the top-level
<code><a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a></code> instance, but not at each function argument step.</p></div><div class="subs methods"><p class="caption">Methods</p><p class="src"><a id="v:fromObjectRec" class="def">fromObjectRec</a> :: <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m =&gt; [<a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a>] -&gt; m (<a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l) <a href="src/FFI.TypeUncurry.Msgpack.html#fromObjectRec" class="link">Source</a> <a href="#v:fromObjectRec" class="selflink">#</a></p></div><div class="subs instances"><details id="i:MessagePackRec" open="open"><summary>Instances</summary><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:MessagePackRec:MessagePackRec:1"></span> <a href="FFI-TypeUncurry-Msgpack.html#t:MessagePackRec" title="FFI.TypeUncurry.Msgpack">MessagePackRec</a> ([] :: [<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Kind.html#t:Type" title="Data.Kind">Type</a>])</span> <a href="src/FFI.TypeUncurry.Msgpack.html#line-44" class="link">Source</a> <a href="#t:MessagePackRec" class="selflink">#</a></td><td class="doc"><p>When no more types need to be unpacked, we are done.</p></td></tr><tr><td colspan="2"><details id="i:ic:MessagePackRec:MessagePackRec:1"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="FFI-TypeUncurry-Msgpack.html">FFI.TypeUncurry.Msgpack</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromObjectRec">fromObjectRec</a> :: <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m =&gt; [<a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a>] -&gt; m (<a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> []) <a href="src/FFI.TypeUncurry.Msgpack.html#fromObjectRec" class="link">Source</a> <a href="#v:fromObjectRec" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:ic:MessagePackRec:MessagePackRec:2"></span> (<a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a> a, <a href="FFI-TypeUncurry-Msgpack.html#t:MessagePackRec" title="FFI.TypeUncurry.Msgpack">MessagePackRec</a> l) =&gt; <a href="FFI-TypeUncurry-Msgpack.html#t:MessagePackRec" title="FFI.TypeUncurry.Msgpack">MessagePackRec</a> (a ': l)</span> <a href="src/FFI.TypeUncurry.Msgpack.html#line-50" class="link">Source</a> <a href="#t:MessagePackRec" class="selflink">#</a></td><td class="doc"><p>Unpack one type by just parsing the next element.</p></td></tr><tr><td colspan="2"><details id="i:ic:MessagePackRec:MessagePackRec:2"><summary class="hide-when-js-enabled">Instance details</summary><p>Defined in <a href="FFI-TypeUncurry-Msgpack.html">FFI.TypeUncurry.Msgpack</a></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:fromObjectRec">fromObjectRec</a> :: <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m =&gt; [<a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a>] -&gt; m (<a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> (a ': l)) <a href="src/FFI.TypeUncurry.Msgpack.html#fromObjectRec" class="link">Source</a> <a href="#v:fromObjectRec" class="selflink">#</a></p></div></details></td></tr></table></details></div></div><div class="top"><p class="src"><a id="v:getTypeListFromMsgpackArray" class="def">getTypeListFromMsgpackArray</a> :: <span class="keyword">forall</span> m l. (<a href="FFI-TypeUncurry-Msgpack.html#t:MessagePackRec" title="FFI.TypeUncurry.Msgpack">MessagePackRec</a> l, <a href="FFI-TypeUncurry-DataKinds.html#t:ParamLength" title="FFI.TypeUncurry.DataKinds">ParamLength</a> l, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m) =&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> -&gt; m (<a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l) <a href="src/FFI.TypeUncurry.Msgpack.html#getTypeListFromMsgpackArray" class="link">Source</a> <a href="#v:getTypeListFromMsgpackArray" class="selflink">#</a></p><div class="doc"><p>Parses a tuple of arbitrary size (<code><a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a></code>s) from a MessagePack array.</p></div></div><div class="top"><p class="src"><a id="v:byteStringToCStringFunIO" class="def">byteStringToCStringFunIO</a> :: (<a href="&quot;https://hackage.haskell.org/package/\bytestring-\0.10.8.2/docs&quot;/Data-ByteString.html#t:ByteString" title="Data.ByteString">ByteString</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/System-IO.html#t:IO" title="System.IO">IO</a> <a href="&quot;https://hackage.haskell.org/package/\bytestring-\0.10.8.2/docs&quot;/Data-ByteString.html#t:ByteString" title="Data.ByteString">ByteString</a>) -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Foreign-C-String.html#t:CString" title="Foreign.C.String">CString</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/System-IO.html#t:IO" title="System.IO">IO</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Foreign-C-String.html#t:CString" title="Foreign.C.String">CString</a> <a href="src/FFI.TypeUncurry.Msgpack.html#byteStringToCStringFunIO" class="link">Source</a> <a href="#v:byteStringToCStringFunIO" class="selflink">#</a></p><div class="doc"><p>Transforms a <code><a href="&quot;https://hackage.haskell.org/package/\bytestring-\0.10.8.2/docs&quot;/Data-ByteString.html#t:ByteString" title="Data.ByteString">ByteString</a></code>-mapping <code><a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/System-IO.html#t:IO" title="System.IO">IO</a></code> function to <code><a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Foreign-C-String.html#t:CString" title="Foreign.C.String">CString</a></code>-mapping function
for use in the FFI.</p></div></div><div class="top"><p class="src"><a id="v:exportIO" class="def">exportIO</a> :: (<a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a> (<a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l), <a href="FFI-TypeUncurry-DataKinds.html#t:ToTypeList" title="FFI.TypeUncurry.DataKinds">ToTypeList</a> f l (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/System-IO.html#t:IO" title="System.IO">IO</a> r), <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a> r) =&gt; f -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Foreign-C-String.html#t:CString" title="Foreign.C.String">CString</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/System-IO.html#t:IO" title="System.IO">IO</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Foreign-C-String.html#t:CString" title="Foreign.C.String">CString</a> <a href="src/FFI.TypeUncurry.Msgpack.html#exportIO" class="link">Source</a> <a href="#v:exportIO" class="selflink">#</a></p></div><h1>Orphan instances</h1><div id="section.orphans"><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:o:ic:MessagePack:MessagePack:1"></span> (<a href="FFI-TypeUncurry-Msgpack.html#t:MessagePackRec" title="FFI.TypeUncurry.Msgpack">MessagePackRec</a> l, <a href="FFI-TypeUncurry-DataKinds.html#t:ParamLength" title="FFI.TypeUncurry.DataKinds">ParamLength</a> l) =&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a> (<a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l)</span> <a href="src/FFI.TypeUncurry.Msgpack.html#line-69" class="link">Source</a> <a href="#v:-36-fMessagePackTypeList" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:o:ic:MessagePack:MessagePack:1"><summary class="hide-when-js-enabled">Instance details</summary><p></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toObject">toObject</a> :: <a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l -&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> <a href="#v:toObject" class="selflink">#</a></p><p class="src"><a href="#v:fromObject">fromObject</a> :: (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> m, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m) =&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> -&gt; m (<a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">TypeList</a> l) <a href="#v:fromObject" class="selflink">#</a></p></div></details></td></tr></table></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.22.0</p></div></body></html>
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>FFI.TypeUncurry</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/FFI.TypeUncurry.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hbandit</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>Copyright (c) 2018 Niklas Hamb&#252;chen.</td></tr><tr><th>License</th><td>MIT License.</td></tr><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">FFI.TypeUncurry</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>MessagePack FFI code adapted from call-haskell-from-anything</p></div></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short">module <a href="FFI-TypeUncurry-DataKinds.html">FFI.TypeUncurry.DataKinds</a></li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="doc"><p>You see this because your compiler supports DataKinds.</p></div><div class="top"><p class="src">module <a href="FFI-TypeUncurry-DataKinds.html">FFI.TypeUncurry.DataKinds</a></p></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.22.0</p></div></body></html>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HBandit.Types</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HBandit.Types.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hbandit</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) 2019 UChicago Argonne LLC.</td></tr><tr><th>License</th><td>MIT</td></tr><tr><th>Maintainer</th><td>fre@freux.fr</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HBandit.Types</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Utility functions for MAB algorithms.</p></div></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><span class="keyword">type</span> <a href="#t:ZeroOne">ZeroOne</a> l = <a href="&quot;https://hackage.haskell.org/package/\refined-\0.4.2.1/docs&quot;/Refined-Internal.html#t:Refined" title="Refined.Internal">Refined</a> (<a href="&quot;https://hackage.haskell.org/package/\refined-\0.4.2.1/docs&quot;/Refined-Internal.html#t:FromTo" title="Refined.Internal">FromTo</a> 0 1) l</li><li class="src short"><a href="#v:zero">zero</a> :: (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Ord.html#t:Ord" title="Data.Ord">Ord</a> a, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Prelude.html#t:Num" title="Prelude">Num</a> a) =&gt; <a href="HBandit-Types.html#t:ZeroOne" title="HBandit.Types">ZeroOne</a> a</li><li class="src short"><a href="#v:one">one</a> :: (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Ord.html#t:Ord" title="Data.Ord">Ord</a> a, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Prelude.html#t:Num" title="Prelude">Num</a> a) =&gt; <a href="HBandit-Types.html#t:ZeroOne" title="HBandit.Types">ZeroOne</a> a</li><li class="src short"><a href="#v:normalize">normalize</a> :: <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Prelude.html#t:Double" title="Prelude">Double</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Prelude.html#t:Double" title="Prelude">Double</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/GHC-Maybe.html#t:Maybe" title="GHC.Maybe">Maybe</a> (<a href="HBandit-Types.html#t:ZeroOne" title="HBandit.Types">ZeroOne</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Prelude.html#t:Double" title="Prelude">Double</a>)</li><li class="src short"><a href="#v:normalizedSum">normalizedSum</a> :: (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Ord.html#t:Ord" title="Data.Ord">Ord</a> a, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Prelude.html#t:Num" title="Prelude">Num</a> a) =&gt; [(a, <a href="HBandit-Types.html#t:ZeroOne" title="HBandit.Types">ZeroOne</a> a)] -&gt; <a href="HBandit-Types.html#t:ZeroOne" title="HBandit.Types">ZeroOne</a> a</li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">type</span> <a id="t:ZeroOne" class="def">ZeroOne</a> l = <a href="&quot;https://hackage.haskell.org/package/\refined-\0.4.2.1/docs&quot;/Refined-Internal.html#t:Refined" title="Refined.Internal">Refined</a> (<a href="&quot;https://hackage.haskell.org/package/\refined-\0.4.2.1/docs&quot;/Refined-Internal.html#t:FromTo" title="Refined.Internal">FromTo</a> 0 1) l <a href="src/HBandit.Types.html#ZeroOne" class="link">Source</a> <a href="#t:ZeroOne" class="selflink">#</a></p><div class="doc"><p>type alias for a $[0,1]$ refined value.</p></div></div><div class="top"><p class="src"><a id="v:zero" class="def">zero</a> :: (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Ord.html#t:Ord" title="Data.Ord">Ord</a> a, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Prelude.html#t:Num" title="Prelude">Num</a> a) =&gt; <a href="HBandit-Types.html#t:ZeroOne" title="HBandit.Types">ZeroOne</a> a <a href="src/HBandit.Types.html#zero" class="link">Source</a> <a href="#v:zero" class="selflink">#</a></p><div class="doc"><p>0</p></div></div><div class="top"><p class="src"><a id="v:one" class="def">one</a> :: (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Ord.html#t:Ord" title="Data.Ord">Ord</a> a, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Prelude.html#t:Num" title="Prelude">Num</a> a) =&gt; <a href="HBandit-Types.html#t:ZeroOne" title="HBandit.Types">ZeroOne</a> a <a href="src/HBandit.Types.html#one" class="link">Source</a> <a href="#v:one" class="selflink">#</a></p><div class="doc"><p>1</p></div></div><div class="top"><p class="src"><a id="v:normalize" class="def">normalize</a> :: <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Prelude.html#t:Double" title="Prelude">Double</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Prelude.html#t:Double" title="Prelude">Double</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/GHC-Maybe.html#t:Maybe" title="GHC.Maybe">Maybe</a> (<a href="HBandit-Types.html#t:ZeroOne" title="HBandit.Types">ZeroOne</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Prelude.html#t:Double" title="Prelude">Double</a>) <a href="src/HBandit.Types.html#normalize" class="link">Source</a> <a href="#v:normalize" class="selflink">#</a></p><div class="doc"><p><code>normalize x xMax</code> normalizes <code>x</code> using <code>xMax</code>. Returns <code>Nothing</code>
in case the resulting value is not contained in $[0,1]$ .</p></div></div><div class="top"><p class="src"><a id="v:normalizedSum" class="def">normalizedSum</a> :: (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Ord.html#t:Ord" title="Data.Ord">Ord</a> a, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Prelude.html#t:Num" title="Prelude">Num</a> a) =&gt; [(a, <a href="HBandit-Types.html#t:ZeroOne" title="HBandit.Types">ZeroOne</a> a)] -&gt; <a href="HBandit-Types.html#t:ZeroOne" title="HBandit.Types">ZeroOne</a> a <a href="src/HBandit.Types.html#normalizedSum" class="link">Source</a> <a href="#v:normalizedSum" class="selflink">#</a></p><div class="doc"><p>normalizedSum does what you'd expect.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.22.0</p></div></body></html>
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>HBandit.Util</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/HBandit.Util.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hbandit</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) 2019 UChicago Argonne LLC.</td></tr><tr><th>License</th><td>MIT</td></tr><tr><th>Maintainer</th><td>fre@freux.fr</td></tr><tr><th>Safe Haskell</th><td>Safe</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">HBandit.Util</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>Utility functions for MAB algorithms.</p></div></div><div id="synopsis"><details id="syn"><summary>Synopsis</summary><ul class="details-toggle" data-details-id="syn"><li class="src short"><a href="#v:sampleWL">sampleWL</a> :: <a href="&quot;https://hackage.haskell.org/package/\random-\1.1/docs&quot;/System-Random.html#t:RandomGen" title="System.Random">RandomGen</a> g =&gt; [(<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Prelude.html#t:Double" title="Prelude">Double</a>, a)] -&gt; g -&gt; (a, g)</li></ul></details></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><a id="v:sampleWL" class="def">sampleWL</a> :: <a href="&quot;https://hackage.haskell.org/package/\random-\1.1/docs&quot;/System-Random.html#t:RandomGen" title="System.Random">RandomGen</a> g =&gt; [(<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Prelude.html#t:Double" title="Prelude">Double</a>, a)] -&gt; g -&gt; (a, g) <a href="src/HBandit.Util.html#sampleWL" class="link">Source</a> <a href="#v:sampleWL" class="selflink">#</a></p><div class="doc"><p>Samples from a weighted probability distribution.
The sum of weights must not be zero.</p></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.22.0</p></div></body></html>
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Shared</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Shared.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hbandit</p></div><div id="content"><div id="module-header"><table class="info"><tr><th valign="top">Copyright</th><td>(c) 2019 UChicago Argonne LLC.</td></tr><tr><th>License</th><td>BSD3</td></tr><tr><th>Maintainer</th><td>fre@freux.fr</td></tr><tr><th>Safe Haskell</th><td>None</td></tr><tr><th>Language</th><td>Haskell2010</td></tr></table><p class="caption">Shared</p></div><div id="table-of-contents"><p class="caption">Contents</p><ul><li><a href="#section.orphans">Orphan instances</a></li></ul></div><div id="description"><p class="caption">Description</p><div class="doc empty">&nbsp;</div></div><div id="interface"><h1>Orphan instances</h1><div id="section.orphans"><table><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:o:ic:MessagePack:MessagePack:1"></span> <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a> <a href="HBandit-Exp3.html#t:CumulativeLoss" title="HBandit.Exp3">CumulativeLoss</a></span> <a href="src/Shared.html#line-54" class="link">Source</a> <a href="#v:-36-fMessagePackCumulativeLoss" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:o:ic:MessagePack:MessagePack:1"><summary class="hide-when-js-enabled">Instance details</summary><p></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toObject">toObject</a> :: <a href="HBandit-Exp3.html#t:CumulativeLoss" title="HBandit.Exp3">CumulativeLoss</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> <a href="#v:toObject" class="selflink">#</a></p><p class="src"><a href="#v:fromObject">fromObject</a> :: (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> m, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m) =&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> -&gt; m <a href="HBandit-Exp3.html#t:CumulativeLoss" title="HBandit.Exp3">CumulativeLoss</a> <a href="#v:fromObject" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:o:ic:MessagePack:MessagePack:2"></span> <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a> <a href="HBandit-Exp3.html#t:Probability" title="HBandit.Exp3">Probability</a></span> <a href="src/Shared.html#line-52" class="link">Source</a> <a href="#v:-36-fMessagePackProbability" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:o:ic:MessagePack:MessagePack:2"><summary class="hide-when-js-enabled">Instance details</summary><p></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toObject">toObject</a> :: <a href="HBandit-Exp3.html#t:Probability" title="HBandit.Exp3">Probability</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> <a href="#v:toObject" class="selflink">#</a></p><p class="src"><a href="#v:fromObject">fromObject</a> :: (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> m, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m) =&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> -&gt; m <a href="HBandit-Exp3.html#t:Probability" title="HBandit.Exp3">Probability</a> <a href="#v:fromObject" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:o:ic:MessagePack:MessagePack:3"></span> <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a> a =&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a> (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-List-NonEmpty.html#t:NonEmpty" title="Data.List.NonEmpty">NonEmpty</a> a)</span> <a href="src/Shared.html#line-56" class="link">Source</a> <a href="#v:-36-fMessagePackNonEmpty" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:o:ic:MessagePack:MessagePack:3"><summary class="hide-when-js-enabled">Instance details</summary><p></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toObject">toObject</a> :: <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-List-NonEmpty.html#t:NonEmpty" title="Data.List.NonEmpty">NonEmpty</a> a -&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> <a href="#v:toObject" class="selflink">#</a></p><p class="src"><a href="#v:fromObject">fromObject</a> :: (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> m, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m) =&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> -&gt; m (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-List-NonEmpty.html#t:NonEmpty" title="Data.List.NonEmpty">NonEmpty</a> a) <a href="#v:fromObject" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:o:ic:MessagePack:MessagePack:4"></span> <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a> (<a href="HBandit-Class.html#t:Arms" title="HBandit.Class">Arms</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Int.html#t:Int" title="Data.Int">Int</a>)</span> <a href="src/Shared.html#line-46" class="link">Source</a> <a href="#v:-36-fMessagePackArms" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:o:ic:MessagePack:MessagePack:4"><summary class="hide-when-js-enabled">Instance details</summary><p></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toObject">toObject</a> :: <a href="HBandit-Class.html#t:Arms" title="HBandit.Class">Arms</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> <a href="#v:toObject" class="selflink">#</a></p><p class="src"><a href="#v:fromObject">fromObject</a> :: (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> m, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m) =&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> -&gt; m (<a href="HBandit-Class.html#t:Arms" title="HBandit.Class">Arms</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Int.html#t:Int" title="Data.Int">Int</a>) <a href="#v:fromObject" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:o:ic:MessagePack:MessagePack:5"></span> <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a> (<a href="HBandit-Exp3.html#t:Weight" title="HBandit.Exp3">Weight</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Int.html#t:Int" title="Data.Int">Int</a>)</span> <a href="src/Shared.html#line-50" class="link">Source</a> <a href="#v:-36-fMessagePackWeight" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:o:ic:MessagePack:MessagePack:5"><summary class="hide-when-js-enabled">Instance details</summary><p></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toObject">toObject</a> :: <a href="HBandit-Exp3.html#t:Weight" title="HBandit.Exp3">Weight</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> <a href="#v:toObject" class="selflink">#</a></p><p class="src"><a href="#v:fromObject">fromObject</a> :: (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> m, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m) =&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> -&gt; m (<a href="HBandit-Exp3.html#t:Weight" title="HBandit.Exp3">Weight</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Int.html#t:Int" title="Data.Int">Int</a>) <a href="#v:fromObject" class="selflink">#</a></p></div></details></td></tr><tr><td class="src clearfix"><span class="inst-left"><span class="instance details-toggle-control details-toggle" data-details-id="i:o:ic:MessagePack:MessagePack:6"></span> <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Class.html#t:MessagePack" title="Data.MessagePack.Types.Class">MessagePack</a> (<a href="HBandit-Exp3.html#t:Exp3" title="HBandit.Exp3">Exp3</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Int.html#t:Int" title="Data.Int">Int</a>)</span> <a href="src/Shared.html#line-48" class="link">Source</a> <a href="#v:-36-fMessagePackExp3" class="selflink">#</a></td><td class="doc empty">&nbsp;</td></tr><tr><td colspan="2"><details id="i:o:ic:MessagePack:MessagePack:6"><summary class="hide-when-js-enabled">Instance details</summary><p></p> <div class="subs methods"><p class="caption">Methods</p><p class="src"><a href="#v:toObject">toObject</a> :: <a href="HBandit-Exp3.html#t:Exp3" title="HBandit.Exp3">Exp3</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Int.html#t:Int" title="Data.Int">Int</a> -&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> <a href="#v:toObject" class="selflink">#</a></p><p class="src"><a href="#v:fromObject">fromObject</a> :: (<a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Applicative.html#t:Applicative" title="Control.Applicative">Applicative</a> m, <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Control-Monad.html#t:Monad" title="Control.Monad">Monad</a> m) =&gt; <a href="&quot;https://hackage.haskell.org/package/\data-msgpack-types-\0.0.2/docs&quot;/Data-MessagePack-Types-Object.html#t:Object" title="Data.MessagePack.Types.Object">Object</a> -&gt; m (<a href="HBandit-Exp3.html#t:Exp3" title="HBandit.Exp3">Exp3</a> <a href="&quot;https://hackage.haskell.org/package/\base-\4.12.0.0/docs&quot;/Data-Int.html#t:Int" title="Data.Int">Int</a>) <a href="#v:fromObject" class="selflink">#</a></p></div></details></td></tr></table></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.22.0</p></div></body></html>
\ No newline at end of file
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hbandit (Index)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hbandit</p></div><div id="content"><div id="index"><p class="caption">Index</p><table><tr><td class="src">:::</td><td class="module"><a href="FFI-TypeUncurry-DataKinds.html#v::::" title="FFI.TypeUncurry.DataKinds">FFI.TypeUncurry.DataKinds</a>, FFI.TypeUncurry</td></tr><tr><td class="src">action</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="HBandit-BwCR.html#v:action" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="HBandit-Exp3.html#v:action" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:action" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">Arms</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="HBandit-Class.html#t:Arms" title="HBandit.Class">HBandit.Class</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HBandit-Class.html#v:Arms" title="HBandit.Class">HBandit.Class</a></td></tr><tr><td class="src">arms</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="HBandit-BwCR.html#v:arms" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:arms" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">averageLoss</td><td class="module"><a href="HBandit-EpsGreedy.html#v:averageLoss" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">Bandit</td><td class="module"><a href="HBandit-Class.html#t:Bandit" title="HBandit.Class">HBandit.Class</a></td></tr><tr><td class="src">BwCR</td><td class="module"><a href="HBandit-BwCR.html#t:BwCR" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="src">BwCRHyper</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="HBandit-BwCR.html#t:BwCRHyper" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HBandit-BwCR.html#v:BwCRHyper" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="src">BwCRMAB</td><td class="module"><a href="HBandit-Class.html#t:BwCRMAB" title="HBandit.Class">HBandit.Class</a></td></tr><tr><td class="src">byteStringToCStringFunIO</td><td class="module"><a href="FFI-TypeUncurry-Msgpack.html#v:byteStringToCStringFunIO" title="FFI.TypeUncurry.Msgpack">FFI.TypeUncurry.Msgpack</a></td></tr><tr><td class="src">constraints</td><td class="module"><a href="HBandit-BwCR.html#v:constraints" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="src">cumulativeEstimates</td><td class="module"><a href="HBandit-BwCR.html#v:cumulativeEstimates" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="src">CumulativeLoss</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="HBandit-Exp3.html#t:CumulativeLoss" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HBandit-Exp3.html#v:CumulativeLoss" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="src">cumulativeLoss</td><td class="module"><a href="HBandit-Exp3.html#v:cumulativeLoss" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="src">eps</td><td class="module"><a href="HBandit-EpsGreedy.html#v:eps" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">EpsGreedy</td><td class="module"><a href="HBandit-EpsGreedy.html#t:EpsGreedy" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">EpsGreedyHyper</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="HBandit-EpsGreedy.html#t:EpsGreedyHyper" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:EpsGreedyHyper" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">epsilon</td><td class="module"><a href="HBandit-EpsGreedy.html#v:epsilon" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">epsScreening</td><td class="module"><a href="HBandit-EpsGreedy.html#v:epsScreening" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">Exp3</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="HBandit-Exp3.html#t:Exp3" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HBandit-Exp3.html#v:Exp3" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="src">ExploreExploit</td><td class="module"><a href="HBandit-EpsGreedy.html#v:ExploreExploit" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">ExploreExploitGreedy</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="HBandit-EpsGreedy.html#t:ExploreExploitGreedy" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:ExploreExploitGreedy" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">exportIO</td><td class="module"><a href="FFI-TypeUncurry-Msgpack.html#v:exportIO" title="FFI.TypeUncurry.Msgpack">FFI.TypeUncurry.Msgpack</a></td></tr><tr><td class="src">fromObjectRec</td><td class="module"><a href="FFI-TypeUncurry-Msgpack.html#v:fromObjectRec" title="FFI.TypeUncurry.Msgpack">FFI.TypeUncurry.Msgpack</a></td></tr><tr><td class="src">gamma</td><td class="module"><a href="HBandit-BwCR.html#v:gamma" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="src">getCumulativeLoss</td><td class="module"><a href="HBandit-Exp3.html#v:getCumulativeLoss" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="src">getProbability</td><td class="module"><a href="HBandit-Exp3.html#v:getProbability" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="src">getTypeListFromMsgpackArray</td><td class="module"><a href="FFI-TypeUncurry-Msgpack.html#v:getTypeListFromMsgpackArray" title="FFI.TypeUncurry.Msgpack">FFI.TypeUncurry.Msgpack</a></td></tr><tr><td class="src">hits</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="HBandit-BwCR.html#v:hits" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:hits" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">init</td><td class="module"><a href="HBandit-Class.html#v:init" title="HBandit.Class">HBandit.Class</a></td></tr><tr><td class="src">initBwCR</td><td class="module"><a href="HBandit-Class.html#v:initBwCR" title="HBandit.Class">HBandit.Class</a></td></tr><tr><td class="src">initPFMAB</td><td class="module"><a href="HBandit-Class.html#v:initPFMAB" title="HBandit.Class">HBandit.Class</a></td></tr><tr><td class="src">k</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="HBandit-BwCR.html#v:k" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="HBandit-Exp3.html#v:k" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:k" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">lastAction</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="HBandit-BwCR.html#v:lastAction" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="HBandit-Exp3.html#v:lastAction" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:lastAction" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">MessagePackRec</td><td class="module"><a href="FFI-TypeUncurry-Msgpack.html#t:MessagePackRec" title="FFI.TypeUncurry.Msgpack">FFI.TypeUncurry.Msgpack</a></td></tr><tr><td class="src">mkHyper</td><td class="module"><a href="HBandit-BwCR.html#v:mkHyper" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="src">Nil</td><td class="module"><a href="FFI-TypeUncurry-DataKinds.html#v:Nil" title="FFI.TypeUncurry.DataKinds">FFI.TypeUncurry.DataKinds</a>, FFI.TypeUncurry</td></tr><tr><td class="src">normalize</td><td class="module"><a href="HBandit-Types.html#v:normalize" title="HBandit.Types">HBandit.Types</a></td></tr><tr><td class="src">normalizedSum</td><td class="module"><a href="HBandit-Types.html#v:normalizedSum" title="HBandit.Types">HBandit.Types</a></td></tr><tr><td class="src">objectiveWeights</td><td class="module"><a href="HBandit-BwCR.html#v:objectiveWeights" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="src">one</td><td class="module"><a href="HBandit-Types.html#v:one" title="HBandit.Types">HBandit.Types</a></td></tr><tr><td class="src">ParameterFreeMAB</td><td class="module"><a href="HBandit-Class.html#t:ParameterFreeMAB" title="HBandit.Class">HBandit.Class</a></td></tr><tr><td class="src">ParamLength</td><td class="module"><a href="FFI-TypeUncurry-DataKinds.html#t:ParamLength" title="FFI.TypeUncurry.DataKinds">FFI.TypeUncurry.DataKinds</a>, FFI.TypeUncurry</td></tr><tr><td class="src">paramLength</td><td class="module"><a href="FFI-TypeUncurry-DataKinds.html#v:paramLength" title="FFI.TypeUncurry.DataKinds">FFI.TypeUncurry.DataKinds</a>, FFI.TypeUncurry</td></tr><tr><td class="src">pickAction</td><td class="module"><a href="HBandit-EpsGreedy.html#v:pickAction" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">pickreturn</td><td class="module"><a href="HBandit-EpsGreedy.html#v:pickreturn" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">Probability</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="HBandit-Exp3.html#t:Probability" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HBandit-Exp3.html#v:Probability" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="src">probability</td><td class="module"><a href="HBandit-Exp3.html#v:probability" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="src">sampleWL</td><td class="module"><a href="HBandit-Util.html#v:sampleWL" title="HBandit.Util">HBandit.Util</a></td></tr><tr><td class="src">screened</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="HBandit-BwCR.html#v:screened" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:screened" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">Screening</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Data Constructor)</td><td class="module"><a href="HBandit-BwCR.html#v:Screening" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:Screening" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">screening</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="HBandit-BwCR.html#v:screening" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:screening" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">ScreeningBwCR</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="HBandit-BwCR.html#t:ScreeningBwCR" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HBandit-BwCR.html#v:ScreeningBwCR" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="src">ScreeningGreedy</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="HBandit-EpsGreedy.html#t:ScreeningGreedy" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:ScreeningGreedy" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">screeningHyper</td><td class="module"><a href="HBandit-BwCR.html#v:screeningHyper" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="src">screenQueue</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="HBandit-BwCR.html#v:screenQueue" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:screenQueue" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">step</td><td class="module"><a href="HBandit-Class.html#v:step" title="HBandit.Class">HBandit.Class</a></td></tr><tr><td class="src">stepBwCR</td><td class="module"><a href="HBandit-Class.html#v:stepBwCR" title="HBandit.Class">HBandit.Class</a></td></tr><tr><td class="src">stepPFMAB</td><td class="module"><a href="HBandit-Class.html#v:stepPFMAB" title="HBandit.Class">HBandit.Class</a></td></tr><tr><td class="src">T</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="HBandit-BwCR.html#t:T" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HBandit-BwCR.html#v:T" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="src">t</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="HBandit-BwCR.html#v:t" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="HBandit-Exp3.html#v:t" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:t" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">ToTypeList</td><td class="module"><a href="FFI-TypeUncurry-DataKinds.html#t:ToTypeList" title="FFI.TypeUncurry.DataKinds">FFI.TypeUncurry.DataKinds</a>, FFI.TypeUncurry</td></tr><tr><td class="src">translate</td><td class="module"><a href="FFI-TypeUncurry-DataKinds.html#v:translate" title="FFI.TypeUncurry.DataKinds">FFI.TypeUncurry.DataKinds</a>, FFI.TypeUncurry</td></tr><tr><td class="src">tScreening</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="HBandit-BwCR.html#v:tScreening" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:tScreening" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">TypeList</td><td class="module"><a href="FFI-TypeUncurry-DataKinds.html#t:TypeList" title="FFI.TypeUncurry.DataKinds">FFI.TypeUncurry.DataKinds</a>, FFI.TypeUncurry</td></tr><tr><td class="src">UCB</td><td class="module"><a href="HBandit-BwCR.html#v:UCB" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="src">UCBBwCR</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="HBandit-BwCR.html#t:UCBBwCR" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HBandit-BwCR.html#v:UCBBwCR" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="src">ucbHyper</td><td class="module"><a href="HBandit-BwCR.html#v:ucbHyper" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="src">updateAvgLoss</td><td class="module"><a href="HBandit-EpsGreedy.html#v:updateAvgLoss" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">Weight</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="HBandit-BwCR.html#t:Weight" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="HBandit-BwCR.html#v:Weight" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">3 (Type/Class)</td><td class="module"><a href="HBandit-Exp3.html#t:Weight" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="alt">4 (Data Constructor)</td><td class="module"><a href="HBandit-Exp3.html#v:Weight" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="alt">5 (Type/Class)</td><td class="module"><a href="HBandit-EpsGreedy.html#t:Weight" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="alt">6 (Data Constructor)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:Weight" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">weights</td><td>&nbsp;</td></tr><tr><td class="alt">1 (Function)</td><td class="module"><a href="HBandit-BwCR.html#v:weights" title="HBandit.BwCR">HBandit.BwCR</a></td></tr><tr><td class="alt">2 (Function)</td><td class="module"><a href="HBandit-Exp3.html#v:weights" title="HBandit.Exp3">HBandit.Exp3</a></td></tr><tr><td class="alt">3 (Function)</td><td class="module"><a href="HBandit-EpsGreedy.html#v:weights" title="HBandit.EpsGreedy">HBandit.EpsGreedy</a></td></tr><tr><td class="src">zero</td><td class="module"><a href="HBandit-Types.html#v:zero" title="HBandit.Types">HBandit.Types</a></td></tr><tr><td class="src">ZeroOne</td><td class="module"><a href="HBandit-Types.html#t:ZeroOne" title="HBandit.Types">HBandit.Types</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.22.0</p></div></body></html>
\ No newline at end of file
This diff is collapsed.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>hbandit</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><link rel="stylesheet" type="text/css" href="quick-jump.css" /><script src="haddock-bundle.min.js" async="async" type="text/javascript"></script><script src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"></script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">hbandit</p></div><div id="content"><div id="description"><h1>hbandit</h1><div class="doc"><p>hbandit</p></div></div><div id="module-list"><p class="caption">Signatures</p></div><div id="module-list"><p class="caption">Modules</p><ul><li><span class="module details-toggle-control details-toggle" data-details-id="n.1">FFI</span><details id="n.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><span class="details-toggle-control details-toggle" data-details-id="n.1.1">&nbsp;</span><a href="FFI-TypeUncurry.html">FFI.TypeUncurry</a></span><details id="n.1.1" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><a href="FFI-TypeUncurry-DataKinds.html">FFI.TypeUncurry.DataKinds</a></span></li><li><span class="module"><a href="FFI-TypeUncurry-Msgpack.html">FFI.TypeUncurry.Msgpack</a></span></li></ul></details></li></ul></details></li><li><span class="module details-toggle-control details-toggle" data-details-id="n.2">HBandit</span><details id="n.2" open="open"><summary class="hide-when-js-enabled">Submodules</summary><ul><li><span class="module"><a href="HBandit-BwCR.html">HBandit.BwCR</a></span></li><li><span class="module"><a href="HBandit-Class.html">HBandit.Class</a></span></li><li><span class="module"><a href="HBandit-EpsGreedy.html">HBandit.EpsGreedy</a></span></li><li><span class="module"><a href="HBandit-Exp3.html">HBandit.Exp3</a></span></li><li><span class="module"><a href="HBandit-Types.html">HBandit.Types</a></span></li><li><span class="module"><a href="HBandit-Util.html">HBandit.Util</a></span></li></ul></details></li><li><span class="module"><a href="Shared.html">Shared</a></span></li></ul></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.22.0</p></div></body></html>
\ No newline at end of file
{"haddock_version":"2.22.0"}
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment