CScheme is an application developed at "Università of Roma Tre" (Rome, Italy) by CADGroup based on the integration of two open-source software projects:

  • The CAD environment namedOpen Cascade (OCAS) by Matra atavision, which is a powerful geometric and graphics environment mainly written in C++.
  • The MzScheme compiler, which is a first-class platform-independent implementation of the functional language Scheme by Programming Language
    Team (PLT) of Rice University.

The necessity of such integration arises from the well-known lack of specialized libraries for functional languages, mainly in the area of graphics rendering and interaction. Besides their theoretical elegance and even their practical efficiency and the ability to provide high-level tools for rapid application development and deployment, functional languages often suffer this problem. It is too often necessary to link external libraries written in some imperative language, say C++, and this is always a cumbersome ask, say heavy, slow and inefficient, for the application programmer.

Hence one of the main goals of the CScheme project was to reduce and possibly to eliminate such an inefficiency, by providing a mostly automatic interface between the C++ libraries of Open Cascade and the PLT Scheme environment.