Main »

Home Page

Wiki Help

Login

edit SideBar

C remains a very widely used systems programming language; it is widely known, supported by many tools, gives good access to low-level hardware... But producing safe and reliable C programs is unnecessarily hard, a particularly significant problem for concurrent programs, and in particular systems code. Modern languages address many of these safety and reliability issues, but porting large systems to a new language is often impractical. Static analyses of C find some problems, but typically do not guarantee safety.

Ivy represents an alternate approach: Ivy will be a safe, concurrent language, fully interoperable with C. Ivy is a work in progress, the current "0.1" version provides type and memory-safety; we are actively working on better support for concurrent programming (see SharC, a "sharing strategy" checker under projects for our most recent work).

To make using Ivy practical, we have kept our changes to C small: so far, they consist only of extra type annotations and small API changes. This makes it possible to compile Ivy programs with a traditional C compiler with the help of a small #include file, albeit without any of the safety benefits.

Page last modified on February 29, 2008, at 05:26 PM

Edit - History - Print - Recent Changes (All) - Search