Aucune description

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

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