1. Bay Area Clojure Meetup
functional lispers
December 3, 2009
Runa Galactic Headquarters
Friday, December 4, 2009
2. paredit
At first it sucks, but then it’s awesome.
mudphone (kyle oba)
irc / twitter / github
runa employee 9
Friday, December 4, 2009
3. about runa
We are simultaneously the largest cloud-based
manufacturer, distributor, and consumer of
Bavarian-style pretzels, nationally.
http://www.flickr.com/photos/bellalago/3938498023/
Friday, December 4, 2009
4. and we’re hiring
clojure-hbase-ruby-hadoop-rails-javascript-chefs
Friday, December 4, 2009
6. Q: What is paredit?
A: paredit is a minor mode for Emacs,
created by Taylor R. Campbell.
Friday, December 4, 2009
7. commit 2ecf00a124062d7b4c4538f79426bc19c6b11b83
Author: Philip (flip) Kromer <flip@infochimps.org>
Date: Mon Aug 24 23:38:14 2009 -0500
Paredit fucking sucks my balls
So, why paredit?
Friday, December 4, 2009
8. Because, these are your father’s parentheses...
http://xkcd.com/297/
Friday, December 4, 2009
9. http://technomancy.us/126
Hingebjerg – 2009-06-01T14:05:40Z
Hi Phil,
Just installed the emacs-starter-kit and clojure-mode, and i can't delete
curly braces when in clojure-mode. Is there a logical explanation for that?
Phil – 2009-06-12T09:37:15Z
Hingebjerg: That's a feature of paredit-mode; it enforces that you can't
delete parens (or other matched chars) unless they're empty so you
don't end up with invalid structure in your code. It's unbelievably handy/
addictive once you get used to it, but if you're not sure what's going on it
can be pretty annoying.
Friday, December 4, 2009
10. 0/8 why
1/8 balancing
2/8 basic insertion commands
3/8 deleting & killing
4/8 movement & navigation
5/8 depth-changing commands
6/8 barfage & slurpage
7/8 miscellaneous commands
8/8 in the wild (tips & tricks)
Friday, December 4, 2009
14. you’re using the emacs starter kit
or, you’re already familiar setting the modes up
you’ve got paredit and show-parens modes
M-x paredit-mode
M-x show-paren-mode
Friday, December 4, 2009
15. install?
;;; Install paredit by placing `paredit.el' in `/path/to/elisp', a
;;; directory of your choice, and adding to your .emacs file:
;;;
;;; (add-to-list 'load-path "/path/to/elisp")
;;; (autoload 'paredit-mode "paredit"
;;; "Minor mode for pseudo-structurally editing Lisp code."
;;; t)
;;;
;;; Toggle Paredit Mode with `M-x paredit-mode RET', or enable it
;;; always in a major mode `M' (e.g., `lisp' or `scheme') with:
;;;
;;; (add-hook M-mode-hook (lambda () (paredit-mode +1)))
http://mumble.net/~campbell/emacs/paredit.el
Friday, December 4, 2009
74. M-x butterfly
http://xkcd.com/378/
Friday, December 4, 2009
75. add paredit to the SLIME REPL
;; enable paredit in slime repl
(add-hook 'slime-repl-mode-hook (lambda () (paredit-mode +1)))
Karol Skocik - http://coding.derkeiler.com/Archive/Lisp/comp.lang.lisp/2007-07/
Friday, December 4, 2009
76. customize
;;; Customize paredit using `eval-after-load':
;;;
;;; (eval-after-load 'paredit
;;; '(progn ...redefine keys, &c....))
;;;
;;; ... Now `)' is bound to a
;;; command that does not insert a newline, and `M-)' is bound to the
;;; command that inserts a newline. To revert to the former behaviour,
;;; add the following forms to an `eval-after-load' form for paredit.el
;;; in your .emacs file:
;;;
;;; (define-key paredit-mode-map (kbd ")")
;;; 'paredit-close-round-and-newline)
;;; (define-key paredit-mode-map (kbd "M-)")
;;; 'paredit-close-round)
http://mumble.net/~campbell/emacs/paredit.el
Friday, December 4, 2009