Based on poor learning background with c/c++ & D, I think C3 is a very beautiful and powerful language but it is simple and so close to C.I myself just felt a bit confustion on the subjected features & design technology concerns inside at the moment.The main confustions are they seem quite similar to each other when reading the document,but not really when writing code.
Another kinda difficulty is to understand the allocator stuffs.They are seldom been mentioned in C/C++ or D (just encountered them in Zig),so what’s the whole point (why they are totally different things in C/C++/D?) ,when should one have to use,and how to take adventage of this feature?
So in general you don’t need to worry about the allocators. Use mem::new / mem::new_array / malloc etc and just allocate as usual, freeing using free`.
However there is also the temp allocator, which allows you have code automatically freed. Typically you’d use the @pool macro like this:
Lots of standard library functions offer the return of a temporarily allocated data like this, and it’s mainly useful when a function returns some dynamic data you don’t need to retain or when you’re working on a temporary dynamic string or list.