I’m not sure I understand how a C++ FFI affects whether we’re interchangeable with Stan or CmdStan. Isn’t the use of CmdStan a hack necessitated by the absence of a strong C++ FFI, which would allow us to interface directly with Stan itself?
— John On Jul 9, 2014, at 8:43 AM, Rob J. Goedman <goed...@icloud.com> wrote: > Viral, > > Didn't know about the 'shared grant proposal', certainly a tasty bit of info > that should not get lost! > > John, > > Both Ben (Goodrich) and Bob (Carpenter) of the Stan team pointed me to > another Julia package: > > https://github.com/brian-j-smith/Mamba.jl > > Brian has contributed and maintained the boa package for R. Mamba looks very, > very promising. With little red ears I'm studying the package. > > It was also pointed out to me I'd forgotten to mention that Stan.jl requires > Julia's v0.3-prerelease (as it uses the new DataFrames). > > Finally, a significant part of the value of CmdStan/Stan is the Stan team & > community. Even with a mature C++ FFI, I would like to remain as > 'interchangeable' with both Stan and CmdStan as possible. > > Rob J. Goedman > goed...@icloud.com > > > > On Jul 7, 2014, at 4:54 PM, John Myles White <johnmyleswh...@gmail.com> wrote: > >> This is really nice to have. I'll definitely be using it for some of my work. >> >> Now that Keno's been working on a C++ FFI, we might even be able to avoid >> using CmdStan. >> >> -- John >> >> On Jul 7, 2014, at 4:40 PM, Viral Shah <vi...@mayin.org> wrote: >> >>> It is great to have a Stan interface. I personally do not do MCMC stuff, >>> but there are mailing list threads discussing it. Julia and Stan also >>> shared a grant proposal at one point - so now this makes everything come a >>> full circle! >>> >>> -viral >>> >>> On Monday, July 7, 2014 3:28:17 PM UTC-7, Rob J Goedman wrote: >>> A while ago above question came up on the Julia MCMC issue list ( >>> https://github.com/JuliaStats/MCMC.jl/issues/45 ). >>> >>> I have no idea how much interest there is in such an interface, but I >>> wanted it at least for my own use, in addition to a similar interface to >>> Jags (which I'm working on), and of course Julia's own MCMC.jl is readily >>> available from METADATA. >>> >>> Stan.jl is an initial version of such an interface. It is assumed users >>> have some experience with Julia (REPL, iJulia, LightTable, etc.) and some >>> familiarity with Stan script and data files. >>> >>> To test it, three steps are needed: >>> >>> 1. Install CmdStan as described in the Getting Started sections 2.2, 2.3 >>> (and 2.4 to test it) of the CmdStan Interface User's Guide (Version 2.3.0, >>> Jun 20th, 2014). >>> >>> 2. Set the environment variable STAN_HOME to point to the directory where >>> CmdStan was downloaded, e.g. on OSX I added to my .bash_profile: >>> >>> export STAN_HOME=/Users/rob/Projects/Stan/cmdstan/ >>> launchctl setenv STAN_HOME /Users/rob/Projects/Stan/cmdstan/ >>> >>> The launchctl line (on OSX) will typically only be needed for e.g. >>> LightTable and similar apps that do not inherit the full shell environment. >>> >>> 3. Install Stan.jl: >>> >>> Julia > 'Pkg.add("Stan")' . >>> >>> To test the setup: >>> >>> Julia > Pkg.test("Stan") >>> >>> The README.md file in the Stan.jl package contains a walk-through example, >>> somewhat similar to section 2.4 of the CmdStan Interface User's Guide. >>> >>> This is a first version of Stan.jl and no doubt will need tweaking (and >>> more!). I can't test on non-OSX platforms either, so I will need help to >>> iron out issues on those platforms. >>> >>> Dependent on the level of interest and feedback ( please file >>> requests/issues at https://github.com/goedman/Stan.jl/issues ), additional >>> features will be added as time permits or through 'Pull Requests'. >>> >>> R and Python are in a very different stage of their life cycle compared to >>> Julia and Stan, so I have opted to keep the package lightweight to track >>> changes in both Julia and Stan. >>> >>> The two primary features currently implemented are generating a Model() to >>> be used to automatically generate the command to execute a Stan script and >>> the use of make to minimize the number of compilations required. >>> >>> This Stan.jl version cannot activate sub-parts of Stan, like R can through >>> Rcpp. By default Stan.jl runs 4 chains when sampling. >>> >>> Regards, >>> Rob J. Goedman >>> goed...@icloud.com >>> >> >