Clojure for Domain-specific Languages

More Information
  • Understand the pros and cons of a domain-specific language
  • Learn general programming design concepts
  • Know the benefits of a Lisp-based syntax
  • Edit Clojure files in Emacs
  • Learn to operate a Read-Evaluate-Loop session from within Emacs
  • Build Clojure projects with Leiningen
  • Manipulate and make polymorphic objects in a non-object-oriented language
  • Create a Twitter domain-specific language to understand Clojure, its Java, and Lisp foundation closely.
  • Use your Clojure applications inside of a Java project

Clojure is a very new and rapidly growing language that runs on top of the JVM. The language being hosted on the Java platform allows for Clojure applications to use existing Java components. Although there are objects in Clojure, the language is not object oriented.

"Clojure for Domain-specific Languages" is an example-oriented guide to building custom languages. Many of the core components of Clojure are covered to help you understand your options when making a domain-specific language. By the end of this book, you should be able to make an internal DSL. Starting with a comparison of existing DSLs, this book will move on to guide you through general programming, Clojure editing, and project management. The chapters after that are code oriented.

"Clojure for Domain-specific Languages" tries to expose you to as much Clojure code as possible. Many of the examples are executed in a Read-Evaluate-Print-Loop environment, so the reader can also follow along on their own machine. This book uses Leiningen, but no prior knowledge of it is required.

"Clojure for Domain-Specific Languages" aims to make you familiar with the Clojure language and help you learn the tools to make your own language.

  • Explore DSL concepts from existing Clojure DSLs and libraries
  • Bring Clojure into your Java applications as Clojure can be hosted on a Java platform
  • A tutorial-based guide to develop custom domain-specific languages
Page Count 268
Course Length 8 hours 2 minutes
ISBN 9781782166504
Date Of Publication 18 Dec 2013


Ryan D. Kelker

Ryan D. Kelker is a Clojure enthusiast and works as a freelance—he is willing to take on any project that sounds interesting. He started exploring computers and the Internet at a very early age and he eventually ended up building both machines and software. Starting with MS DOS, batch files, and QBasic, he eventually floated towards Arch Linux and the Clojure language. He has four certifications from both CompTIA and Cisco, and has decided not to pursue any additional certifications. These days, he spend most of his time reading about software development, cyber security, and news surrounding up-and-coming computer languages. While away from the computer, he is usually reading a book or going out to eat with the people he loves the most.