diff --git a/gnu/packages/julia-xyz.scm b/gnu/packages/julia-xyz.scm index 417dd0fb96..caa3ce7cdf 100644 --- a/gnu/packages/julia-xyz.scm +++ b/gnu/packages/julia-xyz.scm @@ -1663,3 +1663,33 @@ including support for stepping debuggers.") (synopsis "Tools for manipulating Julia's lowered code") (description "This package performs operations on Julia's lowered AST.") (license license:expat))) + +(define-public julia-revise + (package + (name "julia-revise") + (version "2.2.1") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/timholy/Revise.jl") + (commit (string-append "v" version)))) + (file-name "Revise") + (sha256 + (base32 "1rs7d32iiv34x8zs08bn5a4bp11yy4q6hm0rsh3n85ga0rbk0xsr")))) + (propagated-inputs + `(("julia-codetracking" ,julia-codetracking) + ("julia-loweredcodeutils" ,julia-loweredcodeutils) + ("julia-juliainterpreter" ,julia-juliainterpreter) + ("julia-orderedcollections" ,julia-orderedcollections))) + (build-system julia-build-system) + (home-page "https://timholy.github.io/Revise.jl/stable/") + (synopsis "Automatically update function definitions in a running Julia +session") + (description "@code{Revise.jl} allows you to modify code and use the changes +without restarting Julia. With Revise, you can be in the middle of a session +and then update packages, switch git branches, and/or edit the source code in +the editor of your choice; any changes will typically be incorporated into the +very next command you issue from the REPL. This can save you the overhead of +restarting Julia, loading packages, and waiting for code to JIT-compile.") + (license license:expat)))