Let’s be a little more accurate here. Rust is an actively developed language, Cyclone was a research project that I don’t believe has received an update since 2006.
Rust also is explicit that it borrowed its lifetime concept from Cyclone. Rust is in use and gaining popularity in a way that Cyclone didn’t.
This is a bit like the debate between Apple and Xerox in terms of the beginnings of the desktop/mouse/GUI environment. Apple was the first to make it popular, xerox park invented it. Rust has a similar relationship with Cyclone.
- Need to keep old insecure code around, too much money to rewrite the world from scratch in Rust, C#, or whatever safe language makes your day
- They are just starting the project, so far only interpreter and runtime model
- It is based on CHERI CPU research (https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/), which has memory tagging
- They are planning to open source the existing work in a couple of months
- Looking for collaboration
That's what process boundaries are for. (As a bonus, you get protection from any Spectre-like issues arising in the old code.)
If you are able to force a process to change its behaviour, the process boundaries become useless.
It wasn't until today I did a search on it, and it reached 1.0!
Why wasn't Cyclone being used or continue to be developed?