Why is the compiler written in C++ instead of Rust? #52
-
|
Hey team; Since helix-lang praises the benefits of the Advanced Memory Tracking (AMT) which allegedly is : Why is the compiler written in C++ instead of Rust (at least before bootstrapping)? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
|
Helix started as a passion project, since I was primarily coding the initial compiler, my expertise is in C++, we did give a try writing it in Rust mixed with C++ but it was fruitless endeavor, so I switched back to C++ only, another thing is that the initial compiler doesn't have the AMT since coding the AMT needs really careful planing and execution, that's one of the main reasons why. The current compiler just converts helix back to C++ but allowing things like interfaces instead of concepts and having the main core components of Helix, another reason for bootstrapping instead of building upon this compiler is, this compiler is really unmaintainable, I followed no code guidelines, or structure, so rewriting is the only option that's really left and why not just rewrite in helix itself... with a full team instead of a 1 man job. Another advantage is the new compiler can again become a bootstrap compiler by adding the '--emit-ir --verbose' which would output plain C++ allowing us to cosscompile that and recompile for other targets as well. |
Beta Was this translation helpful? Give feedback.
-
|
anything is better than r*st |
Beta Was this translation helpful? Give feedback.
Helix started as a passion project, since I was primarily coding the initial compiler, my expertise is in C++, we did give a try writing it in Rust mixed with C++ but it was fruitless endeavor, so I switched back to C++ only, another thing is that the initial compiler doesn't have the AMT since coding the AMT needs really careful planing and execution, that's one of the main reasons why.
The current compiler just converts helix back to C++ but allowing things like interfaces instead of concepts and having the main core components of Helix, another reason for bootstrapping instead of building upon this compiler is, this compiler is really unmaintainable, I followed no code guidelines, or s…