Cornell University and AT&T Labs are developing Cyclone, a new computer programming language similar to C but much more difficult for programmers to introduce bugs when writing code. The developers claim that Cyclone's data representation and calling conventions are interoperable with C-like programming styles, which should simplify porting code to Cyclone. Cyclone helps make code safer by enforcing checks through a type library. If the compiler finds problems, it can rewrite the code or suggest possible ways to rewrite the code manually. In addition, data type information and runtime checks help prevent array boundary violations, also known as unchecked buffers or buffer overrun conditions.
According to the development team's Web site, Cyclone offers a variety of other programming features, including tagged unions, parametric polymorphism, pattern matching, exceptions, anonymous structs equivalent by structure, parameterized typedefs, an extensive library for container types and common utilities, a lexer generator, a parser generator, and function-level debugging with tools such gdb and profiling with gprof.
Linux x86 versions currently support Cyclone. Windows platforms also support Cyclone using Cywin software that provides a UNIX environment for Windows platforms. Although the development team says that they've had success using Cyclone on Unix varieties such as BSD, Irix, and Solaris, your mileage may vary on those OSs.
Because Cyclone is a joint effort, content licensing varies depending on who provided the particular content. The development team suggests that you inspect each directory to determine the proper licensing for the respective components. You can download a copy of Cyclone and review the online documentation at the development team's Web site.