Cyclone - PowerPoint PPT Presentation

About This Presentation
Title:

Cyclone

Description:

Cyclone A Very Short Introduction Dan Grossman Cornell University Computer Science Cyclone in One Slide A safe, convenient, and modern language/compiler at the C ... – PowerPoint PPT presentation

Number of Views:93
Avg rating:3.0/5.0
Slides: 7
Provided by: DanG118
Category:

less

Transcript and Presenter's Notes

Title: Cyclone


1
Cyclone
  • A Very Short Introduction
  • Dan Grossman
  • Cornell University Computer Science

2
Cyclone in One Slide
  • A safe, convenient, and modern language/compiler
  • at the C level of abstraction
  • Safe Memory safety, abstract types, no core
    dumps
  • C-level User-controlled data representation,
    easy inter-operability, resource-management
    control
  • Convenient looks like C, acts like C, but may
    need more type annotations
  • Modern discriminated unions, pattern-matching,
    exceptions, polymorphism, advanced type system,

3
Why Bother?
  • Safety-critical systems that must control data
    representation
  • e.g. low-level plug-ins
  • Performance tuning without throwing away the
    prototype
  • Exploit massive infrastructure and knowledge-base
    of C

4
Silly Example
  • a swap(a _at_2r x)
  • a t x0
  • x0 x1
  • x1 t
  • return x0
  • void swap(void x)
  • void t x0
  • x0 x1
  • x1 t
  • return x0
  • Compiler needs info to check safety of body and
    call sites
  • Call sites do not change !

5
Status
  • Bootstrapped compiler (approx. 1 minute)
  • Libraries
  • Documentation (more in progress)
  • Easy to install and build (gcc, gnumake, a couple
    environment variables)
  • URL announcement soon, meanwhile mail us
  • Greg Morrisett (jgm_at_cs.cornell.edu)
  • Trevor Jim (trevor_at_research.att.com)
  • Dan Grossman (danieljg_at_cs.cornell.edu)

6
Yeah, We Do That (With Caveats)
  • pointer arithmetic, unions, varargs, nested
    structs, address of stack variables, function
    pointers, polymorphism, casts to supertypes,
    declaration w/o initialization, type inference,
    array-bounds checks, extensible datatypes,
    namespace control, link-compatibility checking,
  • What do you want to see? (Well write code)
Write a Comment
User Comments (0)
About PowerShow.com