odin notes
- Random Q&A
- Random caveats
- Random libraries
- Odin Wishlist - things I'd like to see in or around the language
odin basics
- string type conversions
- slices and arrays
- structs
- unions
core/vendor examples
- raylib examples asteroids with sunvox audio (vid) (cloning help)
tooling cookbook
- (
Don'tMaybe!) Deploy Odin programs to CentOS 6 - Using Odin on Windows when you hate Windows
- Include asm in your Odin program
- Hot-code loading
- Deploy to WASM
- Use a debugger
- Use a memory debugger
- Use a profiler
- Generate documentation
- Run tests
- Project layout
- Run odin 'scripts'
- Look at generated machine code
- Vim setup with syntax highlighting, indentation, and odinfmt
memory management series
- lists/stack-allocated ???
- lists/malloc&free
- lists/handles for pointers
- lists/arena allocator
- lists/custom allocators
primitive networking servers series
- hello serial (high)
- echo serial
- brutish chat
- classy chat
- hello TLS
- clear-then-TLS chat
- serial UDP server
odin language design
- on negative indexing (discord). Shorter: actually using negative indexes would be an unacceptable performance hit. gB's aware of how D, Nim, et al. do something similar but nobody's proposed a syntax he likes for Odin.
- the package system. Packages are directories. You can't have code for two Odin packages in the same directory. The
packagedirective isn't the name of the package as far as importing is concerned, but is still required, and is used as an ABI symbol prefix. - why not i5, u15, and other arbitrary-width numbers? Because Odin wants high mechanical sympathy (without using that term) and these nonsense types would have to be implemented in software.
- RAII
- Nullable Pointers
advocacy
- No, I don't hate advocacy. We're just worse off when people with professional opinions and experience are too cool to share.
- Pragmatism in Programming
- BDFL quotes
- https://graphitemaster.github.io/odin_review/ (very few bugs in the compiler after a year of use, LLVM, doesn't play so well with debugging)
