ssue-opened"> Issues 0 Commits 982 Releases 1 Wiki

No Description

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

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

lp - git.papill0n.org

Geen omschrijving

Lucas Stadler 8a0ad0ae29 use om 0.3.0. 12 jaren geleden
..
clarity af023972df fix syntax of datomic attribute type. 12 jaren geleden
cljs 4b32c2a8f5 output result in an element, not on the console. 12 jaren geleden
.gitignore 801767ba48 clarity: Storing structured data in datomic. 12 jaren geleden
README.md 7d7b69eb27 add a tiny README with a few todo items. 12 jaren geleden
clarity.clj ee50681828 Move soft type checking to a separate namespace. 12 jaren geleden
map-sample.html 651a0e1b8b wrap setup in a fn. 12 jaren geleden
map-typed.html 4ac1ccac6b grey out readonly fields. 12 jaren geleden
project.clj 8a0ad0ae29 use om 0.3.0. 12 jaren geleden

README.md

clarity

towards structural editing in clojure(-script) using the types from core.typed and om for the ui.

todo

  • vectors and sets
  • arbitrary union types
  • nested fields
  • dynamic fields (fetching possible values/hints from the network (or generating them?))