You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: doc/src/manual/faq.md
+27
Original file line number
Diff line number
Diff line change
@@ -18,6 +18,33 @@ For similar reasons, automated translation to Julia would also typically generat
18
18
19
19
On the other hand, language *interoperability* is extremely useful: we want to exploit existing high-quality code in other languages from Julia (and vice versa)! The best way to enable this is not a transpiler, but rather via easy inter-language calling facilities. We have worked hard on this, from the built-in `ccall` intrinsic (to call C and Fortran libraries) to [JuliaInterop](https://github.com/JuliaInterop) packages that connect Julia to Python, Matlab, C++, and more.
20
20
21
+
## [Public API](@id man-api)
22
+
23
+
### How does Julia define its public API?
24
+
25
+
The only interfaces that are stable with respect to [SemVer](https://semver.org/) of `julia`
26
+
version are the Julia `Base` and standard libraries interfaces described in
27
+
[the documentation](https://docs.julialang.org/) and not marked as unstable (e.g.,
28
+
experimental and internal). Functions, types, and constants are not part of the public
29
+
API if they are not included in the documentation, _even if they have docstrings_.
30
+
31
+
### There is a useful undocumented function/type/constant. Can I use it?
32
+
33
+
Updating Julia may break your code if you use non-public API. If the code is
34
+
self-contained, it may be a good idea to copy it into your project. If you want to rely on
35
+
a complex non-public API, especially when using it from a stable package, it is a good idea
36
+
to open an [issue](https://github.com/JuliaLang/julia/issues) or
37
+
[pull request](https://github.com/JuliaLang/julia/pulls) to start a discussion for turning it
38
+
into a public API. However, we do not discourage the attempt to create packages that expose
39
+
stable public interfaces while relying on non-public implementation details of `julia` and
40
+
buffering the differences across different `julia` versions.
41
+
42
+
### The documentation is not accurate enough. Can I rely on the existing behavior?
43
+
44
+
Please open an [issue](https://github.com/JuliaLang/julia/issues) or
45
+
[pull request](https://github.com/JuliaLang/julia/pulls) to start a discussion for turning the
0 commit comments