Zulip Chat Archive
Stream: general
Topic: import all files
Floris van Doorn (Jul 29 2019 at 19:12):
I want a file that imports all files in mathlib. I don't think that there is currently a good way to do that.
Shall I make a PR that for every folder in src/
creates a file all.lean
which imports all files in that folder?
Simon Hudon (Jul 29 2019 at 19:15):
What do you need that for?
Floris van Doorn (Jul 29 2019 at 19:19):
I want to write some commands to clean up stuff in mathlib. For example, I have a command now that detects all declarations in all imported files with an argument that is unused. This is often by mistake.
Simon Hudon (Jul 29 2019 at 19:24):
I wouldn't want to commit those all
files in mathlib but you could write a command that generates them when you want to run that command. We can even get Travis to run it
Floris van Doorn (Jul 29 2019 at 19:25):
that is reasonable.
Simon Hudon (Jul 29 2019 at 19:27):
I would also like a command to cleanup those files please
Johan Commelin (Jul 29 2019 at 19:44):
ls -R | grep all.*lean | xargs rm
Simon Hudon (Jul 29 2019 at 20:06):
If we use a sh/bash script to do the automation, that makes sense (almost) but if it's scripted from within Lean, let's do the deletion in Lean too
Floris van Doorn (Jul 29 2019 at 21:18):
I'm currently writing an sh script to making these all.lean
files. Is there a way of doing it inside Lean? Using the io monad?
Simon Hudon (Jul 29 2019 at 21:23):
Yes, Lean has a file interface that you can use
Scott Morrison (Jul 29 2019 at 21:53):
Is there actually anything wrong with having a permanent all.lean
?
Simon Hudon (Jul 29 2019 at 21:56):
Yes, we need to update it routinely for it to be useful, that's not a useful maintenance burden to take on. Also, it doesn't go in the direction of minimizing dependencies. Finally, it's not a feature of mathlib, it's an implementation of a tool
Scott Morrison (Jul 29 2019 at 21:59):
Ok! :-) Somehow I hadn't thought about the need to constantly update...
Floris van Doorn (Jul 29 2019 at 22:02):
See PR #1281. If we ever decide to add the all.lean
files to mathlib, we can also use the mk_all
script to update.
Simon Hudon (Jul 29 2019 at 22:06):
Sorry, I feel like I'm being curt. It's just I think it's really not worth it. It's better to add mk_all
in the build system so that we can be sure that they are up to date when we need them
Floris van Doorn (Jul 29 2019 at 22:17):
I'm fine with that.
Last updated: Dec 20 2023 at 11:08 UTC