category: Specification <div id="toc_heading"></div><div id="toc"></div> h2. Goals BBC BASIC has seen over forty years of gradual evolution, but one very significant language feature which has yet to reach the dialect in today's RISC OS: the concept of structured data types. The primary goals of this work are to introduce a rich implementation of structures in a way which is in keeping with the ethos of the language, doing so in a way which will be in some way familiar to users of other language implementations of structures, while ensuring that these changes have the least possible likelihood of breaking backwards compatibility with BBC BASIC programs pre-dating these changes. h2. Existing documentation h3. Relevant specifications "Basalt":http://www.kappa.me.uk/basalt.htm - BASic ALTernative keywords "BBC BASIC for Windows":http://www.bbcbasic.co.uk/bbcwin/bbcwin.html - Richard Russell's advanced implementation of BBC BASIC for PCs h3. Relevant forum threads "Pointer syntax":/forum/forums/12/topics/15702 comparisons between other dialects "BASIC development":/forum/forums/3/topics/1769 ideas "Adding BBFW functionality to ARM BASIC":/forum/forums/3/topics/183 Asking about the possibility of "BBC BASIC with objects?":/forum/forums/5/topics/129 h2. Terminology A *term* is a placeholder. h2. Detail h3. Structures h3. Dynamic memory h2. Implementation progress table(bordered). |_<. Phase |_=. Status |_=. Completion |_<. Latest updates | |<. Conceptual design |=. In progress |=. 10% |<. 23-Jul-2022 Document updated (see history) | |<. Mock ups/visualisation |=. In progress |=. 5% |<. 23-Jul-2022 Sample syntax for real world examples created | |<. Prototype coding |=. - |=. - |<. - | |<. Final implementation |=. - |=. - |<. - | |<. Testing/integration |=. - |=. - |<. - | h2. Document history v1.00 - 26-Dec-2021 * Outline added v1.01 - 23-Jul-2022 * Goals and links to other relevant material filled * Removed 64 bit integer type from scope