看了 Vue 的新 API 在想 Clojure 里面有没有类似的写法可以抽象出来. 不过 Clojure 数据是不可变的, 肯定不能一样用…
import { value, computed } from 'vue'
const count = value(0)
const countPlusOne = computed(() => count.value + 1)
console.log(countPlusOne.value) // 1
count.value++
console.log(countPlusOne.value) // 2
参考 https://github.com/vuejs/rfcs/blob/function-apis/active-rfcs/0000-function-api.md
包括 React Hooks 那边也是相似的, 怎么把整个 Reactive 的行为表示出来?