P2R: Implementation of Processing in Racket

نویسنده

  • Hugo Correia
چکیده

Processing is a programming language and development environment created to teach programming in a visual context. In spite of its enormous success, Processing remains a niche language with limited applicability outside the visual realm. Moreover, architects that have learnt Processing are unable to use the language with traditional Computer-Aided Design (CAD) and Building Information Modelling (BIM) applications, as none support Processing. In the last few years, the Rosetta project has implemented languages and APIs which enable programmers to work with multiple CAD applications. Rosetta is implemented on top of Racket and allows programs written in JavaScript, AutoLISP, Racket, and Python, to generate designs in different CAD applications, such as AutoCAD, Rhinoceros 3D, or Sketchup. Unfortunately, Rosetta does not support Processing and, thus, is not available to the large Processing community. In this paper, we present an implementation of Processing for the Racket platform. Our implementation allows Processing to use Rosetta’s APIs and, as a result, architects and designers can use Processing with their favourite CAD application. Our implementation involves compiling Processing code into semantically equivalent Racket source code, using a compiler pipeline composed of parsing, code analysis, and code generation phases. Processing’s runtime is implemented purely in Racket, allowing for greater interoperability with Racket code.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

PyonR: A Python Implementation for Racket

The Python programming language is becoming increasingly popular in a variety of areas, most notably among novice programmers, due to its readable syntax and extensive libraries. On the other hand, the Racket language and its DrRacket IDE have a tradition for being used to introduce Computer Science concepts to students. Besides, the Racket platform can be extended to support other programming ...

متن کامل

An Implementation of Python for Racket

Racket is a descendent of Scheme that is widely used as a first language for teaching computer science. To this end, Racket provides DrRacket, a simple but pedagogic IDE. On the other hand, Python is becoming increasingly popular in a variety of areas, most notably among novice programmers. This paper presents an implementation of Python for Racket which allows programmers to use DrRacket with ...

متن کامل

Implementing Python for DrRacket

The Python programming language is becoming increasingly popular in a variety of areas, most notably among novice programmers. On the other hand, Racket and other Scheme dialects are considered excellent vehicles for introducing Computer Science concepts. This paper presents an implementation of Python for Racket and the DrRacket IDE. This allows Python programmers to use Racket libraries and v...

متن کامل

Correlation between lower body stiffness and agility in racket-sports athlete

Stiffness is an index for determination of elastic properties of body and its optimum range is different in various motion patterns. The Spring-mass model is used for calculating stiffness. In this method, the whole leg is modeled with a linear simple spring. The aim of this study is determination of lower body stiffness and evaluation of its correlation with agility, as dominant motion patt...

متن کامل

Meta-tracing makes a fast Racket

Tracing just-in-time (JIT) compilers record and optimize the instruction sequences they observe at runtime. With some modifications, a tracing JIT can perform well even when the executed program is itself an interpreter, an approach called meta-tracing. The advantage of meta-tracing is that it separates the concern of JIT compilation from language implementation, enabling the same JIT compiler ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015