Export Citations
- Sponsor:
- sigplan
No abstract available.
Proceeding Downloads
Scheme on the web and in the classroom: a retrospective about the LAML project
LAML is a software system that brings XML languages into Scheme as a collection of Scheme functions. The XML languages are defined by XML document type definitions (DTDs). We review the development of LAML during more than a decade, and we collect the ...
miniKanren, live and untagged: quine generation via relational interpreters (programming pearl)
We present relational interpreters for several subsets of Scheme, written in the pure logic programming language miniKanren. We demonstrate these interpreters running "backwards"---that is, generating programs that evaluate to a specified value---and ...
Optimizing closures in O(0) time
The flat-closure model for the representation of first-class procedures is simple, safe-for-space, and efficient, allowing the values or locations of free variables to be accessed with a single memory indirect. It is a straightforward model for ...
A sufficiently smart compiler for procedural records
Many languages include a syntax for declaring programmer-defined structured data types, i.e., structs or records. R6RS supports syntactic record definitions but also allows records to be defined procedurally, i.e., via a set of run-time operations. ...
Efficient compilation of tail calls and continuations to JavaScript
This paper describes an approach for compiling Scheme's tail calls and first-class continuations to JavaScript, a dynamic language without those features. Our approach is based on the use of a simple custom virtual machine intermediate representation ...
Hygienic quasiquotation in scheme
Quasiquotation in Scheme is nearly ideal for implementing programs that generate other programs. These programs lack only the ability to generate fresh bound identifiers, as required to make such code-manipulating programs hygienic, but any Scheme ...
AspectScheme: aspects in higher-order languages
AspectScheme is an implementation of the Scheme programming language[5] built on MzScheme[4], providing support for pointcuts and advice aspect-oriented programming. In order to use it, place
#lang racket
(require (planet dutchyn/aspectscheme:1:0/...
Optimizing JavaScript code for V8
The performance of programs running in JavaScript engines is notoriously difficult to predict. Indeed, JavaScript is a complex language and, due to time-constraints and limited engineering resources, all popular virtual machines only optimize a subset ...
Interpretations of the gradually-typed lambda calculus
Gradual typing is an approach to integrating static and dynamic type checking within the same language [Siek and Taha 2006]. Given the name "gradual typing", one might think that the most interesting aspect is the type system. It turns out that the ...
Form over function: teaching beginners how to construct programs
Teaching beginners how to program is hard: As knowledge about systematic construction of programs is quite young, knowledge about the didactics of the discipline is even younger and correspondingly incomplete. Developing and refining an introductory-...
Using scheme to control simulated modular robots
Self-reconfigurable, modular robots are distributed mechatronic devices that can change their physical shape; modules are programmed individually but must coordinate across the robot. Programming modular robots is difficult due to the complexity of ...
Index Terms
- Proceedings of the 2012 Annual Workshop on Scheme and Functional Programming
Recommendations
Acceptance Rates
Year | Submitted | Accepted | Rate |
---|---|---|---|
Scheme '12 | 4 | 4 | 100% |
Overall | 4 | 4 | 100% |