diff --git a/.serena/memories/clojure/idioms.md b/.serena/memories/clojure/idioms.md new file mode 100644 index 0000000000..c8672aa647 --- /dev/null +++ b/.serena/memories/clojure/idioms.md @@ -0,0 +1,10 @@ +# Clojure Idioms (verified) + +Behaviors confirmed against the language/stdlib — do not re-derive from +assumption; a wrong assumption here already cost a review round. + +- `int?` is NOT 32-bit-only: true for `Long`, `Integer`, `Short`, + `Byte` (fixed-precision integers). Clojure integer literals are + `Long`, so `(int? 5000)` is true. +- `integer?` is the general integer predicate; prefer it when any + integer kind must match, `int?` only when fixed precision is meant. diff --git a/.serena/memories/critical-info.md b/.serena/memories/critical-info.md index d36edd4cfa..892e5687f2 100644 --- a/.serena/memories/critical-info.md +++ b/.serena/memories/critical-info.md @@ -7,6 +7,9 @@ You are working on the GitHub project `penpot/penpot`, a monorepo. before focused memories. - Edits/stale refs/duplication cleanup: `mem:memory-maintenance`. - Cross-cutting testing principles, TDD workflow, and anti-patterns: `mem:testing`. +- Verified Clojure language behaviors that contradict common assumptions + (e.g. `int?` covers `Long`; `integer?` is the general predicate): + `mem:clojure/idioms` — read before assuming stdlib predicate semantics. # Development workflow