Skip to content

Instantly share code, notes, and snippets.

View vincent-dm's full-sized avatar

Vincent vincent-dm

View GitHub Profile

How Clojure's documentation can leapfrog other languages

Summary

I made a documentation generator that cashes in on Clojure's dynamism. See the play-cljs docs (a ClojureScript game library) for an example of its output.

The Problem

Like many of you, I've often wondered what my final regret will be on my deathbed. My best guess came to me in a dream recently. I was walking across the charred earth of an apocalyptic future world, maneuvering around the remains of the less fortunate. I was startled to find a young girl, barely holding onto her life. She murmured something to me. I asked her to repeat it, and she said more loudly: "I...wish your Clojure projects didn't have such crappy documentation."

@metametadata
metametadata / spec-plus.cljc
Last active March 4, 2019 12:22
Helpers for core.spec. Also see the related discussion: https://groups.google.com/forum/#!topic/clojure/i8Rz-AnCoa8
(ns libs.spec-plus
"Helpers for core.spec. Only tested in Lumo at the moment."
(:require [clojure.spec.alpha :as s]
[clojure.spec.test.alpha :as st]
[clojure.set :as set]
[cljs.analyzer :as ana])
#?(:cljs (:require-macros [libs.spec-plus])))
(defmacro speced-keys
"The same as s/keys but asserts that all keys have specs already registered.
@ohanhi
ohanhi / frp.md
Last active May 6, 2024 05:17
Learning FP the hard way: Experiences on the Elm language

Learning FP the hard way: Experiences on the Elm language

by Ossi Hanhinen, @ohanhi

with the support of Futurice 💚.

Licensed under CC BY 4.0.

Editorial note