I am a retired electronics technician who learned Pascal and a bit of C 30 years ago. My real interest is in creating radically atypical new systems of symbolic logic. My typing is ten times slower that normal due to developmental dyspraxia. I have two requests for the Odin team. It would be for the best if the groundwork to support the requested features would be in place prior to the official release.
The first request is for the creation of a static source code analysis tool. Before feeding the code into the compiler you run it through this analysis tool, which returns a text with a list of the history of every pointer, variable, array, etc. — everything that bears a name or a type. Then you just read down a numbered list that displays every line where a named item is allocated, accessed, modified, freed, etc. It could even be enhanced to detect errors. The analyzed code would need to be line numbered. When I line-number my notes I use base 8, not base 10. ‘Seven’ is written ‘7’ and ‘eight’ is written ‘10’. Thus when I need to interpolate a note between ‘5’ and ‘6’ I always write ‘5.4’ since 4/8 = 1/2; and there is no ambiguity when I need ‘5.2’. The benefits a amazingly numerous. I can delete note ‘5’ and still retain note ‘5.4’, for example. Perhaps this could make Odin just as safe as Rust?
My second request is for a high-level version (maybe ‘Odin-Hi’). This would be a high level subset of complete Odin (maybe ‘Odin-Cpl’) that, for example, could automatically allocate extra memory for large values, perhaps provide a bit of syntactic sugar, etc. This might require an expanded run-time system, although I distrust large run-time systems. A static source code analysis tool would allow for retention of manual memory management. I hope it would be compatible with complete Odin. The Nim language has this great feature. Maybe I’m just a foolish one who just proposes odd things.