Skip to content

feat: heuristic selection of lean4web project by version string #74

@jcreedcmu

Description

@jcreedcmu

Presently, one can select which "project" is used with the URI fragment, e.g.

https://live.lean-lang.org/#project=mathlib-stable

When another webpage somewhere on the internet makes a link to https://live.lean-lang.org/ with some particular codez, it could name a particular project to run with, but the version of lean specified in that project's lean-toolchain changes over time. It could happen that the lean code would be valid on one date, and silently become invalid as lean4web upgrades its projects' lean version.

It would be useful if there was a way for a link to specify that it intends its code to be run at a fixed version of lean, e.g. v4.123.0. Something like

https://live.lean-lang.org/#version=v4.123.0&codez=...

might look through the available projects and find one that matches the version given. In the event that no such project exists, lean4web might choose an arbitrary project, and display some kind of warning, informing the user that their code might still work on the current version, but that they shouldn't be surprised if it doesn't, and point them perhaps at release notes or whatever other documentation might help them figure out how to migrate it to be valid at more recent versions of lean, or to install an older version on their own machine, or the like.

This feature would be particularly useful for lean reference documentation, because then we could publish versions of the documentation (each one knowing which version it is) to https://live.lean-lang.org/ that would "age gracefully" without needing their URI to change.

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionA question which does not immediately call for action/changes

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions