Implementing Python for DrRacket

  title={Implementing Python for DrRacket},
  author={Pedro Palma Ramos and Ant{\'o}nio Menezes Leit{\~a}o},
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 vice versa, as well as using DrRacket's pedagogic features. In particular, it allows architects and… Expand
Macros for domain-specific languages
This paper presents an architecture for implementing macro- Extensible DSLs on top of macro-extensible host languages, which empower programmers to safely grow DSL's on their own and tailor them to their needs. Expand
Fast Visualization of Large Architectural Models
Architects and designers often use Computer Aided Design (CAD) tools to create their models. These tools are very powerful but they are mostly intended for manual use. Unfortunately, the manualExpand
Python on the Landscape of Programming Tools for Design and Architectural Education
This is an early report on collecting data about software applications and coding tools geared towards the educational environment, preparing a listing for further evaluation and analysis of platforms. Expand
Geometric Modelling with Constraints [ Extended Abstract ]
Geometric modeling requires the specification of position, orientation and size of geometric entities. However, the modeler often does not know a priori these properties, but knows other propertiesExpand
Procedural Generation for Architecture
Existing tools used for 3D modeling creation are mostly geared for manual use. Unfortunately, the manual production of large amounts geometry is very time consuming. Procedural generation of theseExpand
Macros for domain-specific languages
This paper presents an architecture for implementers of macros, a powerful means of extending languages that has proven useful in both general-purpose and domain-specific programming contexts. Expand


Languages as libraries
Racket's language extension API is explained via an implementation of a small typed sister language that provides a rich type system that accommodates the idioms of untyped Racket and includes a type-based optimizer that achieves promising speedups. Expand
Extending and embedding the python interpreter
This document describes how to write modules in C or C++ to extend the Python interpreter with new modules, which can define new functions but also new object types and their methods. Expand
Portable Generative Design for CAD Applications
Rosetta ensures that a single program can be used to create identical geometric models in different CAD applications, thus facilitating the dissemination of the programs and of the underlying ideas. Expand
An Introduction to Python
This revised edition of the official Python tutorial provides an introduction to Python, an easy to learn object-oriented programming language that has modules, classes, exceptions, very high level data types, and dynamic typing. Expand
From Python to PLT Scheme
An experimental embedding of Python into DrScheme is described, using a compiler, which translates Python programs into equivalent MzScheme programs, and a runtime system to model the Python environment. Expand
Python Essential Reference
This review concludes that Python users who are tired of chasing questions through hyperlinked online documents will benefit from the expansive random-access index, and Python the book captures the orderliness of Python the language. Expand
JyNI - Using native CPython-Extensions in Jython
JyNI (Jython Native Interface) is a layer that enables Jython users to load native CPython extensions and access them from Jython the same way as they would do in CPython. Expand
The Definitive Guide To Jython
One of my favourite reasons to use objects at all in Python is to make them behave more like standard builtin types like lists, sets or dictionaries. Expand
DrScheme: A Pedagogic Programming Environment for Scheme
DrScheme is a comprehensive programming environment for Scheme that fully integrates a graphics-enriched editor, a multi-lingual parser that can process a hierarchy of syntactically restrictive variants of Scheme, a functional read-eval-print loop, and an algebraically sensible printer. Expand
The Architecture of Open Source Applications
E very few years, I attempt a bit of sympathetic magic by reviewing books that don't yet exist , in the hope that someone will then feel compelled to write them. Doing this helps me figure out whereExpand