A Deeper Understanding of Clojure CLI Tools

CLI tools make Clojure very accessible and simple to install, as they are a essentially a wrapper for calling the java command and associated options to make a Clojure or ClojureScript project run. CLI tools also manage the library dependencies for a project.

Continuing the exploration of Clojure CLI tools we will dig a little deeper under the covers and show you how they work and how to configure projects to be very flexible, especially the different sources you can use other code.

This article follows on from getting started with Clojure CLI tools

Read More

CIDER Jack-in to Clojure CLI Projects From Spacemacs

Running a Clojure project created with CLI tools or clj-new may require you to pass in an alias for the REPL to pick up the right libraries.

A few days ago I created a new ClojureScript and reagent project, using the Clojure CLI tools and clj-new project creation tool, which converts Leiningen and Boot templates into a deps.edn based project. Unfortunately when I created a project from the fighwheel-main template the REPL failed to run from CIDER using cider-jack-in-cljs, saying that figwheel-main was not found. All that was required was to specify the :fig alias when running a REPL.

This article covers two approaches to running Clojure CLI projects from CIDER jack-in that require setting of an alias or multiple aliases e.g. -A:fig:build:party:hammock

See Getting started with Clojure CLI tools for background to this article.

Read More

Getting Started With Clojure CLI Tools

Clojure Command Line Interface (CLI) tools provide a fast way for developers to get started with Clojure and simplify an already pretty simple experience. With tools.deps it also provides a more flexible approach to including libraries, including the use of code from a specific commit in a Git repository.

Practicalli Clojure 35 - Clojure CLI tools - an introduction is a video of a live broadcast of this content (inclucing typos)

Clojure CLI tools provide:

  • Running an interactive REPL (Read-Eval-Print Loop)
  • Running Clojure programs
  • Evaluating Clojure expressions
  • Managing dependencies via tools.deps

Clojure CLI tools allow you to use other libraries to, referred to as dependencies or ‘deps’. These may be libraries you are writing locally, projects in git (e.g. on GitHub) or libraries published to Maven Central or Clojars.

The Clojure CLI tools can cover the essential features of Clojure Build tools Leiningen and Boot, but are not designed as a complete replacement. Both these build tools are mature and may have features you would otherwise need to script in Clojure CLI tools.

This article is a follow on from new Clojure REPL Experience With Clojure CLI Tools and Rebel Readline

Read More

Clojurex Cfp 2019 - Share Your Experiences

ClojureX conference is a great opportunity to meet and exchange ideas with other Clojure developers at a supportive and friendly conference. As well as learning all the latest technology in the Clojureverse, its a once a year chance to meet other developers in London to build new relationships and renew existing friendships.

We want to hear your experiences with Clojure/ClojureScript in what ever form, as well as any related topics. Have you created some neat technology or discovered a useful practice? Are you working on challenging or innovative projects? Every developers journey with Clojure and functional programming is different, so you will have learnt something that others haven’t and so we encourage you to share.

Submit your talk proposal via the CfP Google form

Deadline for the CfP submission is Monday 24th June 2019.

Read More

REPL Driven Development With Clojure

Clojure is a powerful, fun and highly productive language for developing applications and services. The clear language design is supported by a powerful development environment known as the REPL (read, evaluate, print, loop). The REPL gives you instant feedback on what your code does and enables you to test either a single expression or run the whole application (including tests).

The approach I take is called REPL driven development and I’ll explain that here in detail.

Read More

New Clojure REPL Experience With Clj Tools and Rebel Readline

A REPL is the foundation of the Clojure coding experience. The REPL provides a runtime environment where you can instantly get the results of evaluating your code. You can write code in a REPL too, although typically code is written editor and sent to a REPL to be evaluated. When you start coding, the first step is to run the REPL and keep it running until you are finished.

A REPL is the same environment used for running your Clojure applications too.

Lets look at the newest and fastest approach to running a Clojure REPL, the Clojure CLI Tools and rebel-readline.

Read More

ClojureX Conference 2017 - Sharing the Experiences of the Community

I’d like to thank everyone that contributed to ClojureX 2017 and made it such a success. Here is a quick recap of just a few of my hightlights from this year’s conference and some of the amazing feedback we have already received.

ClojureX 2017 - feedback

Don’t forget Super Early Bird tickets for ClojureX 2018 are available until Friday 8th December. Save £555 and take part in shaping the talks and activities for ClojureX 2018.

ClojureX - Clojure eXchange Conference 2018

Read More

ClojureX Conference Schedule 2017

The ClojureX conference celebrates 10 years of Clojure with a packed schedule full talks, creativity and diversity. We hope you can join us at the event and meet one of the most open and friendly developer communities I know of. I may be a little bias :)

To get a feel for the day and more details on the talks and activities, please take a look at ClojureX conference - celebrate 10 years of clojure

Read More

ClojureX Conference - Celebrate 10 Years of Clojure

Today, 16th October 2017, celebrates the 10th anniversary of the Clojure programming language. To celebrate Clojure in all its many forms we are running a conference in London, appropriately called ClojureX.

ClojureX - Clojure eXchange Conference 2017

The Clojure language is flourishing and the community continues to grow and become more diverse. Clojure is now used on many different platforms, including JavaScript, Microsoft .Net, Go and of course the original Java/JVM platform. So you can build highly parallel systems with web-scale throughput all the way thorough to modern web & mobile applications with react style libraries.

London Clojurians community - banner

Here is just some of the exciting things you will experience at the ClojureX conference this year.

Read More

Beautiful Terminalation - Ohmyzsh on Ubuntu

I frequently use the command line because of its speed and am using ohmyzsh to make the experience more valuable and enjoyable. I configure ohmyzsh to use the powerlevel9k theme which provides lots of useful information as well as looking fancy.

Ohmyzsh with powerlevel9k theme in action

We are more connected to the work we do if its an enjoyable experience.

Read on for details on how to configure Ubuntu with zsh, ohmyzsh and powerlevel9k theme.

Read More