Skip to content

4clojure/4clojure

Repository files navigation

4clojure.com has been discontinued

Another site may take over the domain name at some point, but for now 4clojure.com is down on purpose. More details on the forum.

4Clojure

An interactive problem website for learning Clojure: https://www.4clojure.com.

Contributing

Anyone interested in contributing should check out the Issues page for ideas on what to work on.

Join us in #4clojure on freenode for help or discussion.

Setup instructions for running locally

  • Download and install leiningen.

  • Download and install mongodb.

  • The project uses clojail, which requires a security policy setup in your home directory (because Clojure's eval is unsafe if used improperly). Set up a file called .java.policy in your home directory. The contents should look vaguely like this:

      grant { permission java.security.AllPermission; };
    

    but see the readme of that project for more details.

  • cd to the 4clojure project directory and run lein deps.

  • Start up your mongodb, if you don't have autostart:

      mongod
    
  • For the first time use, you will need to load the problem data. Run the script load-data.sh:

      ./load-data.sh
    
  • Run lein ring server

  • To run the tests: lein test

Contributors

Problem sources:

License

The source code for 4clojure is available under the Eclipse Public License v 1.0. For more information, see LICENSE.html.