+ All Categories
Home > Documents > Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank...

Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank...

Date post: 31-Jul-2018
Category:
Upload: ngothuan
View: 217 times
Download: 0 times
Share this document with a friend
35
Clojerks April 18th, 2012 Cosmin Stejerean Wednesday, April 18, 12
Transcript
Page 1: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

ClojerksApril 18th, 2012

Cosmin Stejerean

Wednesday, April 18, 12

Page 2: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Getting startedwith Clojure

Wednesday, April 18, 12

Page 3: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Start at the REPL

Wednesday, April 18, 12

Page 4: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

iclojure.comcurl -O -L http://clk.tc/iclojure

chmod +x iclojure

sudo mv iclojure /usr/local/bin

Wednesday, April 18, 12

Page 5: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

$ iclojureuser[1]:(println “hello world”)hello world

user[2]:(doc println)

user[3]:(source println)

Wednesday, April 18, 12

Page 6: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Clojure Projects

Wednesday, April 18, 12

Page 7: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

leiningencurl -O -L http://clk.tc/lein

chmod +x lein

sudo mv lein /usr/local/bin

Wednesday, April 18, 12

Page 8: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

lein new clojerkscd clojers

Create project

Wednesday, April 18, 12

Page 9: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

(ns clojerks.core)

(defn greet [name] (str "Hello" name))

(defn -main [] (println (greet "Clojerks!"))

src/clojerks/core.clj

Wednesday, April 18, 12

Page 10: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Run project

lein run -m clojerks.core

Wednesday, April 18, 12

Page 11: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Editing Clojure

Wednesday, April 18, 12

Page 12: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Emacs 24

clojure-mode

Wednesday, April 18, 12

Page 13: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Vim

nailgun

slimv

Wednesday, April 18, 12

Page 14: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

IntelliJ

La Clojure

Wednesday, April 18, 12

Page 15: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Eclipse

Counterclockwise

Wednesday, April 18, 12

Page 16: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Netbeans

Enclojure

Wednesday, April 18, 12

Page 19: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Emacs

Wednesday, April 18, 12

Page 20: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Emacs on OS Xbrew install emacs --HEAD

or

http://emacsformacosx.com/

Wednesday, April 18, 12

Page 21: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Marmalade

(require 'package)(add-to-list 'package-archives '("marmalade" . "http://marmalade-repo.org/packages/") t)(package-initialize)

~/.emacs.d/init.el:

Wednesday, April 18, 12

Page 22: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Clojure Mode

M-x package-install

clojure-mode

Wednesday, April 18, 12

Page 23: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Clojure Swank

lein plugin install lein-swank “1.4.4”

Wednesday, April 18, 12

Page 24: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Launch REPL

M-x clojure-jack-in

Wednesday, April 18, 12

Page 25: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Shortcuts

http://clk.tc/emacs-slime-keys

Wednesday, April 18, 12

Page 26: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Testing

Wednesday, April 18, 12

Page 27: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Run tests

lein test

Wednesday, April 18, 12

Page 28: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Write a test

(deftest test-greet (is (= "Hello Cosmin" (greet "Cosmin"))))

Wednesday, April 18, 12

Page 29: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

clojure-test-mode

run tests => C-c ,run one test => C-c M-,

Wednesday, April 18, 12

Page 30: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Further considerations

Wednesday, April 18, 12

Page 31: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Lein IClojure

lein plugin install iclojure 1.0iclojure

static code analyzerwrite more idiomatic clojure

Wednesday, April 18, 12

Page 32: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

JVM Options

in project.clj

:jvm-opts ["-Xmx1g" "-server"]

Wednesday, April 18, 12

Page 33: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Kibit

lein plugin install jonase/kibit 0.0.3lein kibit

static code analyzerwrite more idiomatic clojure

Wednesday, April 18, 12

Page 34: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Pomegranate

https://github.com/cemerick/pomegranate

add deps directly from the repl

Wednesday, April 18, 12

Page 35: Clojerks - offbytwo.comoffbytwo.com/presentations/getting-started-with-clojure.pdf · Clojure Swank lein plugin install lein-swank “1.4.4” Wednesday, April 18, 12. Launch REPL

Thanks!

Wednesday, April 18, 12


Recommended