I have been reading lot of your post on rust forum & git, I will try to issues some of them, it's so funny how no one thought the same concept I use to have all this things of collections and traits
I can say in my whole framework there is almost zero compiler defined type. Only for very basics structure, but no high level object is ever defined in the compiler, and modules can still exchange with each other, and they dont share any kind of compile time type déclaration
Saying this to answer a post I saw you made on rust saying program need to share data type definition, with my system it works without,only members/key name need to be know, and the native type can be determined at run-time, and converted automtically to a requested type without having to declare anything at compile time or knowing the native type.
Can allow to detect directly if a member is even present or not at run-time. Instead of having non initialized/undetermined variable.
It's similar to js with this, when json data is received, there is no type declaration anywhere, and the program can still access the data based on key name, and the order of the keys doesnt matter, or if there any other key in any order, without having to have shared declaration anywhere.
All this is made with still relatively simple C code
It's funny reading those post I remember the different thing I tried to get this behavior in C/C++, either with pure virtual variant class, with some c++ template, funktors, tried everything but the ultimate solution in fact is much simpler, just need to forget about compile time order and verification, which are still often not that useful, and focus only on the runtime and runtime checking, which is imo much simpler and safer, and can allow for plenty of runtime check on everything, and can cop with dynamic typing and run time type definition.
The more it goes, the more i think all this trend with programming paradigm based on strict compile time defined type create more problem than it solve all together, and compiler are never able to deal with the true complex cases anyway. If you sum up the kind of situation compiler can solve with compile time type checking, to me it's mostly simple mistake, and I do think there is a whole generation of programmers traumatised from assembly programming and cheap cast trick in C that they obnubilated to conforming to high level language synthaxe , having often not that much clue of the real problematic involved, and just stick to synthaxe definition and compile time check, which in fact only solve minor mistake or trouble coming from assembler programming.
I already solved the shape collection issue with the raytracer
it doesnt even need any compiler defined type
Now I think either there is a massive pb I dont get with my system, either i feel people are really looking elat the problem coming from wrong paradigm
Looking back at those threads, im remembering all the nightmare in compiled languages with dynamic typing, I really wonder why no one seem to have followed the same road than me lol
It just works so well for everything from usb drivers to blockchain rpc server, with simple standalone C code, I really wonder why such system hasnt Been tried before.
All a function need is a pointer as arg, and it can check all the type, and members, members of members, and test the presence of any without any prior declaration of the type for the compiler. The data can come from anywhere from hell to heaven, the function will never crash and be able to get the data from the member it need, and check the presence of the member, and return failure if the data is not what the function expect, in any case, there is very little chance of crash of access to wrong memory address, even if the function has no idea where the data come from and there is zero tacit coupling at all between the caller and callee.
I guess it's not silver bullet for everything, but normally it take very dumb programming to make a crash or memory leak with it, and it's only pure C89 code. With a layer on top of it, it would probably be even better, but in the same time I think also most complex part of the app are going to js and html5, so not sure it's really worthy to have another high level scripting language, or for having 100% standalone app who doesnt require a js browser or node.js.