From 95cc2484a8672cac4d5ee64d524a9a9e5636ac3a Mon Sep 17 00:00:00 2001 From: Shuhei Kadowaki Date: Sun, 4 May 2025 17:17:48 +0900 Subject: [PATCH 1/2] release Compiler stdlib v0.0.0 The `Compiler.jl` implementation added by this commit is not bootstrappable and is solely intended to be registered in the Julia package registry. For details on the design and usage of this Compiler standard library, please refer to the included docstring. --- Compiler/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Compiler/Project.toml b/Compiler/Project.toml index 994634f5a8b78..7113a60318984 100644 --- a/Compiler/Project.toml +++ b/Compiler/Project.toml @@ -1,6 +1,6 @@ name = "Compiler" uuid = "807dbc54-b67e-4c79-8afb-eafe4df6f2e1" -version = "0.0.3" +version = "0.0.0" [compat] julia = "1.10" From a8f3e4d0603692ac79700890d3e8d35e904e000e Mon Sep 17 00:00:00 2001 From: Shuhei Kadowaki Date: Mon, 5 May 2025 12:50:46 +0900 Subject: [PATCH 2/2] add README to /Compiler --- Compiler/README.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Compiler/README.md diff --git a/Compiler/README.md b/Compiler/README.md new file mode 100644 index 0000000000000..aa1f6a0c92827 --- /dev/null +++ b/Compiler/README.md @@ -0,0 +1,45 @@ +# The `Compiler` module + +This directory maintains the implementation of the Julia compiler. + +Through a bootstrapping process, it is bundled into the Julia runtime as `Base.Compiler`. + +You can also use this `Compiler` module as the `Compiler` standard library by following the steps below. + +## How to use + +To utilize this `Compiler.jl` standard library, you need to declare it as a dependency in +your `Project.toml` as follows: +> Project.toml +```toml +[deps] +Compiler = "807dbc54-b67e-4c79-8afb-eafe4df6f2e1" + +[compat] +Compiler = "0" +``` + +With the setup above, [the special placeholder version (v0.0.0)](https://github.com/JuliaLang/BaseCompiler.jl) +will be installed by default.[^1] + +[^1]: Currently, only version v0.0.0 is registered in the [General](https://github.com/JuliaRegistries/General) registry. + +If needed, you can switch to a custom implementation of the `Compiler` module by running +```julia-repl +pkg> dev /path/to/Compiler.jl # to use a local implementation +``` +or +```julia-repl +pkg> add https://url/of/Compiler/branch # to use a remote implementation +``` +This feature is particularly useful for developing or experimenting with alternative compiler implementations. + +> [!note] +> The Compiler.jl standard library is available starting from Julia v1.10. +> However, switching to a custom compiler implementation is supported only from +> Julia v1.12 onwards. + +> [!warning] +> When using a custom, non-`Base` version of `Compiler` implementation, it may be necessary +> to run `InteractiveUtils.@activate Compiler` to ensure proper functionality of certain +> reflection utilities.