Scala implementation of Histogrammar, with optional front-ends and back-ends as separate Maven projects.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bokeh including the pluginRepositories, and it should be repo1.maven.org, n… Nov 18, 2016
core
sparksql
.gitignore Create .gitignore Jul 13, 2016
.travis.yml Upgrade Bokeh to 0.7 because 0.6 depends on something that no longer … Sep 2, 2016
LICENSE remove trailing content from license Jul 15, 2016
README.md Update README.md Sep 1, 2016
make-poms.py including the pluginRepositories, and it should be repo1.maven.org, n… Nov 18, 2016
pom.xml

README.md

Scala implementation of Histogrammar

DOI

See histogrammar.org for a complete introduction to Histogrammar.

This is a Scala implementation for Scala versions 2.10 and 2.11.

Installation

Histogrammar has a standard Maven POM. With Maven 3+, run

mvn install -P scala-2.10

or

mvn install -P scala-2.11

in the base directory (to compile everything) or one of the subdirectories. All subdirectories depend on core, so this must be installed first.

Status

Build status

The Scala implementation is verified against the Python implementation by running exactly the same tests on both. They agree numerically to one part in a trillion, with the same NaN/infinity handling, and exchange the same JSON.

All primitives except UntypedLabel preserve type information in the Scala REPL, so you can extract values or tab-complete without casting.

In the future, JIT-compilation will be available, similar to the ROOT/Cling interface in Python, but compiling to Java bytecode with Janino instead of native bytecode with LLVM.

Primitive Scala JVM JIT
Count done
Sum done
Average done
Deviate done
Minimize done
Maximize done
Bag done
Bin done
SparselyBin done
CentrallyBin done
IrregularlyBin done
Categorize done
Fraction done
Stack done
Select done
Label done
UntypedLabel done
Index done
Branch done