From 894dfcfb5ff75497fe964aec0da5baac0ef6f266 Mon Sep 17 00:00:00 2001 From: Gerard Vermeulen Date: Mon, 26 Feb 2024 19:15:11 +0100 Subject: [PATCH] Add a section on Julia programming --- README.org | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/README.org b/README.org index 9ca7c45..2112cb6 100644 --- a/README.org +++ b/README.org @@ -5865,7 +5865,8 @@ byte code: :CUSTOM_ID: sec:go-programming :END: -1. [[https://gobyexample.com/][Go by example]] +Links for further investigation are: +1. [[https://gobyexample.com/][Go by example]] is a showcase of short examples with explanations. #+caption[Setup Go programming]: #+caption: Setup Go programming. @@ -5881,6 +5882,59 @@ byte code: (add-to-list 'auto-mode-alist `(,(rx ".go" eos) . go-ts-mode))) #+end_src +** [[https://julialang.org/][Julia programming]] +:PROPERTIES: +:CUSTOM_ID: sec:julia-programming +:END: + +Links for further investigation are: +1. Application of the [[https://docs.julialang.org/en/v1/stdlib/Pkg/][Julia Pkg documentation]] requires {{{kbd(M-x term)}}} or a + terminal because the inferior Julia interpreter provides no genuine terminal. +2. [[https://github.com/emacs-ess/ESS/wiki/Julia][ESS support for the Julia language]] is a somewhat outdated description of how to + obtain [[https://julialang.org/][Julia]] support for [[https://ess.r-project.org/][Emacs Speaks Statistics]] and [[https://www.gnu.org/software/emacs/][Emacs]]. +3. [[https://www.packtpub.com/product/hands-on-design-patterns-and-best-practices-with-julia/9781838648817][Hands-On: Design Patterns and Best Practices with Julia]] is a Julia book with + good reviews. +4. [[https://juliabyexample.helpmanual.io/][Julia by example]] is a showcase of 1- or 2-liners. +5. [[https://nostarch.com/practical-julia][Practical Julia]] is Julia book with good reviews. +6. The list of installed packages in listing [[lst:list-julia-packages-result]] + facilitate [[https://orgmode.org/worg/org-contrib/babel/languages/ob-doc-julia.html][Julia Code Blocks in Babel]] because the list contains [[https://github.com/JuliaData/CSV.jl][CSV]] and + [[https://dataframes.juliadata.org/stable/][DataFrames]]. +Listing [[lst:setup-julia]] setups [[https://julialang.org/][Julia]] support but requires manual tweaking of +[[../VCS/ESS/Makefile][Makefile]] to replace [[https://en.wikipedia.org/wiki/Sed][sed]] with [[https://formulae.brew.sh/formula/gnu-sed][gsed]] and of [[../VCS/ESS/lisp/ess-autoloads.el][ess-autoloads.el]]. + +#+caption[Setup Julia programming]: +#+caption: Setup Julia programming. +#+name: lst:setup-julia +#+begin_src emacs-lisp -n :results silent +(push (expand-file-name "~/VCS/ESS/lisp") load-path) +(when (require 'ess-julia nil 'noerror) + (setopt inferior-julia-program (executable-find "julia")) + (require 'ob-julia) + (ensure-package-installation 'eglot-jl)) +#+end_src + +#+caption[List installed Julia packages]: +#+caption: List installed Julia packages. +#+name: lst:list-julia-packages +#+header: :wrap "src toml -n" +#+begin_src shell :exports both :results raw +cat "$HOME/.julia/environments/v1.10/Project.toml" +#+end_src + +#+caption[List installed Julia packages result]: +#+caption: List installed Julia packages result. +#+name: lst:list-julia-packages-result +#+RESULTS: lst:list-julia-packages +#+begin_src toml -n +[deps] +CSV = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" +DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" +IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" +LanguageServer = "2b0e0bc5-e4fd-59b4-8912-456d1b03d8d7" +Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" +#+end_src + ** [[https://www.seas.upenn.edu/~chaoliu/2017/09/01/python-programming-in-emacs/][Python programming]] :PROPERTIES: :CUSTOM_ID: sec:python-programming