SICMUtils, 4
.
The goal of this post is to run SICMUtils in Clojure in Jupyter Notebook.
.
1. Read and follow the exact steps of my post titled “SICMUtils
“.
2. Do the same for my another post “Jupyter Notebook
“.
.
3. Use Emacs
to open the file:
~/my-stuff/project.clj
4. Replace the existing :dependencies
line with this one:
:dependencies [[org.clojure/clojure "1.11.1"]
[sicmutils "0.22.0"]
[clojupyter "0.3.3"]]
And make sure that all version numbers are the most updated ones.
5. Save the file.
.
6. In bash terminal, go to your project folder such as “~/my-stuff
“:
cd ~/my-stuff
7. Run this to download all the dependencies of the project.
lein deps
.
8. Clojupyter
is a Jupyter kernel for Clojure. According to its documentation, Clojupyter
has provided some command line tools. However, I could not understand how to use those commands in the bash terminal.
Finally, I found out that to run a Clojupyter
command, such as “list-commands
“, we just need to add the following code before it:
lein run -m clojupyter.cmdline
.
That results the whole command as
lein run -m clojupyter.cmdline list-commands
However, that would be wordy. So we create a shortcut for it.
.
9. Use Emacs
to open the file:
~/my-stuff/project.clj
10. Below the entry “:dependencies
“, add another one called “:aliases
“.
:dependencies [[org.clojure/clojure "1.11.1"]
[sicmutils "0.22.0"]
[clojupyter "0.3.3"]]
;
:aliases {"cjcmd"
;
["run" "-m" "clojupyter.cmdline"]}
11. Then, the shortcut is made. To test, run:
lein cjcmd list-commands
.
12. Go to your project folder:
cd ~/my-stuff
13. And then run
lein uberjar
to create a binary file named my-stuff-0.1.0-SNAPSHOT-standalone.jar
, which includes not only the program itself, but also all its dependencies.
We are going to use it to generate a Jupyter
kernel that includes not only the Clojure
language, but also the SICMUtils
mechanics library.
.
14. For the following code,
lein cjcmd install
--ident cj-kernel
--jarfile
~/my-stuff/target/uberjar/standalone.jar
replace the file name
standalone.jar
with
my-stuff-0.1.0-SNAPSHOT-standalone.jar
15. In the bash terminal, run the code in one line.
.
16. In your OS, try to open the SageMath
program. It will open a Jupyter
notebook page.
17. Click the “New” button at the top right corner and then select “cj-kernel
“.
18. There might be some error messages, such as
“The kernel appears to have died. It will restart automatically.”
However, you can actually use the program, i.e. the Clojure
language with the SICMUtils
mechanics library.
.
19. Type
(clojure-version)
onto the input line.
20. Hit the keys shift-enter
to get the output.
.
21. Input
(require '[sicmutils.env :as env])
and hit shift-enter
.
22. Also
(env/bootstrap-repl!)
There might be some WARNING messages. But you can just ignore them.
.
23. Code
(->TeX (simplify ((D cube) 'x)))
will result
3\\,{x}^{2}
.
24. Test some code examples provided by the official website of Clojupyter
.
.
25. Go to the official website of SICMUtils
. Go to its jupyter
directory to read the example notebooks.
sicmutils/jupyter/
.
26. Go to the documentation of SICMUtils
. Read the page “Comparison to scmutils
“.
— Me@2022-07-30 12:18:50 PM
— Me@2022-08-18 09:07:36 AM
.
.
2022.08.18 Thursday (c) All rights reserved by ACHK
You must be logged in to post a comment.