Replies: 14 comments
-
I'm not aware of a good solution. |
Beta Was this translation helpful? Give feedback.
-
Why does Lean copilot need to be built with the Lean project it's being used on? |
Beta Was this translation helpful? Give feedback.
-
It uses |
Beta Was this translation helpful? Give feedback.
-
Sorry, that wasn't my question. It makes sense for copilot to depend on Std. But usually a developer tool would get built once, and then be useable with any project. Why does copilot get built as part of the project a developer wants to use copilot on? |
Beta Was this translation helpful? Give feedback.
-
If I had a copilot executable that I could combine with any project I was developing, I could use it to develop Std because there wouldn't be a dependency cycle. |
Beta Was this translation helpful? Give feedback.
-
I see. That makes sense. The current status of Lean Copilot is more like a library instead of a standalone developer tool. |
Beta Was this translation helpful? Give feedback.
-
Fair enough - it is a research project after all 😉. Do you know if making copilot a standard dev tool would run into any issues with how lake is designed? I.e. is it just a matter of engineering on Lean copilot, or is there a deeper issue with lake? I've been curious about warnings that a lean project needs to be at the top level of a git repository - building and version control should not be coupled! - so I'm wondering if there are dragons lurking in the build system. |
Beta Was this translation helpful? Give feedback.
-
Regarding Lake, @tydeu is the expert. |
Beta Was this translation helpful? Give feedback.
-
There is no hard requirement that a Lean/Lake package be at the top-level of a Git repository (or in one at all). However, certain package management features do depend on Git/GitHub. Lake uses Git to download remote dependencies and Lake makes use of GitHub for cloud releases. |
Beta Was this translation helpful? Give feedback.
-
@tenedor, @tydeu, I think the real concern here is that we are missing @tydeu, is there an issue tracking |
Beta Was this translation helpful? Give feedback.
-
@semorrison thanks that sounds like the issue. Contributors to a shared project should be able to install their own personal developer tools without infecting the shared state of the project. @tydeu thanks for the context on Lake. |
Beta Was this translation helpful? Give feedback.
-
@semorrison / others - do you have recommendations on how I can nonetheless try using Lean Copilot with the std library? My guess is that the best path forward is to make a new repo MyStdLib that depends on both std and lean copilot, and then use MyStdLib to develop incremental additions to std which I then port to std. This will be limited to add-only changes, but my hunch is that's all Lean Copilot will be helpful for anyway. |
Beta Was this translation helpful? Give feedback.
-
@semorrison
No, not yet. I don't think anyone needed it enough yet to make an issue. |
Beta Was this translation helpful? Give feedback.
-
🤷♀️ Okay, I've made the issue: leanprover/lean4#3423 |
Beta Was this translation helpful? Give feedback.
-
@yangky11 @semorrison @tydeu I'd like to use Lean Copilot to develop std library proofs but the normal install instructions fail. Copilot depends on std, so std can't depend on copilot.
Should it be possible to use Lean Copilot to develop std? If so, what do you recommend?
Thanks.
I tried to hack this by renaming my local instance of std to be std4 but I couldn't get it working. That said, I don't know Lean's build system. If it's useful, here's what I tried:
Running
lake clean; lake build
makes progress for awhile but eventually hits this:Beta Was this translation helpful? Give feedback.
All reactions