暂无描述

Lucas Stadler bb3b6a0cc1 link "how i start: clojure" 10 年之前
..
clarity 8a0ad0ae29 use om 0.3.0. 12 年之前
datomic 523d426c1d add examples from demo session. 12 年之前
joy 42b92e1e6c A few thoughts on The Joy of Clojure. 13 年之前
shopping_list 40f7914054 shopping_list: Rewrite, with better api & features 12 年之前
.gitignore b23166c3fb Add Makefile to get path data. 12 年之前
Makefile b23166c3fb Add Makefile to get path data. 12 年之前
README.md bb3b6a0cc1 link "how i start: clojure" 10 年之前
hello_clojure.clj af7d838eef Make hello-clojure `(use)`-able. 13 年之前
macros.clj ababe23344 Implement a scheme-inspired version of cond. 12 年之前
paths.clj ef4ee343c6 Convert tag keys to keywords if possible. 12 年之前
pings.clj 33cc9a6b5f Add pings clj-session (brain-dump). 13 年之前
project.clj 17af9c99d4 Use cheshire for JSON de/encoding. 13 年之前
shame.clj 83fcde63ca Write out the todo-list after each modifying operation. 13 年之前

README.md

Learning (aka. playing with) Clojure

  • first heard about it early 2012 (I think)
  • dipped my feet in a few times since then
  • came across (i.e. read or saw things they did) a few interesting people using/writing Clojure in interesting way (fogus, Rich Hickey, Chris Granger)
  • now reading 'The Joy of Clojure' (and enjoying it)

Tools

  • mostly LightTable
  • previously Vim with the VimClojure plugin, but not right now (LightTable 'feels' more interactive to me and what I miss most from Vim (keybindings) will be in LT soonish, I also think that something like LT has more potential to be extensible and has a much saner extension language)
  • the clj repl

Little thoughts

  • a lot of interesting people with interesting ideas use Clojure, so maybe it encourages thinking about problems first? you can simply start coding something before having any idea what you're going to do (which is both good and bad).

Giggles & quibbles

  • the giggles
    • homoiconic
    • has macros
    • good feature inheritance (supposedly, not as in OO)
    • lots of cool projects (datomic, matchure, ring, lighttable, typed-clojure)
  • the quibbles

    • the dynamic type-system continues to bite me could be my fault, but I often jump right in without reading the whole documentation and have spend too much time tracking weird errors down that were all fixed by changing one place in the code
    • learning new libraries without sufficient docs/tutorials (e.g. what are the arguments to this function, what does this map mean; maybe clojure wants me to think differently)
    • the jvm overhead is bad for my little computer (too slow, too much memory consumed)

      it also makes it difficult to quickly explore some ideas without creating a new project (in most cases, mostly to get libraries), starting a jvm... etc.

      i'd really love a version of clojure without this overhead, even if it is a lot slower. maybe clojure-scheme could be that.

Hickups

Some examples for the quibbles.

  • (if (= something something-undefined) true-expr false-expr) not throwing an exeption for something-undefined being not defined

How To Learn