Skip to content

Accommodating different Stan variants #289

@WardBrian

Description

@WardBrian

"Variants" in the title refers to either a different version (e.g., someone really wants to keep using Stan 2.x even after the public server has updated to 2.7), or to packages that add features to Stan, the main example of which is Torsten (which @charlesm93 and @yizhang-yiz have both asked me about)

This is in one sense really simple: Build the backend server with a different branch of tinystan that is customized as you see fit, and you're 'done'. For example, https://github.com/WardBrian/tinystan/tree/tinytorsten was my attempt a little while back to get Torsten's extensions working, and it seems to have just fine.

On the other hand, we do ship a copy of the stanc3 compiler in the frontend, which means that:

  1. the syntax checks would desync between the frontend and backend (would mostly be unfortunate, not world-ending, except)
  2. we block you from even clicking compile when the frontend thinks there is a syntax error

Some solutions:

  • Allow you to try to compile even when the syntax checker disagrees. Not satisfying, but would 'fix' the main issue
  • Allow users to specify their own variant somehow (probably a link to a stanc.js they want to use)
  • Allow the server to respond to the probe message on first connect with a custom stanc.js link to use

Assuming 2 or 3, we may want to also consider how these interact with sharing, etc. It would now be possible to create a link which is only valid when connected to certain servers or with certain settings set.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featurequestionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions