Skip to content

Commit 035aa1e

Browse files
committed
Expand setup instructions in README
1 parent 6f70be5 commit 035aa1e

1 file changed

Lines changed: 52 additions & 8 deletions

File tree

README.md

Lines changed: 52 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ What could one do with just _little_ bit of Clojure?
1414
## Contributions
1515
- If you find bugs or errors, please send a PR (but please
1616
don't change the course structure or pedagogy).
17-
17+
1818
## Workshop Goals
1919
- Acquire a "feel" of Clojure, for further self-study/exploration.
2020
- Learn how Clojurists usually think with Clojure to solve problems.
@@ -28,7 +28,7 @@ What could one do with just _little_ bit of Clojure?
2828
- Devolve into language wars, editor wars, syntax wars, type wars...
2929
(Life's too short, people.)
3030
- Focus too much on tooling or operational things. (At least not
31-
while there's fun to be had!)
31+
while there's fun to be had!)
3232

3333

3434
# Suggested learning mindset
@@ -68,22 +68,66 @@ Notes:
6868

6969
Follow [Leiningen setup instructions here](https://leiningen.org/).
7070

71+
### Fire up a REPL
72+
73+
- Clone this project
74+
- Open your terminal, and do the following.
75+
- `cd` into this project's root directory
76+
- Use `lein repl` command to start a REPL with Leiningen.
77+
- Wait for it... the REPL will start and print out a message with some
78+
useful information
79+
- Locate the `port` and `host` information in the message. We will need this information soon.
80+
7181
Note:
7282

7383
- [Boot](http://boot-clj.com/) should be fine too, but we have not tested this project with it.
7484

7585

76-
## Code Editor
86+
## Code Editor and Tooling
7787

7888
Set up an editor and figure out how to evaluate Clojure code with it.
7989

80-
If you aren't opinionated about your Editor, yet:
90+
### LightTable
91+
92+
We used LightTable for our workshop. We suggest you do so too, unless of course, you have already set up your favourite editor for Clojure development. Avoid [bikeshedding](http://catb.org/jargon/html/B/bikeshedding.html) editors. Just complete the workshop first!
93+
94+
- You may install LightTable from the [official website](http://lighttable.com/).
95+
- But you must have Java 8. LightTable breaks with Java 9.
96+
- On Mac OS, you may have to allow running the app in your security preferences to be able to open it.
97+
98+
Once installed:
99+
100+
- Use LightTable's file menu to open this project.
101+
- In the left pane, navigate down to the first file `ex00...`, under the `src` folder.
102+
- Under `View` menu, click `Connections`. A right pane should open.
103+
- Under `Add Connection`, click `Clojure (remote REPL)` and complete the port number. Recall host:port information was printed to the terminal when you fired up a REPL in the previous section.
104+
- In the `ex00..` file, scroll down a little, till you see `(+ 1 2)`.
105+
- Place your cursor after the closing parenthesis `)` and hit Ctrl+Enter (Win/Linux), or Cmd+Enter (Mac).
106+
- You should see `3` appear in-line. This means you successfully connected and evaluated an expression.
107+
- Now you may start from the top of ex00 and work through the material.
108+
109+
Also keep [LightTable's documentation](http://docs.lighttable.com/tutorials/full/) handy in case you need editor help, as you solve the workshop material.
110+
111+
112+
Optionally, add Parinfer for easier editing:
113+
114+
- In LightTable, go to View -> Plugin Manager and search for "parinfer".
115+
- Install the Parinfer plugin by Maurício Szabo.
116+
- Parinfer is an editing system for Clojure that makes it easy for you to move Clojure code around without unbalancing parentheses.
117+
- We recommend going through the [Parinfer documentation here](https://shaunlebron.github.io/parinfer/). But don't get stuck there, just keep it handy.
118+
119+
120+
### Alternative Starter Kits:
121+
122+
If you can't use LightTable for some reason (like can't downgrade to Java 8 from Java 9). You may try one of these. Although we haven't tested with these setups, the workshop material should work fine.
123+
124+
- A [snazzy setup with Atom](https://medium.com/@jacekschae/slick-clojure-editor-setup-with-atom-a3c1b528b722).
125+
- Brave Clojure walks you through [a basic Emacs setup for learning Clojure](https://www.braveclojure.com/basic-emacs/).
126+
81127

82-
- [This slick Atom setup will suffice for this workshop.](https://medium.com/@jacekschae/slick-clojure-editor-setup-with-atom-a3c1b528b722)
128+
### Your favourite editor:
83129

84-
If you wish to use your favourite editor, you may find instructions
85-
at one of these pages. But there are only so many choices. Ultimately,
86-
you must pick your poison and run with it:
130+
You may find instructions for your favourite editor at one of these pages. But there are only so many choices. Ultimately, you must pick your poison and run with it:
87131

88132
- ["IDEs and Editors" at dev.clojure.org](https://dev.clojure.org/display/doc/IDEs+and+Editors)
89133
- ["Essentials" at clojure-doc.org](http://clojure-doc.org/articles/content.html#essentials)

0 commit comments

Comments
 (0)