Giter Site home page Giter Site logo

raj347 / hakaru Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hakaru-dev/hakaru

0.0 2.0 0.0 5.79 MB

A probabilistic programming language

License: BSD 3-Clause "New" or "Revised" License

Haskell 99.46% Shell 0.06% TeX 0.34% Makefile 0.03% Perl 0.11%

hakaru's Introduction

Hackage Build Status Windows Build Status licence

Hakaru

A simply-typed probabilistic programming language, designed for easy specification of probabilistic models, and inference algorithms.

Warning: this code is alpha and experimental.

Documentation

Learn more at hakaru-dev.github.io.

Installation

Hakaru has multiple components. To build it by default run

cabal update
cabal install -j --only-dependencies
cabal configure --enable-tests
cabal build
cabal test

If you have Maple installed and wish to take advantage of Hakaru's program simplifier run

export LOCAL_MAPLE="`which maple`"
cd hakaru/maple
maple update-archive.mpl
echo 'libname := "/path-to-hakaru/hakaru/maple",libname:' >> ~/.mapleinit

Installation - Windows

It is possible to use Hakaru on Windows; there are some possible concerns. Due to a ghc bug, one of the dependencies (logfloat) must be installed separately:

cabal install -j logfloat -f -useffi
cabal install -j --only-dependencies
...

In order to use Maple for simplification, set the LOCAL_MAPLE environment variable in the command prompt (cmd) to cmaple.exe (instead of `export LOCAL_MAPLE...'):

SETX LOCAL_MAPLE "<path to Maple bin directory>\cmaple.exe"

The other commands can be run with in a cygwin shell. Lacking a cygwin shell, the following will work in a command prompt:

cd hakaru\maple 
cmaple update-archive.mpl
echo 'libname := "C:\\<path to hakaru>\\hakaru\\maple",libname:' >> "C:\<path to maple>\lib\maple.ini"

Note the escaped backslashes.

Citing us

When referring to Hakaru please cite the following paper:

Probabilistic inference by program transformation in Hakaru (system description). Praveen Narayanan, Jacques Carette, Wren Romano, Chung-chieh Shan, and Robert Zinkov, FLOPS 2016 (13th international symposium on functional and logic programming).

@article{NarayananCRSZ16,
  author  = {Praveen Narayanan and
		     Jacques Carette and
		     Wren Romano and
		     Chung{-}chieh Shan and
		     Robert Zinkov},
  title   = {Probabilistic Inference by Program Transformation in Hakaru (System
		     Description)},
  journal = {Functional and Logic Programming - 13th International Symposium, {FLOPS}
		     2016, Kochi, Japan, March 4-6, 2016, Proceedings},
  pages   = {62--79},
  year    = {2016},
  url     = {http://dx.doi.org/10.1007/978-3-319-29604-3_5},
  doi     = {10.1007/978-3-319-29604-3_5},
}

hakaru's People

Contributors

zaxtax avatar ccshan avatar wrengr avatar jacquescarette avatar pravnar avatar zachsully avatar carl-j-love avatar sudonatalie avatar mikekucera avatar lambdageek avatar michaelt avatar hrldcpr avatar aksleung avatar

Watchers

James Cloos avatar Rajesh  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.