insomnia

所属分类:数学计算
开发工具:Haskell
文件大小:0KB
下载次数:0
上传日期:2017-07-23 19:13:30
上 传 者sh-1993
说明:  失眠症:一种模块化概率编程语言,
(Insomnia: A modular probabilistic programming language,)

文件列表:
.travis.yml (3506, 2017-07-23)
CodeOrganization.org (6610, 2017-07-23)
LICENSE (1524, 2017-07-23)
Setup.hs (46, 2017-07-23)
TODO.org (8974, 2017-07-23)
docs/ (0, 2017-07-23)
docs/Makefile (195, 2017-07-23)
docs/guide.md (31036, 2017-07-23)
emacs/ (0, 2017-07-23)
emacs/insomnia-mode.el (1232, 2017-07-23)
examples/ (0, 2017-07-23)
examples/DataTypes.ism (1245, 2017-07-23)
examples/FirstClassModules.ism (428, 2017-07-23)
examples/IndependentPrimitives.ism (278, 2017-07-23)
examples/IteratedFlip.ism (1006, 2017-07-23)
examples/Prelude.ism (1281, 2017-07-23)
examples/PreludeTest.ism (671, 2017-07-23)
examples/boot.ism (734, 2017-07-23)
examples/boot.rkt (950, 2017-07-23)
examples/either.ism (708, 2017-07-23)
examples/evalSimplest.ism (387, 2017-07-23)
examples/fold.ism (265, 2017-07-23)
examples/fun0.ism (583, 2017-07-23)
examples/importResolve.ism (112, 2017-07-23)
examples/infer.ism (976, 2017-07-23)
examples/modmod.ism (157, 2017-07-23)
examples/normal.ism (236, 2017-07-23)
examples/numcoins.ism (273, 2017-07-23)
examples/poly.ism (417, 2017-07-23)
examples/poster.ism (805, 2017-07-23)
examples/poster.out (88144, 2017-07-23)
examples/query.ism (44, 2017-07-23)
examples/records.ism (937, 2017-07-23)
examples/seismology0.ism (8233, 2017-07-23)
examples/slips.ism (3613, 2017-07-23)
examples/slipsNested.ism (4694, 2017-07-23)
... ...

The Insomnia Programming Language ================================= Insomnia is a strongly typed probabilistic programming language. Slogans: * A *model* is a distribution over *modules*. * *Model sealing* is marginalization. Documentation ------------- There is a (fairly sparse at this point) [Insomnia User's Guide](https://github.com/ppaml-op3/insomnia/blob/master/docs/guide.md) Some examples are in pretty good shape. See: * [normal.ism](https://github.com/ppaml-op3/insomnia/blob/master/examples/normal.ism) * [tugOfWar.ism](https://github.com/ppaml-op3/insomnia/blob/master/examples/tugOfWar.ism) Building from source - installation instructions ------------------------------------------------ ### Cabal sandbox workflow 1. Make sure you have a recent GHC (7.6+, but 7.8+ is better) 2. Make sure you have a recent cabal with support for sandboxes $ cabal --version cabal-install version 1.20.0.3 using version 1.20.0.0 of the Cabal library 3. Setup a cabal sandbox in the current directory. $ cabal sandbox init This creates a sandbox for insomnia in the current directory. 4. Run the usual cabal build $ cabal install --enable-tests --only-dependencies $ cabal configure --enable-tests $ cabal build $ cabal test Note that installing the upstream dependencies may take a significant amount of time. 5. Try an example in the interpreter $ dist/build/insomnia/insomnia examples/query.ism The expected output is a message that the file typechecked okay, followed by a pretty-printing of the source code, followed by the state of the type unification algorithm at the end of typechecking, followed by the elaboration to core FΩ, followed by something like: ---------------------------------------- Typechecking FΩ FOmega type is: {M : Dist {x : {val : Int}}} ---------------------------------------- Running FΩ pack inj Cons {#0 = {x = {val = 1}}, ... several dozen more lines of output ... (Sorry, the backend is a work in progress) ### Building HTML and PDF versions of the User's guide: The documentation is in Markdown format. You will need [Pandoc](https://github.com/ppaml-op3/insomnia/blob/master/http://pandoc.org/) to build HTML and PDF versions. make -C docs Compiler -------- There is an insomnia compiler, called `insomniac` that outputs [Gamble](https://github.com/ppaml-op3/insomnia/blob/master/https://github.com/rmculpepper/gamble) code. It's also a work in progress. ``` $ dist/build/insomniac/insomniac examples/evalSimplest.ism ```

近期下载者

相关文件


收藏者