Skip to content

Commit

Permalink
Improve (?) README
Browse files Browse the repository at this point in the history
  • Loading branch information
PEZ committed Aug 16, 2021
1 parent 3ed79e4 commit 6273997
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 17 deletions.
46 changes: 29 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,47 @@
# Rich 4Clojure

![Rich 4Clojure](rich4clojure-header.png)

Welcome to the [Rich Comment Form](https://calva.io/rich-comments/) (RCF) port of 4Clojure! ❤️

## What it is

1. A repository that lets you learn and practice [Clojure](https://clojure.org), directly from the comfort of a Clojure REPL enhanced editor.
1. A repository that lets you learn and practice [Clojure](https://clojure.org), directly from the comfort of a Clojure REPL enhanced editor. (From your web browser, With zero installs, if you like.)
2. A ”copy” of the now closed **4clojure.com** site. It served us so wonderfully well!

_Anyway, if you have come here to practice Clojure, you are at the right place!_

## How it works

You solve programming problems using Clojure and your editor of choice. The problems are designed in increasing difficulty levels. You can use it to take your first baby steps in the language as well as honing your skills with it.
You solve programming problems using Clojure and your editor of choice. The problems are designed in increasing difficulty levels. You can use it to take your first baby steps in the language and also to hone your Clojure skills.

## Get started

To get to where you can start solving problems there are basically two alternatives:

1. Open this repository in [Gitpod](https://gitpod.io).
1. Open this repository in **Gitpod**.
1. Fork and clone to your machine.
1. Use Calva
1. Use some other editor
1. Use **Calva**
1. Use some other editor with Clojure abilities

### Using Gitpod
### Using Gitpod - Zero installs!

This repository is prepared for Gitpod such that both the [Clojure tools](https://clojure.org/guides/deps_and_cli) and [Calva](https://calva.io) are installed. So you can start training Clojure like so:
This repository is prepared for [Gitpod](https://gitpod.io) such that both the [Clojure tools](https://clojure.org/guides/deps_and_cli) and [Calva](https://calva.io) are installed. So you can start training Clojure like so:

1. Open https://gitpod.io/#https://github.com/pez/rich4clojure in your web browser.
2. Click the **nREPL** button in the status bar
![](status-bar-nrepl-button.png)
![VS Code Statusbar with Clojure REPL button](status-bar-nrepl-button.png)
1. Select **Start your project with a REPL server and connect (aka Jack-in)** from the quick pick menu
2. Select **Rich 4Clojure** in the **Project types** menu.
3. Solve problems. See below.

#### I'm new to Calva

To learn the basics of Calva, use the **nREPL** button to **Disconnect from the REPL server** (if needed), then click the button again and select **Fire up the ”Getting Started” REPL server**. See https://calva.io/getting-started/ for what to expect.
To learn the basics of Calva, use the **nREPL** button to **Disconnect from the REPL server** (if needed), then click the button again and select **Fire up the ”Getting Started” REPL server**.

![Calva's Clojure Getting Started REPL](clojure-getting-started-repl.png)

See [calva.io/getting-started](https://calva.io/getting-started/) for what to expect.

#### I'm new to Clojure

Expand All @@ -47,9 +53,15 @@ Welcome to Clojure! There is a lot to learn and many concepts to grasp. But fear

#### OK, so what is Gitpod?

Gitpod is a development environment that runs in your web browser. It uses [VS Code](https://code.visualstudio.com). You can open any GitHub/GitLab/Bitbucket repository there by prepending its URL with `https://gitpod.io/#`. See https://gitpod.io for more on Gitpod.
Gitpod is a development environment that runs in your web browser. It uses [VS Code](https://code.visualstudio.com). You can open any **GitHub**/**GitLab**/**Bitbucket** repository in the Gitpod development environment by prepending the repository URL with `https://gitpod.io/#`. That's how this repository's Gitpod URL is constructed:

[https://gitpod.io/#https://github.com/pez/rich4clojure](https://gitpod.io/#https://github.com/pez/rich4clojure)



See https://gitpod.io for the full story.

### Using your machine
### On your machine

This option can be easy, if you have Java and the Clojure tools installed and you know how to work with Clojure projects in your editor. It can also be a bit cumbersome if you don't. (In this case, I suggest you use Gitpod first and have some fun with the 4Clojure problems before you invest the time to figure out how to install the things.)

Expand All @@ -59,7 +71,7 @@ Once you have Java and the Clojure tools installed:

If you are using VS Code, install Calva and follow the same instructions as for the Gitpod option above, from step 2 and on.

If you are using some other editor (these instructions are work in progress, please consider sending PRs about it):
If you are using some other editor (these instructions are work in progress, please consider sending PRs with instructions and settings for your favorite editor):

1. Open the project in your Clojure-enabled editor.
1. Start the project REPL and connect it to your editor session.
Expand Down Expand Up @@ -136,25 +148,25 @@ To rerun the tests, either reload the file or evaluate the `(tests ...)` form. T
```
**NB**: For some problems you rather need to edit the tests and *replace* each instance of `__` with your answer.
Basically, treat both the `(comment ...)` and the `(tests ...)` forms as your RFCs. Fiddle, evaluate, fiddle, evaluate, until you have found the solution.
Basically, treat both the `(comment ...)` and the `(tests ...)` forms as your RCFs. Think, fiddle, evaluate, think, fiddle, evaluate, ... until you have found the solution.
### Solved it?
_Each problem has a **gist** linked at the bottom._ Please consider sharing your solution as a comment on the gist. Other Clojurians will benefit from seeing how you solved it.
Also: Congratulations! Now take on the next problem!
Also: 🍰 **Congratulations!** 🎉 Now take on the next problem!
#### Stuck?
The `#4clojure`, `#beginners` and `#clojure` channels at the [Clojurian's Slack](http://clojurians.net/) might be places to ask for help. You might try the [Discussions](https://github.com/PEZ/rich4clojure/discussions) feature. Also: _Each problem has a **gist** linked at the bottom._ The gist's comment section might contain solutions from other users. Sometimes a peek is enough to give some guidance. But, yeah, major **spoiler alert**.
The `#4clojure`, `#beginners` and `#clojure` channels at the [Clojurian's Slack](http://clojurians.net/) might be places to ask for help. You can also try the [Discussions](https://github.com/PEZ/rich4clojure/discussions) tab in this repo. Also: _Each problem has a **gist** linked at the bottom._ The gist's comment section might contain solutions from other users. Sometimes a peek is enough to give some guidance. But, yeah, major **spoiler alert**.
## What about the name?
The name, **Rich 4Clojure**, comes from the fact that it relies on [Rich Comments](https://calva.io/rich-comments/) and also uses a test utility called [RCF](https://github.com/hyperfiddle/rcf) which is building on the same philosophy. Also, reading it like ”rich forclosure”, haha!
The name, **Rich 4Clojure**, comes from the fact that it relies on [Rich Comments](https://calva.io/rich-comments/) and also uses a test utility called [RCF](https://github.com/hyperfiddle/rcf) which is building on the same philosophy. Also, reading it like ”rich forclosure”, haha (or something)!
## Work in progress
This is the first version from a quite automated translation of the original problems. There'll be dragons. Please consider filing issues, starting [discussions](https://github.com/PEZ/rich4clojure/discussions), or chat me up on the [Clojurian's Slack](http://clojurians.net/) (I'm **@pez**, there).
This is an early version from a quite automated translation of the original problems. There'll be dragons. Please consider filing issues, starting [discussions](https://github.com/PEZ/rich4clojure/discussions), or chat me up on the [Clojurian's Slack](http://clojurians.net/) (I'm **@pez**, there).
PR:s are also welcome. If it is the content of a particular problem you want to suggest changes for, edit the `problems.edn` file.
Expand Down
Binary file added clojure-getting-started-repl.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 6273997

Please sign in to comment.