3 ms·
> Previous attempts include Microsoft source code annotation language (SAL), Cyclone (AT&T research language), SCC, the Safe C compiler, Ccured, and MemSafe. No
by cwzwarich 10y ago
> Previous attempts include Microsoft source code annotation language (SAL), Cyclone (AT&T research language), SCC, the Safe C compiler, Ccured, and MemSafe. None really went anywhere.
None of these projects were trying to define safe C subsets. SAL is a system of annotations for static analysis tools. SCC, CCured, and MemSafe were all attempts to add dynamic checks for memory safety to C; they are the ancestors of things like the Address Sanitizer. Cyclone was a new programming language, and it innovated the system of ownership and borrowing that is used in Rust.
- Animats 10y agoThey were all attempts to fix memory safety without straying too far from C/C++. But that's really tough to retrofit.
- catnaroek 10y agoCyclone is pretty different from C. It has parametric polymorphism, type inference, built-in support for region allocation, sum types (both open and closed) and pattern matching... and sadly also an unsightly surface syntax.