Language Features
Cyclone attempts to avoid some of the common pitfalls of C, while still maintaining its look and performance. To this end, Cyclone places the following limits on programs:
NULL
checks are inserted to prevent segmentation faults- Pointer arithmetic is limited
- Pointers must be initialized before use (this is enforced by definite assignment analysis)
- Dangling pointers are prevented through region analysis and limits on
free
- Only "safe" casts and unions are allowed
goto
into scopes is disallowedswitch
labels in different scopes are disallowed- Pointer-returning functions must execute
return
setjmp
andlongjmp
are not supported
To maintain the tool set that C programmers are used to, Cyclone provides the following extensions:
- Never-
NULL
pointers do not requireNULL
checks - "Fat" pointers support pointer arithmetic with run-time bounds checking
- Growable regions support a form of safe manual memory management
- Garbage collection for heap-allocated values
- Tagged unions support type-varying arguments
- Injections help automate the use of tagged unions for programmers
- Polymorphism replaces some uses of
void *
- varargs are implemented as fat pointers
- Exceptions replace some uses of
setjmp
andlongjmp
For a better high-level introduction to Cyclone, the reasoning behind Cyclone and the source of these lists, see this paper.
Cyclone looks, in general, much like C, but it should be viewed as a C-like language.
Read more about this topic: Cyclone (programming Language)
Famous quotes containing the words language and/or features:
“I suggested to them also the great desirability of a general knowledge on the Island of the English language. They are under an English speaking government and are a part of the territory of an English speaking nation.... While I appreciated the desirability of maintaining their grasp on the Spanish language, the beauty of that language and the richness of its literature, that as a practical matter for them it was quite necessary to have a good comprehension of English.”
—Calvin Coolidge (18721933)
“Art is the child of Nature; yes,
Her darling child, in whom we trace
The features of the mothers face,
Her aspect and her attitude.”
—Henry Wadsworth Longfellow (18071882)