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

Note: The julia 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 (e.g. MKL, LLVM, LLVMExtra, or packages that depend on these, like CUDA or Flux) which rely on Julia's bundled versions of its dependencies. For example, Sundials.jl (which is a dependency of DifferentialEquations.jl) fails to precompile with this package, but builds without errors with the official builds. Bugs reported against this binary will be closed.

Install julia-binAUR. The package provides official builds compiled against patched LLVM libs.

Install juliaupAUR. The package provides a binary manager, similar to `rustup`, that allow to use different versions of Julia.

Integration with editors

Vim

Syntax highlighting and more

julia-vim

Linting

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

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.