<div dir="ltr"><div>Dear all,<br><br>I am happy to announce Laborantin. Laborantin is a Haskell library and DSL for<br>running and analyzing controlled experiments.<br><br>Repository: <a href="https://github.com/lucasdicioccio/laborantin-hs">https://github.com/lucasdicioccio/laborantin-hs</a><br>
Hackage page: <a href="http://hackage.haskell.org/package/laborantin-hs">http://hackage.haskell.org/package/laborantin-hs</a><br><br>Laborantin's opinion is that running proper experiments is a non-trivial and<br>often overlooked problem. Therefore, we should provide good tools to assist<br>
experimenters. The hope is that, with Laborantin, experimenters will spend more<br>time on their core problem while racing through the menial tasks of editing<br>scripts because one data point is missing in a plot. At the same time,<br>
Laborantin is also an effort within the broad open-science movement. Indeed,<br>Laborantin's DSL separates boilerplate from the actual experiment<br>implementation. Thus, Laborantin could reduce the friction for code and<br>
data-reuse.<br><br>One family of experiments that fit well Laborantin are benchmarks with tedious<br>setup and teardown procedures (for instance starting, configuring, and stopping<br>remote machines). Analyses that require measurements from a variety of data<br>
points in a multi-dimensional parameter space also fall in the scope of<br>Laborantin.<br><br>When using Laborantin, the experimenter:<br><br>* Can express experimental scenarios using a readable and familiar DSL.<br>  This feature, albeit subjective, was confirmed by non-Haskeller colleagues.<br>
* Saves time on boilerplate such as writing command-line parsers or<br>  encoding dependencies between experiments and analysis results in a Makefile.<br>* Benefits from auto-documentation and result introspection features when one<br>
  comes back to a project, possibly months or weeks later.<br>* Harnesses the power of Haskell type-system to catch common errors at compile time<br><br>If you had to read one story to understand the pain points that Laborantin<br>
tries to address, it should be Section 5 of "Strategies for Sound Internet<br>Measurement" (V. Paxson, IMC 2004).<br><br>I'd be glad to take question and comments (or, even better, code reviews and<br>pull requests).<br>
<br>Kind regards,<br>--Lucas DiCioccio (@lucasdicioccio on GitHub/Twitter)<br></div></div>