docs / guide / The Cajeta Guide
Chapters — Introduction
- Introduction
- 0. Introduction
- 1. Installation
- 2. Kick the tires
- 3. Your first project
- 4. Running your application
- 5. Debugging
- 6. Keywords
- 7. Comments
- 8. Native types
- 9. Type kinds
- 10. Allocation
- 11. Ownership & borrowing
- 12. Control flow
- 13. Strings & formatting
- 14. Templates & wildcards
- 15. Lambdas & captures
- 16. Operator overloading
- 17. Inheritance
- 18. Annotations & synthesis
- 19. DI & aspects
- 20. Error handling
- 21. Reflection
- 22. Differentiation
- 23. Code coverage
- 23. Profiling
- 24. Notebooks
- 25. Writing XPU Kernels
The Cajeta Guide
A linear walk through the toolchain, the language, and the standard library. Chapters link to tour demos you can run, and to the stdlib reference for full API surfaces.
Part I — Getting started
| Chapter | |
|---|---|
| 00 Introduction | What Cajeta is; how the docs fit together |
| 01 Installation | cvm or source; verify the install |
| 02 Kick the tires | The cajeta command surface |
| 03 Your first project | init, build, the manifest, every project type |
| 04 Running | Direct execution, run tasks, capabilities |
| 05 Debugging | gdb, the DAP server, IntelliJ, VS Code |
| 23 Code coverage | coco: configuring it, reading it, dead-vs-untested, mutation, the IDE |
(23 reads with the tooling chapters above; its file number continues the sequence rather than renumbering everything after 05.)
Part II — The language
| Chapter | |
|---|---|
| 06 Keywords | The reserved-word table, from the lexer |
| 07 Comments | Line, block, and markdown doc comments |
| 08 Native types | Integers, floats, microfloats, char, literals |
| 09 Type kinds | class, interface, enum, view, annotation, @Kernel |
| 10 Allocation | stack and heap |
| 11 Ownership | Borrows, # transfers, drops |
| 12 Control flow | if, loops, switch statement + expression |
| 13 Strings | String, StringBuilder, {} formatting |
| 14 Templates | Monomorphization, bounds, wildcards |
| 15 Lambdas | Inference, borrow and transfer captures |
| 16 Operators | Overloading, derived forms, @AutoHash |
| 17 Inheritance | Single, multiple, interfaces |
| 18 Annotations | Synthesis family; declaring your own |
| 19 DI & aspects | @Component, @Inject, @Scope, @Factory, advice |
| 20 Error handling | Exceptions; why there’s no try-with-resources |
| 21 Reflection | cajeta.reflect and the keep-set |
| 22 Differentiation | Grad/Vmap/Jit, the annotation stack, and the eager Tape |
Part III — The standard library
One chapter per package area, mirroring the tour. (Planned.)
Part IV — Specialized
| Chapter | |
|---|---|
| 23 Profiling | The sampling profiler, .pftrace output, reading a trace |
| 25 Writing XPU Kernels | How a kernel written once finds its shape on any device: the declarations, the filter and the timed choice, then the measured rules for decode, prefill, bind and fused chains, and the routing contract that admits them. The kernel catalogs are under Kernels |
GPU kernels, graphics, embedded targets, further toolchain deep-dives. (Planned.)