Giter Site home page Giter Site logo

Comments (10)

jgabry avatar jgabry commented on May 28, 2024

from rstantools.

jgabry avatar jgabry commented on May 28, 2024

@mlysy sorry for the delay in getting back to you. Yes, a pull request would be great! Would it be possible to make a PR that doesn't break the 1.5.0 release? That is, can you submit a PR that adds what you're proposing to the changes we made in the latest release so we don't have to, for example, immediately backtrack to using package.skeleton(), etc? If that's possible then we would more than welcome a pull request with the vast majority of what you're proposing! Thanks for all the work you've already done on this.

from rstantools.

jgabry avatar jgabry commented on May 28, 2024

One question just to clarify: was your proposal to replace the current rstan_package_skeleton with the contents of rstan_package_skeleton_plus or to have the _plus version as a separate function. I assume the former, right?

from rstantools.

mlysy avatar mlysy commented on May 28, 2024

@jgabry delighted that you are OK with me submitting a PR! 😆

  • Yes, I did intend for rstan_package_skeleton to be overwritten with the current contents of _plus.

  • As for replacing the internal call to utils::package.skeleton by one to usethis::create_package, I am more than happy to do so! One thing though: can I suggest that we stick more closely with the original function signature, namely:

    rstan_package_skeleton <- function(name, path, code_files, stan_files, ...)

    I probably skipped a few args, but the reason I ask is that many people have written package.skeletons and they all require more or less the same inputs. A few examples are found in packages Rcpp, RcppEigen, RcppArmadillo, Rclusterpp, and SimInf. So I and perhaps other useRs expect these functions to work a certain way.

    On the other hand, functions with a similar purpose to package.skeleton but with very different signatures tend to be named differently. Some examples I'm aware of are usethis::create_package, devtools::create and skeletor::skeletor.

    Hope I'm not being too nit-picky here...let me know what you think!

from rstantools.

jgabry avatar jgabry commented on May 28, 2024

Great! I actually think the best option might be to offer rstan_package_skeleton (with arg names changed back like you say) and also create_rstan_package, which is the same function internally (probably one a wrapper of the other) but with a different signature. That way we cater to both crowds. What do you think?

from rstantools.

jgabry avatar jgabry commented on May 28, 2024

I also definitely think we should have the use_rstan function you added

from rstantools.

jgabry avatar jgabry commented on May 28, 2024

General comment: given that rstan_package_skeleton is only used to create packages and not for calling within a package we have a bit more flexibility with making breaking changes if they are substantial improvements.

from rstantools.

mlysy avatar mlysy commented on May 28, 2024

I love it! I need to spend the next few days on my day-job but will have the PR ready shortly.

from rstantools.

jgabry avatar jgabry commented on May 28, 2024

Awesome. No rush!

from rstantools.

jgabry avatar jgabry commented on May 28, 2024

closing this now that #44 is finally merged!

from rstantools.

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.