JULIA(1)

๐Ÿ“ฆ
version 1.12.1 ยท 3 versions
, in fedora 44, nixos 26.05

๐Ÿ’– JULIA(1) โ€” the manual, but make it slay ๐Ÿ’–

okay bestie, gather round, because we're about to read the manual for julia, a high-level, high-performance dynamic programming language for technical computing. yes it's a whole manual. yes it's long. no we're not skipping anything. let's get into it ๐Ÿ’…


โœจ NAME โœจ

julia โ€” a high-level, high-performance dynamic programming language for technical computing ๐Ÿฆ‹


โœจ SYNOPSIS โœจ

julia [OPTIONS...] -- [PROGRAMFILE] [ARGS...]

so here's the vibe: if you hand Julia a Julia source file as a PROGRAMFILE (and you can optionally pass ARGS after it), Julia runs that program and then dips. periodt. ๐Ÿ‘‘


โœจ DESCRIPTION โœจ

Julia is a high-level, high-performance dynamic programming language for technical computing, and its syntax feels super familiar if you've ever touched other technical computing environments. no cap. ๐ŸŒธ

It's got a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. and the library? largely written in Julia itself, and it also integrates mature, best-of-breed C and Fortran libraries for linear algebra, random number generation, signal processing, and string processing. iconic behavior honestly. โœจ

on top of all that, the Julia developer community is contributing a number of external packages through Julia's built-in package manager at a rapid pace. we love to see it. ๐Ÿซถ

Julia programs are organized around multiple dispatch โ€” you define functions and overload them for different combinations of argument types, and those argument types can be user-defined too. it's giving main character energy. ๐Ÿ’…

for a more in-depth discussion of the rationale and advantages of Julia over other systems, please see the online manual: https://docs.julialang.org


โœจ COMMAND-LINE OPTIONS โœจ

  • -v, --version โ€” Display version information ๐Ÿ‘‘
  • -h, --help โ€” Print command-line options (this message) ๐ŸŽ€
  • --help-hidden โ€” Print uncommon options not shown by -h ๐Ÿ™ˆ
  • --project[=<dir>/@.] โ€” Set <dir> as the active project/environment. The default @. option will search through parent directories until a Project.toml or JuliaProject.toml file is found. ๐Ÿ”
  • -J, --sysimage <file> โ€” Start up with the given system image file ๐Ÿ–ผ๏ธ
  • -H, --home <dir> โ€” Set location of julia executable ๐Ÿ 
  • --startup-file={yes*|no} โ€” Load JULIA_DEPOT_PATH/config/startup.jl; if JULIA_DEPOT_PATH environment variable is unset, load ~/.julia/config/startup.jl โš™๏ธ
  • --handle-signals={yes*|no} โ€” Enable or disable Julia's default signal handlers ๐Ÿ“ถ
  • --sysimage-native-code={yes*|no} โ€” Use native code from system image if available ๐Ÿ’พ
  • --compiled-modules={yes*|no|existing|strict} โ€” Enable or disable incremental precompilation of modules. The existing option allows use of existing compiled modules that were previously precompiled, but disallows creation of new precompile files. The strict option is similar, but will error if no precompile file is found. ๐Ÿ˜ค
  • --pkgimages={yes*|no|existing} โ€” Enable or disable usage of native code caching in the form of pkgimages. The existing option allows use of existing pkgimages but disallows creation of new ones ๐Ÿ–ผ๏ธ
  • -e, --eval <expr> โ€” Evaluate <expr> ๐Ÿงฎ
  • -E, --print <expr> โ€” Evaluate <expr> and display the result ๐Ÿ–จ๏ธ
  • -m, --module <Package> [args] โ€” Run entry point of Package (@main function) with args ๐Ÿš€
  • -L, --load <file> โ€” Load <file> immediately on all processors ๐Ÿ“‚
  • -t, --threads {auto|N[,auto|M]} โ€” Enable N[+M] threads; N threads are assigned to the default threadpool, and if M is specified, M threads are assigned to the interactive threadpool; auto tries to infer a useful default number of threads to use but the exact behavior might change in the future. Currently sets N to the number of CPUs assigned to this Julia process based on the OS-specific affinity assignment interface if supported (Linux and Windows) or to the number of CPU threads if not supported (MacOS) or if process affinity is not configured, and sets M to 1. ๐Ÿงต
  • --gcthreads=N[,M] โ€” Use N threads for the mark phase of GC and M (0 or 1) threads for the concurrent sweeping phase of GC. N is set to the number of compute threads and M is set to 0 if unspecified. ๐Ÿ—‘๏ธ
  • -p, --procs {N|auto} โ€” Integer value N launches N additional local worker processes. auto launches as many workers as the number of local CPU threads (logical cores) ๐Ÿ‘ฏ
  • --machine-file <file> โ€” Run processes on hosts listed in <file> ๐Ÿ–ฅ๏ธ
  • -i, --interactive โ€” Interactive mode; REPL runs and isinteractive() is true ๐ŸŽฎ
  • -q, --quiet โ€” Quiet startup: no banner, suppress REPL warnings ๐Ÿคซ
  • --banner={yes|no|short|auto*} โ€” Enable or disable startup banner ๐ŸŽ
  • --color={yes|no|auto*} โ€” Enable or disable color text ๐ŸŒˆ
  • --history-file={yes*|no} โ€” Load or save history ๐Ÿ“œ
  • --depwarn={yes|no*|error} โ€” Enable or disable syntax and method deprecation warnings (error turns warnings into errors) โš ๏ธ
  • --warn-overwrite={yes|no*} โ€” Enable or disable method overwrite warnings ๐Ÿ”
  • --warn-scope={yes*|no} โ€” Enable or disable warning for ambiguous top-level scope ๐Ÿ”ญ
  • -C, --cpu-target=<target> โ€” Limit usage of CPU features up to <target>; set to help to see the available options ๐ŸŽฏ
  • -O, --optimize={0|1|2*|3} โ€” Set the optimization level (level 3 if -O is used without a level) โšก
  • --min-optlevel={0*|1|2|3} โ€” Set a lower bound on the optimization level ๐Ÿ“‰
  • -g, --debug-info={0|1*|2} โ€” Set the level of debug info generation (level 2 if -g is used without a level) ๐Ÿ›
  • --inline={yes*|no} โ€” Control whether inlining is permitted, including overriding @inline declarations ๐Ÿงฉ
  • --check-bounds={yes|no|auto*} โ€” Emit bounds checks always, never, or respect @inbounds declarations ๐Ÿšง
  • --math-mode={ieee|user*} โ€” Always follow ieee floating point semantics or respect @fastmath declarations ๐Ÿ”ข
  • --polly={yes*|no} โ€” Enable or disable the polyhedral optimizer Polly (overrides @polly declaration) ๐Ÿฆœ
  • --code-coverage[={none*|user|all}] โ€” Count executions of source lines (omitting setting is equivalent to user) ๐Ÿ“Š
  • --code-coverage=@<path> โ€” Count executions of source lines in a file or files under a given directory. A @ must be placed before the path to indicate this option. A @ with no path will track the current directory. ๐Ÿ“
  • --code-coverage=tracefile.info โ€” Append coverage information to the LCOV tracefile (filename supports format tokens) ๐Ÿ“
  • --track-allocation[={none*|user|all}] โ€” Count bytes allocated by each source line (omitting setting is equivalent to user) ๐Ÿงฎ
  • --track-allocation=@<path> โ€” Count bytes but only in files that fall under the given file path/directory. The @ prefix is required to select this option. A @ with no path will track the current directory. ๐Ÿ“‚
  • --bug-report=KIND โ€” Launch a bug report session. It can be used to start a REPL, run a script, or evaluate expressions. It first tries to use BugReporting.jl installed in current environment and fallbacks to the latest compatible BugReporting.jl if not. For more information, see --bug-report=help. ๐Ÿž
  • --heap-size-hint=<size> โ€” Forces garbage collection if memory usage is higher than the given value. The value may be specified as a number of bytes, optionally in units of KB, MB, GB, or TB, or as a percentage of physical memory with %. ๐Ÿ—‘๏ธ
  • --compile={yes*|no|all|min} โ€” Enable or disable JIT compiler, or request exhaustive or minimal compilation ๐Ÿ› ๏ธ
  • --output-o <name> โ€” Generate an object file (including system image data) ๐Ÿ“ฆ
  • --output-ji <name> โ€” Generate a system image data file (.ji) ๐Ÿ—ƒ๏ธ
  • --strip-metadata โ€” Remove docstrings and source location info from system image ๐Ÿงน
  • --strip-ir โ€” Remove IR (intermediate representation) of compiled functions ๐Ÿ—‘๏ธ
  • --output-unopt-bc <name> โ€” Generate unoptimized LLVM bitcode (.bc) ๐Ÿ“„
  • --output-bc <name> โ€” Generate LLVM bitcode (.bc) ๐Ÿ“„
  • --output-asm <name> โ€” Generate an assembly file (.s) ๐Ÿ“„
  • --output-incremental={yes|no*} โ€” Generate an incremental output file (rather than complete) ๐Ÿ“ˆ
  • --trace-compile={stderr|name} โ€” Print precompile statements for methods compiled during execution or save to stderr or a path. Methods that were recompiled are printed in yellow or with a trailing comment if color is not supported ๐Ÿ’›
  • --trace-compile-timing= โ€” If --trace-compile is enabled show how long each took to compile in ms โฑ๏ธ
  • --trace-dispatch={stderr|name} โ€” Print precompile statements for methods dispatched during execution or save to stderr or a path. ๐ŸŽฏ
  • --task-metrics={yes|no*} โ€” Enable the collection of per-task metrics. ๐Ÿ“
  • -image-codegen โ€” Force generate code in imaging mode ๐Ÿ–ผ๏ธ
  • --permalloc-pkgimg={yes|no*} โ€” Copy the data section of package images into memory ๐Ÿ’พ

โœจ FILES AND ENVIRONMENT โœจ

See https://docs.julialang.org/en/v1/manual/environment-variables/ ๐ŸŒ


โœจ BUGS โœจ

Please report any bugs using the GitHub issue tracker: https://github.com/julialang/julia/issues?state=open ๐Ÿ›


โœจ AUTHORS โœจ

Contributors: https://github.com/JuliaLang/julia/graphs/contributors ๐Ÿ‘‘


โœจ INTERNET RESOURCES โœจ


โœจ LICENSING โœจ

Julia is an open-source project. It is made available under the MIT license. ๐Ÿ“œ


JULIA โ€” version dated 2023-09-01 โ€” this manual page is JULIA(1). and that's the whole thing, bestie. you're officially a Julia girlie now. go compile something iconic. ๐Ÿ’–โœจ๐ŸŽ€๐Ÿฆ‹๐ŸŒธ๐Ÿ’…๐Ÿซถ๐Ÿ˜ญ๐Ÿ”ฅ๐Ÿ‘‘๐ŸŒˆโญ๐Ÿ’€๐Ÿ™ˆ๐Ÿ“๐Ÿงš๐Ÿ’œ

๐Ÿ“ฆ where this page comes from