Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Lean 4 as default in documentation and unqualified toolchain references #98

Merged
merged 4 commits into from
Jun 30, 2023

Conversation

Kha
Copy link
Member

@Kha Kha commented Jun 27, 2023

No description provided.

@Kha Kha changed the title Use Lean 4 as default in documentation and unqualified toolchains Use Lean 4 as default in documentation and unqualified toolchain references Jun 27, 2023
@kim-em
Copy link
Contributor

kim-em commented Jun 27, 2023

One thought about the documentation:

The fact that you can create custom releases of Lean 4 simply by pushing a tag to your own fork, and then specifying e.g. semorrison/lean4:release-20230620-max either in lean-toolchain or with elan toolchain, seems to be a secret only "documented" in zulip. Might we want to add a sentence or two here? This is really useful to know if when you need to test changes against mathlib (and want CI assistance, so mere elan override with a local Lean 4 is insufficient).

@Kha
Copy link
Member Author

Kha commented Jun 28, 2023

@semorrison I think it's roughly documented at the right place:

$ elan toolchain help
elan-toolchain
Modify or query the installed toolchains

USAGE:
    elan toolchain <SUBCOMMAND>

FLAGS:
    -h, --help    Prints help information

SUBCOMMANDS:
    list         List installed toolchains
    install      Install or update a given toolchain
    uninstall    Uninstall a toolchain
    link         Create a custom toolchain by symlinking to a directory
    help         Prints this message or the help of the given subcommand(s)

DISCUSSION:
    Many `elan` commands deal with *toolchains*, a single
    installation of the Lean theorem prover. `elan` supports multiple
    types of toolchains. The most basic track the official release
    channel: 'nightly'; but `elan` can also install toolchains from
    the official archives and from local builds.

    Standard release channel toolchain names have the following form:

        [<origin>:]<channel>[-<date>]

        <channel>       = nightly|<version>
        <date>          = YYYY-MM-DD

    'channel' is either a named release channel or an explicit version
    number, such as '4.0.0-m5'. Channel names can be optionally appended
    with an archive date, as in 'nightly-2018-04-10', in which case
    the toolchain is downloaded from the archive for that date.
    'origin' can be used to refer to custom forks of Lean on Github;
    the default is 'leanprover/lean'. For nightly versions, '-nightly'
    is appended to the value of 'origin'.

    elan can also manage symlinked local toolchain builds, which are
    often used to for developing Lean itself. For more information see
    `elan toolchain help link`.

That doesn't tell you how to create such a release, but that doesn't really belong to elan's documentation

@kim-em
Copy link
Contributor

kim-em commented Jun 29, 2023

I've added information about generating releases from tags at leanprover/lean4#2302.

Let's merge this, and I'll update the community webpage docs!

@Kha Kha merged commit 591df62 into leanprover:master Jun 30, 2023
@Kha Kha deleted the lean4 branch June 30, 2023 13:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants