nelua notes
nelua basics
- correctness - warnings, checks
- nelua configuration - neluacfg.lua, etc.
- modules
- string type conversions
- the toplevel
- enums
- iterators
- coroutines
- pragmas and annotations
- generics
- discriminated unions
- threads - examples/threads
nelua code generation
- getch FFI - manual bindings with C constants and use of partially-documented C structs
- getch FFI with nldecl
- confirming code generation - is
*[0]cstringthe right type for this binding?
tooling cookbook
- Cross-compile with Zig
- Vim setup
- Run nelua 'scripts'
- Run tests
- Hot-code loading
- nldecl - generate FFI bindings
- augmented Lua
- interdict function calls
preprocessor cookbook
- alternatives to C __FILE__ and friends
- populate a record by key order
- populate a string array with a shell oneliner
- merge namespaces
- aliasing fields
- file-relative paths
- include files -- without having to
requirethem - accessing hidden code - say, for testing
- short fn syntax
- inc/dec macro
- one-liner templates
- Let Over Lambda
- Compile-time Counters
memory management series
- the nil allocator
- statically-allocated lists
- spooky gc behavior - posted on Halloween
my stuff
- nelua raylib examples (vid) - github
- csvbench - going from 45s runtime to 131ms - github
- chrestomathy - kal - a calorie counter
design
- light advocacy - say something nice
- nelua quotes
- nelua roadmap
- lua minimalism
- Mechanism, Not Policy
- Zero Is Initialization
- enums requiring a first value
fooling
links
- gh wiki - awesome nelua, automatic swizzling, speeding up compilation
- edubart/nelua-batteries - json, bigint, sqlite, etc.
- AuzFox/Raylib.nelua
- Andre-LA - has several nelua/wasm games
- nsauzede/realist - raytracing chrestomathy including Nelua
lua-related links
- Ravi - Lua 5.3 + static typing (for optimization)
- Teal - Lua + types (for fewer errors)
- Terra - similar from a distance to Nelua: a low-level language that's metaprogrammed by Lua
- pallene - "intended for writing performance sensitive code that interacts with Lua, a space that is currently filled by C modules and by LuaJIT."
- yuin/gopher-lua Lua 5.1 as a Go extension language
- https://leafo.net/posts/itchio-and-coroutines.html
- https://randygaul.github.io/cute_framework/#/topics/coroutines
- https://edw.is/how-to-implement-action-sequences-and-cutscenes/
