23252826a0
- New chapter 05-clojure-nim.md (EN + BG) covering: - Native compilation pipeline (Clojure → Nim → C → binary) - AI-powered development (error explanation, code generation) - JSON REPL for AI agents - loop/recur with real TCO - Cross-compilation: JS, shared libs, WASM - Persistent data structures (HAMT) - Concurrency: atoms, agents, channels - Updated book README.md with Clojure/Nim focus - Added Clojure/Nim terms to subject indices (EN + BG) - Removed books/ from .gitignore so it can be pushed to GitLab
20 KiB
20 KiB
Subject Index - English
A
- Agents - 11.3
- Aliasing namespaces - 9.3
- Allocation (memory) - 8.2
- Anonymous functions - 5.2
- Antiquated functions - 17.3
- Apply - 7.3.3
- Arities - 5.1.2
- Asynchronous programming - 16, 4
- Atom - 11.1
B
C
- Caching - 1.5, 8.6, 8.2
- Case - 6.1.5
- Channels - 16.1, 5
- Clojure/Nim - 5 — Native compilation, AI integration, JSON REPL
- Compilation (native) - 5
- Cross-compilation - 5 — JS, WASM, shared libraries
- Characters - 4.3
- Chunked sequences - 2.2
- Circuit breaker - 3.4
- Closures - 5.4
- Coll - 5.3
- Comment - 3.5
- Commitment - 3.3
- Compilation - 6.1
- Composing functions - 5.3
- concat - 4.7
- Concurrency - 11
- cond - 6.1.3
- condp - 6.1.4
- Configuration - 1.3
- Cons - 4.7
- Contracts - 5.3
- Core.async - 16
- Currying - 5.3
D
- Data structures - 4
- dead - 11.7
- deb - 8.5
- Debugging - 8
- def - 3.3.1
- defmacro - 10.1
- defmethod - 13.1
- defmulti - 13.1
- defn - 5.1.1
- defprotocol - 12.1
- defrecord - 12.2
- delay - 11.6
- Dependency management - 2
- Destructuring - 8
- disj - 4.10
- dissoc - 4.9
- Docker - 6.3
- doseq - 6.2.4
- dosync - 11.2
- dotimes - 6.2.3
- drop - 7.3.6
- drop-while - 7.3.6
E
- eastwood - 5.1
- Either pattern - 1.2
- emit - 6.1
- empty - 4.12
- Enumerations - 4.5
- Error handling - 6.3, 6.4
- Evaluation rules - 3.4
- Event sourcing - 3.2
- Exception handling - 6.3
- expand - 10.5
- Extending types - 12.3
F
- Fibonacci - 7.2
- filter - 7.3.2
- find-doc - 15.1
- First - 4.7
- Flatten - 7.3.7
- flip - 11.2
- Float - 4.1.2
- fold - 7.3.3, 6.2
- for - 6.2.3
- force - 11.6
- Formatting - 3.6
- Function composition - 5.3
- Functional programming - 1.2.2
- Functions - 5
- Futures - 11.5
G
H
I
- Identities - 11
- if - 3.3.3
- if-let - 6.1.2
- if-not - 6.1.1
- Immutability - 1.2.1, 4
- import - 9.3
- in-ns - 9.1
- inc - 4.2
- indexed - 7.3.7
- Infinite sequences - 2.5
- Injection - 7.3.8
- inline - 8.2
- Installation - 2.1
- Integration testing - 3.3
- Interleave - 7.3.8
- interpose - 7.3.8
- into - 7.3.7
- iterate - 7.2
J
- juxt - 5.3
K
L
- Lazy sequences - 7.2, 2
- let - 3.3.2
- letfn - 5.1.3
- Libraries - 7
- Linters - 5
- Lisp heritage - 1.2.3
- Lists - 4.7
- load-file - 15.2
- local - 3.2
- Logging - 8.6
- loop - 6.2.2
M
- macroexpand - 10.5
- Macros - 10
- Make - 6.1
- map - 7.3.1
- map-indexed - 7.3.1
- mapcat - 7.3.5
- mapv - 7.3.1
- Maps - 4.9
- match-route - 6.3
- max-key - 5.3
- Maybe pattern - 1.1
- Memoization - 1.5, 8.6
- merge - 4.9
- merge-with - 4.9
- Metadata - 1.7, 3.3.1
- min-key - 5.3
- mod - 4.1.1
- multimethods - 13
- Mutability - 11
N
- namespace - 9.5
- Namespaces - 9
- neg - 4.2
- nil - 4.4
- not - 4.4
- not-empty - 4.12
- ns - 9.1
- ns-publics - 9.5
- ns-resolve - 9.5
- nth - 4.7
- Numbers - 4.1
O
- or - 3.5
P
- parallelize - 11.7
- Parallelism - 7
- Parameter - 5.1.3
- parse - 5.2
- partial - 5.3
- partition - 7.3.7
- partition-all - 7.3.7
- partition-by - 7.3.7
- peek - 4.7
- persist - 7.2
- Persistent data structures - 8.1
- pheric - 2.2
- pmap - 7.1
- pop - 4.8
- pos - 4.2
- postwalk - 7.5
- preconditions - 5.5
- prewalk - 7.5
- print - 8.1
- println - 4.2
- Process - 3.1
- profile - 8.3
- project - 1
- promise - 11.6
- Promises - 11.6
- Protocols - 12
- put - 16.1
Q
R
- rand - 7.4
- Random - 7.4
- range - 7.4
- Ratio - 4.1.3
- Readers - 2.1
- realized - 2.1
- reduced - 3.4
- Reducers - 6
- reduce - 7.3.3
- reduce-kv - 7.3.3
- reductions - 7.3.3
- Ref - 11.2
- ref-set - 11.2
- refresh - 4.1
- release - 11.3
- remove - 7.3.2
- remove-method - 13.4
- repeat - 7.4
- repeatedly - 7.4
- require - 9.3
- require - 4.1
- reset! - 11.1
- rest - 4.7
- REPL - 2.2, 15
- rest - 7.3.6
- reverse - 7.3.9
S
- s/conform - 8.2
- s/gen - 4.5
- sample - 4.5
- Schema validation - 5.2
- select-keys - 4.9
- send - 11.3
- send-off - 11.3
- seq - 7.1
- Sequences - 7
- seqable - 2.4
- Service pattern - 3.1
- set - 4.10
- set! - 11.4
- Shallow - 8.1
- shuffle - 7.3.9
- shutdown - 11.3
- some - 7.3.2
- some-> - 17.6
- some-fn - 5.3
- sort - 7.3.9
- sort-by - 7.3.9
- Source tracking - 4.3
- spec - 4
- split-at - 7.3.6
- split-with - 7.3.6
- Stack traces - 8.2
- State machine - 1.3
- STM - 11.2
- stop - 3.1
- str - 4.2
- Strings - 4.2
- Structural sharing - 8.1
- subs - 4.2
- subvec - 4.8
- superiors - 13.3
- swap! - 11.1
- Symbols - 4.6
T
- TAP - 8.1
- take - 7.3.6
- take-nth - 7.3.6
- take-while - 7.3.6
- test - 3.3, 14.1
- test.check - 14.4
- Testing - 14
- test - 4.5
- thread-bound - 11.4
- Thread-first - 17.6
- Thread-last - 17.6
- throw - 6.3
- Timeout - 4.3
- to - 4.6
- trace - 8.5
- track - 4.3
- Transducers - 3
- transient - 8.2
- Transitive - 13.3
- Tree operations - 2.4
- tree-seq - 7.5
- try - 6.3
- Type checking - 5.4
- type - 12.2
U
V
- val - 7.1
- validate - 5.1
- Validation - 5
- vals - 4.9
- var - 3.3.1
- var-get - 11.4
- Vars - 11.4
- vec - 4.8
- Vector - 4.8
- vector-of - 4.8
- volatile - 11.1
W
- when - 6.1.2
- when-bind - 10.6.2
- when-first - 6.1.2
- when-let - 6.1.2
- when-not - 6.1.2
- while - 6.2
- Whitespace - 3.6
- Windowing - 4.4