Skip to content
Tech News
← Back to articles

Julia Snail – An Emacs Development Environment for Julia Like Clojure's Cider

read original get Emacs Editor → more articles

Julia Snail

Snail is a development environment and REPL interaction package for Julia in the spirit of Common Lisp’s SLIME and Clojure’s CIDER. It enables convenient and dynamic REPL-driven development.

Snail works on platforms which support libvterm or Eat, which currently means Unix-like systems. It should also work on Windows using WSL.

Refer to the changelog for release notes.

Features

REPL display: Snail uses advanced terminal emulators (libvterm with Emacs bindings or Eat) to display Julia’s native REPL. As a result, the REPL has good performance and far fewer display glitches than attempting to run the REPL in an Emacs-native term.el buffer.

Snail uses advanced terminal emulators (libvterm with Emacs bindings or Eat) to display Julia’s native REPL. As a result, the REPL has good performance and far fewer display glitches than attempting to run the REPL in an Emacs-native buffer. REPL interaction: Snail provides a bridge between Julia code and a Julia process running in a REPL. The bridge allows Emacs to interact with and introspect the Julia image. Among other things, this allows loading entire files and individual functions into running Julia processes.

Snail provides a bridge between Julia code and a Julia process running in a REPL. The bridge allows Emacs to interact with and introspect the Julia image. Among other things, this allows loading entire files and individual functions into running Julia processes. Remote REPLs: Julia sessions on remote machines work transparently with Snail using SSH and Emacs Tramp.

Julia sessions on remote machines work transparently with Snail using SSH and Emacs Tramp. Multimedia and plotting: Snail can display Julia graphics in graphical Emacs instances using packages like Plots and Gadfly.

Snail can display Julia graphics in graphical Emacs instances using packages like Plots and Gadfly. Cross-referencing: Snail is integrated with the built-in Emacs xref system. When a Snail session is active, it supports jumping to definitions of functions and macros loaded in the session.

... continue reading