Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Theseus
Theseus is a modern OS written from scratch in Rust that explores 𝐢𝐧𝐭𝐫𝐚𝐥𝐢𝐧𝐠𝐮𝐚𝐥 𝐝𝐞𝐬𝐢𝐠𝐧: closing the semantic gap between compiler and hardware by maximally leveraging the power of language safety and affine types. Theseus aims to shift OS responsibilities like resource management into the compiler.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Yes, most of the .rs files in https://github.com/pintariching/rustle/blob/main/src/compile... are empty. I was looking as I've been using the nom [0] parser combinator create to build an experimental compiler and I'm curious to see how other Rust compiler projects are doing parsing.
[0] https://github.com/Geal/nom
This is a great idea but I don't understand why not to extend something like swc to support svelte.
95% should be already there (maybe this does that? https://github.com/wuyudi/svelte-swc)
> Being able to use Svelte without having to mess with NPM packages would be neat.
WYM? Svelte does not have dependencies https://www.npmjs.com/package/svelte
Yes, most of the .rs files in https://github.com/pintariching/rustle/blob/main/src/compile... are empty. I was looking as I've been using the nom [0] parser combinator create to build an experimental compiler and I'm curious to see how other Rust compiler projects are doing parsing.
[0] https://github.com/Geal/nom
(Not OP) That repo looks like a proof-of-concept which is linked to from an open issue in https://github.com/swc-project/swc which is apparently a "super-fast TypeScript / JavaScript compiler".
Erlang is a bytecode VM, so "compiled" for sure, and is pretty much the pioneer of hot reloading.
Plenty of Lisps and Schemes are compiled (though often to bytecode) and can typically dynamically replace parts of the program.
I think ability to hot upgrade seamlessly more a statement of "how much of the data structure shape is carried at runtime" / "how likely it is old and new API data structures happen to interoperate", and how likely it is that one can convert old runtime state to new runtime state. And that one can be seen as a trade-off; close to the metal control over memory layout is a performance gain, but in practice trades off this kind of flexibility (in theory you could make it work, but it's probably a lot of work).
https://www.theseus-os.com/ is an experimental kernel that can restart/reload/upgrade Rust components at ELF library boundaries. (State internal to a component has to be discarded unless you program a converter. Then again most JS web development hot reload discards internal state of a component.)