30 citations found. Retrieving documents...
M. Flatt. PLT MzScheme: Language Manual, 2002. http://download.plt-scheme.org/doc/

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

The Development of LAML - A Suite of Web Software for Scheme - Nørmark (2002)   (Correct)

....rgb string color) quote string) string append font ss cs (as string x) font ) Figure 1: An example of function from the very early HTML mirror. LAML running on most existing Scheme Systems without concerns of third party libraries such as SLIB [9] and the PLT libraries [4] (see also section 7) Lesson 1. LAML includes a general library of list and string functions (among others) primarily because Scheme is not standardized with comprehensive libraries. The library for reading and writing of text les makes it possible to read a text le into a string and vice ....

Matthew Flatt. PLT MzScheme: Language manual. http://www.cs.rice.edu/CS/PLT/packages/- pdf/mzscheme.pdf, August 2000.


Contracts for Higher-Order Functions - Findler, Felleisen (2002)   (1 citation)  (Correct)

....to the contract violation. Additionally, the witness enables the contract checker to properly assign blame for the contract violation to the guilty party. The next section introduces the subtleties of assigning blame for higher order contract violations through a series of examples in Scheme [8, 16]. Section 3 presents l , a typed, higher order functional programming language with contracts. Section 4 specifies the meaning of l , and section 5 provides an implementation of it. Section 6 contains a type soundness result and proves that the implementation in section 5 matches the ....

....null ) l (make panel ) let ( new child (make panel sp) children (send (send new child get parent) unless (eq (car children) new child ) contract error make panel ) new child ) Figure 2. Contract Manually Distributed (l (n) saved n) The module [8, 9] declaration consists of a name for the module, the language in which the module is written, a provide declaration and a series of definitions. This module provides save and use . The variable saved holds a function that should map positive numbers to positive numbers. Since it is not exported ....

Flatt, M. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997. http://www.pltscheme. org/software/mzscheme/.


Behavioral Software Contracts - Findler   (Correct)

....requires a powerful form of program extension. TeachPacks are dynamically linked multiple times, and tools are dynamically linked with externally specified imports. To support both TeachPacks and tools, DrScheme uses units [15] a software component mechanism designed as part of the MzScheme [14] programming language. 1.2 Class and Function Contracts from DrScheme This section motivates the remainder of this dissertation with example contracts from DrScheme. The contracts range from simple predicates on flat values to the invariants of certain object oriented design patterns [18] to ....

....first assertion based contract checker for languages with higher order functions. The next section discusses the challenges of contracts for higher order functions. Section 5. 2 introduces the subtleties of assigning blame for higher order contract violations through a series of examples in Scheme [14, 25]. Section 5.3 presents , a typed, higher order functional programming language with contracts. Section 5.4 specifies the 68 meaning of , and section 5.5 provides an implementation of it. Section 5.6 contains a type soundness result and proves that the implementation matches the calculus. ....

[Article contains additional citation context not shown here]

Flatt, M. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997.


Synthesizing Object-Oriented and Functional Design.. - Krishnamurthi.. (1998)   (13 citations)  (Correct)

....inherited fields to its superclass s constructor. Zodiac expands the Extensible Visitor specification into a collection of classes and interfaces that is ff equivalent to the code in Sect. 3. 6 Implementation and Performance Zodiac is currently implemented as a language extension to MzScheme [12], a version of Scheme [3] extended with a Java like object system. A preliminary version of Zodiac has been used to implement DrScheme, a Scheme programming environment [11] DrScheme is a pedagogically motivated system that helps beginners by presenting Scheme as a succession of increasingly ....

Flatt, M. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University,1997.


Programming Languages for Reusable Software Components - Flatt (1999)   (10 citations)  (Correct)

....y) define Translated (class object (Shape) shape Delta x Delta y ) public (send shape draw window ( x Delta x ) y Delta y ) Figure 2. 2 : Shape classes Throughout this chapter, we use the syntax for classes, units, and mixins of the MzScheme programming language [26], which is an extension of Scheme [11] Where necessary, we explain the syntax of these forms, but we assume a passing familiarity with Scheme s syntax and with common object oriented constructs. 2.1.1 Shape Datatype Initially, our shape datatype consists of three variants and one operation: ....

....the linking within Basic Union BB Shapes; it only affects the way that Basic Union BB Shapes is linked with other units. The simplified description of compound unit in Section 2.2.2 did not cover the syntax for renaming exports. For a complete description of compound unit, see the MzScheme manual [26]. define BB Shapes (unit (import Shape Rectangle Circle Translated Union) export BB Shape BB Rectangle BB Circle BB Translated BB Union BB) define BB Shape (interface (Shape) see Figure 2.5 (define BB Rectangle (class Rectangle : define BB Circle (class Circle : ....

[Article contains additional citation context not shown here]

Flatt, M. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997.


Compiling R: A Preliminary Report - Tierney (2001)   (Correct)

....global variables it would be useful to develop some form of name space management system for R. Most languages now include some form of name space mechanism. Java, Perl and Tcl [27] have fairly simple systems. The ML language family has a very rich mechanism [14] The Scheme48 [21] and MzScheme [9, 10, 8] module systems (MzScheme calls them units) are somewhere in between. These should provide a basis for designing a name space mechanism for R. Providing mechanisms for sealing environments and name space management will make it easier to compile R code without a#ecting the semantics. But it will ....

Matthew Flatt. PLT MzScheme: Language manual. http://www.cs.rice. edu/CS/PLT/packages/doc/mzscheme/index.htm, August 2000.


A Better API for First-Class Continuations - Marc Feeley Epartement (2001)   (Correct)

....e ect for the dynamic extent of the call to the thunk passed as the last argument. Some Scheme systems generalize the dynamic environment by providing procedures and special forms to de ne new dynamic variables and bind them in the dynamic environment. For instance, Chez Scheme [Dyb98] MzScheme [Fla00], Larceny [HC00] Chicken [Win01] and Gambit C [Fee01a] have the procedure (make parameter initial value) which creates a global dynamic variable and returns a procedure to get and set the value of the variable in whichever dynamic environment is current at the time of the call, and the form ....

Matthew Flatt. PLT MzScheme: Language Manual. Available at http://www.cs.rice.edu/CS/- PLT/packages/doc/mzscheme/, August 2000.


Linguistic Reuse - Krishnamurthi (2001)   (1 citation)  (Correct)

....trivial because macros can a ect the component properties of modules. Speci cally, macros can insert unbound names into the component s source, rendering it impossible to assign meaning to the component. We will explore these problems in detail in the next section. This document uses MzScheme s [20] unit construct [21] as the principal vehicle for component programming. Each unit is a separately compilable code container. Units are closed with respect to their imports, so their meaning is xed relative to the meanings of their imports. They export values, and exports can be connected to the ....

....control linkage, the macro designer can assume nothing about the meaning of the linked implementations. Linking to the wrong unit would hinder meaning resolution. 36 Some of these steps could be automated, but the automation fails if components can be rst class values, as units are in MzScheme [20]. In such languages, the programmer can write arbitrary programs that choose which component to use at run time, and statically determining which one will be used is undecidable. Therefore, it is impossible to statically associate the component with the implementation of the names used by its ....

[Article contains additional citation context not shown here]

Flatt, M. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997.


Automatic Generation of Compact Programs and Virtual Machines.. - Latendresse (2000)   (1 citation)  (Correct)

....R 4 RS library code for proper execution. In column Without Library , the sizes do not include the R 4 RS library code. In this case, the code sizes give the direct memory space used by the code as if the whole R 4 RS library were available in the VM. The bytecode sizes of MzScheme [9] were obtained using distribution 101, and without any part of the R 4 RS library. The b program is very small for Schemina in both versions. It is much larger in BIT with the library. This is due to the compilation technique. The BIT compiler relies on the library to do xnum arithmetic. But ....

Matthew Flatt. PLT MzScheme: Language manual. Technical Report TR97-280, Rice, 1997.


Automatic Generation of Compact Programs and Virtual Machines.. - Latendresse (2000)   (1 citation)  (Correct)

....R 4 RS library code for proper execution. In column Without Library , the sizes do not include the R 4 RS library code. In this case, the code sizes give the direct memory space used by the code as if the whole R 4 RS library were available in the VM. The bytecode sizes of MzScheme [10] were obtained using distribution 101, and without any part of the R 4 RS library. The b program is very small for Schemina in both versions. It is much larger in BIT with the library. This is due to the compilation technique. The BIT compiler relies on the library to do xnum arithmetic. But ....

Matthew Flatt. PLT MzScheme: Language manual. Technical Report TR97-280, Rice, 1997.


From Macros to Reusable Generative Programming - Krishnamurthi, Felleisen, Duba (1999)   (2 citations)  (Correct)

....programs. 5 Implementation Experience Over the past five years, we have implemented several generations of McMicMac. The current implementation consists of over 10,000 lines of Scheme. It includes a standard system , which consists of parsing vocabularies for different parts of Rice s version [14] of the Scheme programming language, including the functional core, side effecting features, modules and signatures, and the class system. The implementation is efficient enough for daily use as the core of a widely used programming environment, DrScheme [12] and as a pre processor by various ....

Flatt, M. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997.


Reachability-Based Memory Accounting - Wick, Flatt, Hsieh (2002)   Self-citation (Flatt)   (Correct)

No context found.

M. Flatt. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997. http://download.plt-scheme.org/doc/.


Units: Cool Modules for HOT Languages - Flatt, Felleisen (1998)   (79 citations)  Self-citation (Flatt)   (Correct)

.... Cool Modules for HOT Languages Matthew Flatt Matthiss Felleisen Department of Computer Science Rice University Houston, Texas 77005 1892 Abstract A module system ought to enable assembly line programming using separate compilation and an expressive linking language. Separate compilation allows programmers to develop parts of a program independently. A linking language gives programmers precise control over the assembly of ....

....process. Some HOT module systems fail to scale essential features of the core language to modules, which re stricts the ways that modules can be defined, e.g. ML 1 does This research was partially supported by a NSF Graduate Research Fellowship, NSF grants CCI 9619756, CDA 9713032, and CCR 9708957, and a Texas ATP grant. ML stands for SML or CAML. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee proded that copies are not made or distributed for profit or commercial advantage end that copies beer this notice and ....

[Article contains additional citation context not shown here]

FLATT, M. PLT MzScheme: Language manual. Tech. Rep. TR97-280, Rice University, 1997.


Reachability-Based Memory Accounting - Wick, Flatt, Hsieh   Self-citation (Flatt)   (Correct)

....di erentiation is critical in systems where one application may use memory allocated by another application. The central design problem is how to deal with these shared values usefully and eciently. We present preliminary results on our exploration, based on a new garbage collector for MzScheme [7]. Our results suggest that a garbage collector can maintain usefully precise accounting information with a low overhead, but that the implementation of the rest of the VM requires extra care to trigger reliable termination of over consuming processes. This extra care is of the same avor as ....

M. Flatt. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997. http://download.plt-scheme.org/doc/.


A Programmer's Reduction Semantics for Classes and Mixins - Flatt, Krishnamurthi.. (1999)   (15 citations)  Self-citation (Flatt)   (Correct)

....classes. Unfortunately, multiple inheritance and its cousins are semantically complex and difficult to understand for programmers. 2 As a result, implementing a mixin protocol with these approaches is error prone and typically avoided. For the design of MzScheme s class and interface system [16], we experimented with a different approach. In MzScheme, classes form a single inheritance hierarchy, but are also first class values that can be created and extended at run time. Once this capability was available, the programmers of our team used it extensively for the construction of DrScheme ....

Flatt, M. PLT MzScheme: Language manual. Tech. Rep. TR97-280, Rice University, 1997.


Modeling an Algebraic Stepper - Clements, Flatt, Felleisen (2001)   (5 citations)  Self-citation (Flatt)   (Correct)

....model scales to full Scheme without much ado. We also believe that we could build an algebraic stepper for Java like languages, using the model of Flatt et al. 11] In contrast, it is an open question how to accommodate the GUI (callback) and concurrency facilities of our Scheme implementation [10], both in practice and in theory. We leave this topic for future research. ....

Flatt, M. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997.


DrScheme: A Programming Environment for Scheme - Findler, Clements, Flanagan.. (2001)   (9 citations)  Self-citation (Matthew)   (Correct)

....programming paradigms, and it must not allow irrelevant language features to interfere with the goals of a teaching unit. In short, a pedagogic programming environment must be able to grow along with the students through a course. DrScheme implements this stratification with four language levels (Flatt, 1997; Krishnamurthi et al. 1999b) DrScheme s current language is set via the Language Configure Language. menu item. Choosing Language Configure Language. opens a window with a choice dialog item that displays the current language level. The choice dialog item describes the student s language ....

....and lexical scope: let, local, and letrec. Advanced adds: delay, force, set , begin, when, unless, call cc, higher order functions (possibly with zero arguments) various imperative primitives, and sharing in the repl printer. Full adds: the full set of Scheme primitives (Clinger Rees, 1991; Flatt, 1997), and improper lists. Full is not case sensitive, unmatched cond case expressions result in (void ) and sharing is not shown in the repl printer. Full optionally adds a full featured GUI programming toolkit (Flatt Findler, 1997) Figure 3. Language Level Quick Reference. language corresponds ....

Flatt, Matthew. (1997). PLT MzScheme: Language manual. Technical Report TR97-280. Rice University.


Programming Languages as Operating Systems (or.. - Flatt, Findler.. (1999)   Self-citation (Flatt)   (Correct)

No context found.

Flatt, M. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997.


Programming Languages for Reusable Software Components - Flatt (1999)   (10 citations)  Self-citation (Flatt)   (Correct)

....(class object (Shape) shape Delta x Delta y ) public [draw (lambda (window x y) send shape draw window ( x Delta x ) y Delta y ) Figure 2. 2 : Shape classes Throughout this chapter, we use the syntax for classes, units, and mixins of the MzScheme programming language [26], which is an extension of Scheme [11] Where necessary, we explain the syntax of these forms, but we assume a passing familiarity with Scheme s syntax and with common object oriented constructs. 2.1.1 Shape Datatype Initially, our shape datatype consists of three variants and one operation: ....

....linking within Basic Union BB Shapes; it only affects the way that Basic Union BB Shapes is linked with other units. 4 The simplified description of compound unit in Section 2.2.2 did not cover the syntax for renaming exports. For a complete description of compound unit, see the MzScheme manual [26]. 22 (define BB Shapes (unit (import Shape Rectangle Circle Translated Union) export BB Shape BB Rectangle BB Circle BB Translated BB Union BB) define BB Shape (interface (Shape) see Figure 2.5 (define BB Rectangle (class Rectangle : define BB Circle (class Circle : ....

[Article contains additional citation context not shown here]

Flatt, M. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997.


Modular Object-Oriented Programming with Units and Mixins - Findler, Flatt (1998)   (53 citations)  Self-citation (Flatt)   (Correct)

....the reuse allowed by conventional module and class systems is limited. In these systems, modules and classes are hard wired to a specific context, i.e. to specific modules or to a specific superclass. In previous work, we separately described the novel module and class systems in MzScheme [12]. MzScheme s modules [13] called units, are roughly like Java packages, except that units are linked through an external linking specification, instead of through a fixed internal specification. MzScheme s object language [14] provides mixins, which are like Java classes except that a mixin is ....

....the linking within Basic Union BBShapes; it only affects the way that Basic Union BBShapes is linked with other units. 4 The simplified description of compound unit in Section 4.2 did not cover the syntax for renaming exports. For a complete description of compound unit, see the MzScheme manual [12]. define BB Shapes (unit (import Shape Rectangle Circle Translated Union) export BB Shape BB Rectangle BB Circle BB Translated BB Union BB) define BB Shape (interface (Shape) see Figure 5 (define BB Rectangle (class Rectangle : define BB Circle (class Circle : ....

[Article contains additional citation context not shown here]

Flatt, M. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997.


Dynamically Scoped Functions for Runtime Modification - Costanza (2003)   (Correct)

No context found.

M. Flatt. PLT MzScheme: Language Manual, 2002. http://download.plt-scheme.org/doc/


Dynamically Scoped Functions as the Essence of AOP - Costanza (2003)   (1 citation)  (Correct)

No context found.

M. Flatt. PLT MzScheme: Language Manual, 2002. http://download.plt-scheme.org/doc/


Foundations of a Module Concept for Distributed Object Systems - Filipe (2000)   (1 citation)  (Correct)

No context found.

M. Flatt. PLT MzScheme: Language Manual. Technical Report TR 97-280, Rice University, 1997.


The Feature Signatures of Evolving Programs - Licata, Harris, Krishnamurthi (2003)   (1 citation)  (Correct)

No context found.

M. Flatt. PLT MzScheme: Language manual. Technical Report TR97-280, Rice University, 1997.


Automatically Restructuring Programs for the Web - Jacob Matthews Jacobm (2003)   (Correct)

No context found.

Flatt, M.: 1997, `PLT MzScheme: Language Manual'. Technical Report TR97-280, Rice University. http://www.plt-scheme.org/software/mzscheme/.

First 50 documents

Online articles have much greater impact   More about CiteSeer.IST   Add search form to your site   Submit documents   Feedback  

CiteSeer.IST - Copyright Penn State and NEC