Coder Social home page Coder Social logo

Comments (9)

WardBrian avatar WardBrian commented on May 28, 2024

Hi -

Can you clarify what you would like to see addressed in this issue?

from bridgestan.

goedman avatar goedman commented on May 28, 2024

The minor issue is simple. Given that cmdstan and bridgestan are related, my suggestion is to call both makefile-s by the same name.

The first question is much harder to answer. Maybe it is possible to delay the check (get_bridgestan()) until later. Currently it is called in init() of BridgeStan.jl which prevents StanSample.jl (or another package that would like to include BridgeStan as a subtree) to define BRIDGESTAN before the library is actually used..

from bridgestan.

sethaxen avatar sethaxen commented on May 28, 2024

get_bridgestan itself doesn't throw the warning. Just __init__ does. What if get_bridgestan was changed to:

function get_bridgestan()
    path = get(ENV, "BRIDGESTAN", nothing)
    path === nothing && throw(ErrorException("BridgeStan path was not set, compilation will not work until you call `set_bridgestan_path!()`"))
    return path
end

This waits to check that BRIDGESTAN is set until it's needed. And since it's needed, instead of logging a warning, an error is thrown if it's not available.

from bridgestan.

bob-carpenter avatar bob-carpenter commented on May 28, 2024

Hi, Rob (@goedman): The plan is to factor out the dependency of BridgeStan on CmdStan's makefiles with the next Stan release. That is, we don't want someone to have to deal with any aspect of CmdStan in order to use BridgeStan. The main application we see is algorithm development.

I'm also not inclined to move this project to the Stan-dev org, because I don't want to be governed by community voting on interfaces. I've been outvoted on all of our interfaces in the past, so I'd prefer to keep this one outside of that process.

from bridgestan.

sethaxen avatar sethaxen commented on May 28, 2024

I'm also not inclined to move this project to the Stan-dev org, because I don't want to be governed by community voting on interfaces. I've been outvoted on all of our interfaces in the past, so I'd prefer to keep this one outside of that process.

@bob-carpenter this is a change of topic, but I was just trying to get PosteriorDB.jl transferred to the stan-dev org so it could live with the other posteriordb interfaces. Would you advise against that?

from bridgestan.

bob-carpenter avatar bob-carpenter commented on May 28, 2024

I was just trying to get PosteriorDB.jl transferred to the stan-dev org so it could live with the other posteriordb interfaces. Would you advise against that?

Not at all. That makes sense to roll into posteriordb, especially if you're happy with their interface. That way, other people will help maintain it. Mainly, I wanted to keep BridgeStan out of stan-dev until it was fully formed so I didn't have to negotiate interfaces. We might then roll it into the project. That's what Måns Magnusson did with posteriordb itself and what Paul Bürkner did with brms (and that still isn't on Stan-dev).

from bridgestan.

WardBrian avatar WardBrian commented on May 28, 2024

I think throwing an error in the compile methods rather than a warning at load is a good idea. The same probably goes for the Python interface.

from bridgestan.

WardBrian avatar WardBrian commented on May 28, 2024

Re: makefile vs Makefile, I agree with the recommendation GNU make has for Makefile (mainly that it stands out)

from bridgestan.

goedman avatar goedman commented on May 28, 2024

Thanks a lot for fixing this so quickly!!!!

from bridgestan.

Related Issues (20)

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.