Languages — Per-Note Schema
Per-Note Schema
Every note in
Languages/MUST follow this structure. Predictability is the point — agents and humans should know where to look without reading the whole note.
Frontmatter
---
title: "<Language> — Reference"
created: <ISO 8601>
agent: claude-code
type: language-reference
language: <canonical name, e.g., "Python", "C++">
paradigms: [imperative, object-oriented, functional, ...]
typing: <static | dynamic | gradual | dependent>
memory: <gc | manual | rc | borrow-checked | ...>
compilation: <compiled | interpreted | jit | transpiled | ahead-of-time>
domains: [web, systems, data, ml, mobile, embedded, scripting, ...]
tags: [language-reference, <language-slug>, <paradigm-tags>, ...]
official_docs: <url>
spec: <url, if any>
latest_version: "<x.y.z (yyyy-mm)>"
---Body sections (in order, all required)
1. At a glance
One screen of bullets: created year, current owner/foundation, paradigms, type system, memory model, compilation model, primary use cases, notable runtimes/implementations, latest stable version with date.
2. Getting started
- Installation (official installer + version manager if standard)
Hello, world!example- Project layout convention
- Package manager / build tool
- REPL / playground if relevant
3. Basics
- Primitive types & literals
- Variables, mutability, scoping rules
- Control flow (if/else, switch/match, loops)
- Functions: signatures, defaults, varargs, closures, first-class status
- Strings & string interpolation
- Built-in collections (list/array, map/dict, set, tuple)
4. Intermediate
- Type system depth (generics, inference, constraints, variance)
- Modules / packages / namespaces
- Error-handling model (exceptions, Result/Option/Either, panics, errno)
- Concurrency primitives (threads, async, channels, coroutines)
- File I/O and networking basics
- Standard library highlights worth knowing
5. Advanced
- Memory model & ownership / GC tuning knobs
- Concurrency / parallelism deep dive (runtimes, schedulers, locks, atomics)
- FFI / interop with C or other ecosystems
- Reflection / introspection
- Performance tuning (profiling tools, common hot paths)
6. God mode
- Metaprogramming (macros, decorators, codegen, templates, type-level)
- Compiler / runtime internals worth knowing
- Bytecode / IR / disassembly tooling
- Custom build phases, language extensions, plugins, embedding the runtime
- The tricks that separate “writes the language” from “shapes the language”
7. Idioms & style
- Naming conventions
- Official formatter & linter
- The community’s ineffable “-ic” patterns (Pythonic, Rusty, idiomatic Go)
- What expert reviewers look for
8. Ecosystem
- Most-used frameworks per domain (web, data, ML, mobile, GUI)
- Testing tools
- Documentation tools
- Notable companies / projects using it
9. Gotchas
- Common bugs & footguns
- Surprising behaviors / WAT moments
- Pitfalls for newcomers from other languages
10. Citations
- Official docs (versioned URL when possible)
- Language spec or reference
- Style guide
- Other authoritative sources used to write this note
Writing rules
- Cite, don’t paraphrase from memory. Every non-trivial claim should trace to a citation in section 10.
- Date version-sensitive claims. “As of YYYY-MM, latest stable is X.Y” — never just “latest is X.Y”.
- Cross-link. Use
[[Languages/<other>|<other>]]to link to comparable languages. - Show, don’t tell, for syntax. A 5-line code sample beats a paragraph of prose every time.
- Stay opinionated about depth. “God mode” is the differentiator vs every other reference — make it count. Don’t pad it with intermediate material.