5 ms·
Generating V wrappers on top of C libraries in order to use them. Otherwise all functions and types would have to be manually converted. Migrating older projec
by amedvednikov 4y ago
Generating V wrappers on top of C libraries in order to use them. Otherwise all functions and types would have to be manually converted.
Migrating older projects from C to a nicer newer language.
By moving from C to V you get rid of complex makefiles, headers (you get nice clean modules instead), you get a modern stdlib with strings etc (although C strings aren't converted to V strings by C2V yet), much easier cross compilation, etc.
- psychoslave 4y agoWas it tested on very huge code base like say, the Linux kernel?
- amedvednikov 4y agoDOOM is big but not huge. So not yet. But we are planning to translate SQLite soon and yes the Linux kernel at some point.
- haolez 4y agoLinux kernel might be a tricky one with all the inline assembly code.
- amedvednikov 4y agoLuckily V supports inline assembly code! It's used a lot in Vinix.
- psychoslave 4y agoYes I didn't mean to down size the impressiveness of translating DOOM, congratulation for that. I was just wondering to which scale it would stretch properly. Thanks for your replies.
- nyberg 4y agoHow do you handle function-like macros and concatenation? Also, both D and Zig seem to have switched to including a full C compiler instead due to issues with translating C source wise, is that a possible direction for this in V or is the source translation good enough?
- amedvednikov 4y agoMacros are unwrapped by Clang when generating C AST. No plans to support C compilation for now, translation works well enough.