clojure
clojure copied to clipboard
Practicalli Clojure REPL Driven Development
Clojure code base is very stable and takes a very thoughtful approach to design One of the goals of Clojure is to provide backwards compatibility, which requires being methodical about...
Useful functions from the `clojure.repl` namespace * `doc` - show the doc-string of a fuction * `source` - show the source of a function * `pst` - print a nice...
#### Projects * [juxt/tick](https://github.com/juxt/tick) - time as a value (uses cljc.java-time and time-literals projects under the covers) * https://github.com/henryw374/cljc.java-time - library for Clojure and ClojureScript projects, with kebab-case named vars...
Idiomatic clojure uses aliases to require additional namespaces into the current namespace Alias names can provide context as to the purpose of the required namespace, making the overall code easier...
Given a dev.edn : ``` {:paths ["src/clj" "classes"] :deps {org.clojure/clojure {:mvn/version "1.10.1"} com.sikulix/sikulixapi {:mvn/version "2.0.4" :exclusions [bouncycastle/bctsp-jdk14]}} :aliases {:dev {:jvm-opts ["-Dclojure.server.repl={:port,5555,:address,\"10.10.20.82\",:accept,clojure.core.server/repl}" "-Dfile.encoding=UTF-8"]}}} ``` How to deal with `:address` inside `jvm-opts`...
Discussion around version 2.0 https://clojureverse.org/t/honeysql-what-do-you-want-from-2-0/6360 Breaking changes planned with new version
Making the distinction between pubiic and private has less importance in Clojure projects from an access point of view. Private vars can be accessed outside of their namespace scope using...
> TODOL create a section on understanding spec error messages A section on improving spec error message Expound formats clojure.spec error messages in a way that is optimized for humans...
Using examples from `clojure.core` `defn` `when` `cond` (as alternatives to `if`) using `macro-expand-1` and `macro-expand-all` to show the results of expanding macro.