<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:og="http://ogp.me/ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#" xmlns:schema="http://schema.org/" xmlns:sioc="http://rdfs.org/sioc/ns#" xmlns:sioct="http://rdfs.org/sioc/types#" xmlns:skos="http://www.w3.org/2004/02/skos/core#" xmlns:xsd="http://www.w3.org/2001/XMLSchema#" version="2.0" xml:base="https://www.linuxjournal.com/tag/lisp">
  <channel>
    <title>Lisp</title>
    <link>https://www.linuxjournal.com/tag/lisp</link>
    <description/>
    <language>en</language>
    
    <item>
  <title>Intro to Clojure on the Web</title>
  <link>https://www.linuxjournal.com/content/intro-clojure-web</link>
  <description>  &lt;div data-history-node-id="1169908" class="layout layout--onecol"&gt;
    &lt;div class="layout__region layout__region--content"&gt;
      
            &lt;div class="field field--name-field-node-image field--type-image field--label-hidden field--item"&gt;  &lt;img src="https://www.linuxjournal.com/sites/default/files/nodeimage/story/Clojure_Programming_Language_Logo_Icon_SVG.png" width="200" height="198" alt="" typeof="foaf:Image" class="img-responsive" /&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-author field--type-ds field--label-hidden field--item"&gt;by &lt;a title="View user profile." href="https://www.linuxjournal.com/users/reuven-lerner" lang="" about="https://www.linuxjournal.com/users/reuven-lerner" typeof="schema:Person" property="schema:name" datatype="" xml:lang=""&gt;Reuven Lerner&lt;/a&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-body field--type-text-with-summary field--label-hidden field--item"&gt;&lt;p&gt;
Lisp is one of those languages that people either love or hate. Count me
among the Lisp lovers. I was brainwashed during my undergraduate
studies at MIT to believe that Lisp is the only "real" programming
language out there, and that anything else is a pale imitation. True,
I use Python and Ruby in my day-to-day work, but I often wish I
had the chance to work with Lisp on a regular basis.
&lt;/p&gt;

&lt;p&gt;
One window of opportunity to do exactly that has opened in the past few
years. Clojure, a modern variant of Lisp that runs on the Java virtual
machine (JVM), has been taking the programming world by storm. It's a
real Lisp, which means that it has all of the goodness you would
want and expect: functional programming paradigms, easy use of complex
data structures and even such advanced facilities as macros. Unlike
other Lisps, and contributing in no small part to its success, Clojure
sits on top of the JVM, meaning that it can interoperate with Java
objects and also work in many existing environments.
&lt;/p&gt;

&lt;p&gt;
In this article, I want to share some of my experiences with starting to
experiment with Clojure for Web development. Although I don't foresee
using Clojure in much of my professional work, I do believe it's
useful and important always to be trying new languages, frameworks
and paradigms. Clojure combines Lisp and the JVM in just the right
quantities to make it somewhat mainstream, which makes it more
interesting than just a cool language that no one is really using for
anything practical.
&lt;/p&gt;

&lt;h3&gt;
Clojure Basics&lt;/h3&gt;

&lt;p&gt;
Clojure, as I mentioned above, is a version of Lisp that's based on the
JVM. This means if you're going to run Clojure programs, you're
also going to need a copy of Java. Fortunately, that's not much of an
issue nowadays, given Java's popularity. Clojure itself comes as a
Java archive (JAR) file, which you then can execute.
&lt;/p&gt;

&lt;p&gt;
But, given the number of Clojure packages and libraries you'll
likely want to use, you would be better off using Leiningen, a
package manager for installing Clojure and
Clojure-related packages. (The name is from a story, "Leiningen and
the Ants", and is an indication of how the Clojure community doesn't
want to use the established dependency-management system, Ant.) You
definitely will want to install Leiningen. If your Linux distribution
doesn't include a modern copy already, you can download the shell
script from 
&lt;a href="https://raw.github.com/technomancy/leiningen/stable/bin/lein"&gt;https://raw.github.com/technomancy/leiningen/stable/bin/lein&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Execute this shell script, putting it in your PATH. After you download
the Leiningen jarfile, it will download and install Leiningen
in your ~/.lein directory (also known as LEIN_HOME). That's all you
need in order to start creating a Clojure Web application.
&lt;/p&gt;&lt;/div&gt;
      
            &lt;div class="field field--name-node-link field--type-ds field--label-hidden field--item"&gt;  &lt;a href="https://www.linuxjournal.com/content/intro-clojure-web" hreflang="und"&gt;Go to Full Article&lt;/a&gt;
&lt;/div&gt;
      
    &lt;/div&gt;
  &lt;/div&gt;

</description>
  <pubDate>Thu, 31 Oct 2013 19:07:39 +0000</pubDate>
    <dc:creator>Reuven Lerner</dc:creator>
    <guid isPermaLink="false">1169908 at https://www.linuxjournal.com</guid>
    </item>

  </channel>
</rss>
