Freestanding Val #740
charlestolley
started this conversation in
Language design
Replies: 2 comments 4 replies
-
We're planning to try to do something like Rust's killer feature. In our case the core library is lower-level than the standard library, and just big enough to supply types like |
Beta Was this translation helpful? Give feedback.
0 replies
-
Apologies for resurrecting this thread from the dead. I'm interested in low-level systems programming, especially hobby kernel/OS development. I tried C, Zig, and Nim, and I'm exploring other languages as well. I'm interested in understanding where Hylo is w.r.t. this domain. |
Beta Was this translation helpful? Give feedback.
4 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
In order to make Val competetive with C and C++ in the long term, I think it's important to support bare-metal, embedded, and systems-level development. I think that the largest reason that C has remained such a dominant language for so many decades is that it is the easiest language to compile for these hostile runtime environments. Rust seems to have (somewhat uniquely) figured out this secret, and I think it's a major driver of its success. I love the commitment to building a high-quality standard library, and Swift's is a great one to model, but I'm concerned that an oversized standard library will limit the reach of Val and keep it perpetually dependent on a C and C++ runtime environment. I've heard old interviews with Chris Lattner in which he mentioned that Swift could be used for writing low-level device drivers, but it doesn't seem to have ever caught on, and I'm not sure his claim is still true today (I once tried to compile Swift for a bare-metal system and was unsuccessful).
The C and C++ standards demarcate exactly which features must be supported for freestanding versus hosted environments, I think Val should consider doing something similar.
Beta Was this translation helpful? Give feedback.
All reactions