(on hold): If you have a function called `main`, you may need to tweak it

That was also my first impression but now I think it would be a confusing hack: this main is really about Main, not Base, and it’s not a regular method. So Base.main would be misleading.

Here’s what Keno wrote in the PR:

This is not workable, because this is designed to support Main.main bindings that are things other than methods of a generic functions. It also breaks the julia -e 'using MyApp' thing, because it requires type piracy and if some other package also has a main function, suddenly you’ve broken precompile.

Also, “making compilation first class” is a huge deal and a massive win for the language, and first class means main rather than something “convoluted” like Base.main.

3 Likes