Julia

From ArchWiki
Note: https://julialang.org/ has beautiful and open-source documentation, non-Arch-specific information should be contributed there.

Julia is a high-level, high-performance dynamic programming language for numerical computing. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library.

Installation

You can install one of three packages:

Note: This package is compiled against system libraries and is therefore unsupported by the upstream. While it may be suitable for basic usage, it is incompatible with external packages (or their dependents) which rely on Julia's bundled versions of its dependencies (e.g. Sundials.jl). Bugs reported to Julia's maintainers against this binary will be closed.
  • julia-binAUR provides official builds compiled against patched LLVM libs.
  • juliaupAUR provides a binary manager, similar to rustup, that allows to use different versions of Julia.

Troubleshooting

If you get the following error while using pyplots() with julia-binAUR,

WARNING: You are using Matplotlib 0.0.0, which is no longer officialy supported by the Plots community. To ensure smooth Plots.jl integration update your Matplotlib library to a version >= 2.0.0

first install python-matplotlib and tk. Then, install VersionParsing.jl with ] add VersionParsing within the Julia prompt[1], and restart Julia.

Integration with editors

Vim

Syntax highlighting and more

julia-vim

Linting

The julialint plugin combined with the Lint.jl package can provide linting.

REPL vim bindings

The VimBindings.jl package provides vim emulation within the Julia REPL.

Emacs

Syntax highlighting

julia-emacs.

Linting

lsp-julia: provides linting using the LSP protocol.

REPL integration

julia-repl: for interacting with a Julia REPL running inside Emacs.