38 citations found. Retrieving documents...
J.F. Bartlett. Scheme-?C a Portable Scheme-to-C Compiler. Research Report 89 1, DEC Western Research Laboratory, Palo Alto, California, January 1989.

 Home/Search   Document Not in Database   Summary   Related Articles   Check  

This paper is cited in the following contexts:

First 50 documents

Using Program Structure to Guide Optimization in the Presence of.. - Tarditi (1994)   (Correct)

....its closure might be allocated on the stack instead of in registers. This avoids saving and restoring register values across the function calls. Orbit also demonstrated that a continuation passing style language was a practical intermediate language for compilers. Bartlett s Scheme C compiler [7] compiles Scheme to C. It produces readable C code which is suitable for optimization by a C compiler. Thus, it gets all the traditional loop optimizations done by C compilers for free. In some sense, this is a compilation strategy for functional languages organized around program structure: ....

Joel F. Bartlett. SCHEME!C: A Portable Scheme-to-C Compiler. Technical Report 89/1, DEC Western Research Laboratory, 100 Hamilton Avenue, Palo Alto, CA 94301 USA, January 1989.


An optimizing ML to C compiler - Cridlig (1992)   (10 citations)  (Correct)

....precious help, Emmanuel Chailloux for some valuable discussions, and Bruno Monsuez and Alan Mycroft respectively for their remarks about the first and second draft of this paper. Previous work on the compilation of Lisp to C include the Kyoto Common Lisp [YH88] and Bartlett s SCHEME C compiler [Bar89]. A previous attempt to compile ML to C is reported in [TAL90] but SML2C yields lower level C programs, for example it does use an apply like procedure for function calls instead of the standard C calling mechanism. ....

J. F. Bartlett. SCHEME!C: a portable Scheme-to-C compiler. Technical report, Digital Equipment Corporation, January 1989.


Compiling a Functional Language to Efficient SACLIB C - Schreiner (1993)   (Correct)

....Other Work In this section, we relate our work to the results of other groups. There are a few compilers for Lisp and functional languages that generate C code: The Alfa language [GH87, Gol88] is compiled into C code for hypercube systems but the absolute performance of programs is rather low. Bar89] introduces SCHEME C, a portable Scheme compiler; the generated code performs well compared to VAX Common Lisp. TAL90] describes a compiler for Standard ML that uses C as a compilation target. The Glasgow Haskell compiler [PJHH 93] is based on the Spineless Tagless G Machine [Pey91] that ....

Joel F. Bartlett. Scheme-?C --- A Portable Scheme-to-C Compiler. Technical report, Western Research Laboratory, Digital Equipment Corporation, Palo Alto, California, 1989.


C-: A Portable Assembly Language - Jones, Nordin, Oliva   (Correct)

....involved in writing a good code generator. One approach is to use C as a portable assembler, relying on a collection of tricks and non standard extensions to persuade C to generate the sort of code they want. This approach has become quite common among compilers for functional and logic languages [8, 19, 11, 21, 3], including our own compiler for Haskell, the Glasgow Haskell Compiler. In the light of our experience we have become more and more dissatisfied with using C as a compiler target language. That is not a criticism of C it was not designed for that purpose. For example, a particular ....

....is not a portable assembler; it is a compact representation for Java. 3 Why C is not suitable as a portable assembler An obvious question is this: why not (continue to) use C as a portable assembler Quite a few papers have appeared in the last few years describing ways of achieving this effect [8, 19, 11, 21, 3], but all are unsatisfactory in one way or another. More precisely, we can identify the following difficulties: Some source languages require the so called tail call optimisation. This means that a procedure call whose result is returned to the caller of the current procedure is executed in ....

JF Bartlett. SCHEME to C: a portable Scheme-to-C compiler. Technical Report RR 89/1, DEC WRL, 1989.


Bigloo User's Manual - Serrano (1994)   (7 citations)  (Correct)

....This is the continuation of Nitsan S eniak s work on the compilation of functional languages [S en91] Christian Queinnec s modules for Scheme [QP91] and Jean Marie Geffroy s pattern matching compiler [QG92] I would like to address special thanks to Joel F. Bartlett for his Scheme to C compiler [Bar89]. The first version of Bigloo was compiled with it and looking at the Schemeto C s code was of great help. Many library functions are almost copied from it. I also thank Hans J. Boehm for his Garbage Collector [Boe91] the current runtime uses it. This release of Bigloo might still contain bugs. ....

Joel F. Bartlett. Scheme-?c a portable scheme-to-c compiler. Research Report 89 1, DEC Western Research Laboratory, Palo Alto, California, January 1989.


A Parallel Object-Oriented System for Realizing Reusable and.. - Lim (1993)   (7 citations)  (Correct)

....but does not support the newer Sather 1.0 language features. 1 It also implements an alias construct which is not in Sather 0.1. 98 The compiler uses C as the intermediate language. This is similar to the strategy adopted by compilers by several other languages such as Standard ML [213] Scheme [26] and POOL2 [9] The advantages of using C are obvious. Because of C s widespread availability, it is relatively easy to port the compiler. We can also take advantage of low level optimizations (e.g. register allocation) performed by the C compiler. One disadvantage is that many parallel constructs ....

Joel F. Bartlett. SCHEME ! C a Portable Scheme-to-C Compiler. Technical Report 89/1, Digital Western Research Laboratory, 100 Hamilton Avenue, Palo Alto, CA 94301, January 1989.


Literate programming from Scheme to TEX - Queinnec (2000)   (2 citations)  (Correct)

....textually (duly surrounded with T E X macros) in lieu of the initial directive. Recently, I decided to rewrite this tool in portable Scheme, it is called now LiSP2T E X for Literate Scheme Programming to T E X 3 . LiSP2T E X is a small (roughly 800K) stand alone program, written in Scheme C [Bar89] that includes a complete Scheme reader and a customizable pretty printer. I have been using it since 1991 for all my papers containing denotations or Scheme excerpts. LiSP2T E X belongs to the family of systems coined as Literate Programming . Several programs already existed for Scheme and L ....

Joel F. Bartlett. Scheme->c a portable scheme-to-c compiler. Research Report 89 1, DEC Western Research Laboratory, Palo Alto, California, January 1989.


Compiling Standard ML to Java - Gammage (1997)   (Correct)

....approach sacrifices some performance for reduced development time and enhanced portability, especially if a widely used language (like C or C ) is used as the target. Several major projects have adopted this approach, including compilers for FORTRAN [15] Pascal [17] Standard ML [45] Scheme [10], and Haskell [23] all of which use C as the target language. Compilation to the JVM does not fall neatly into either category, however, since the JVM, although nominally a machine code, is relatively high level. In particular, it includes some constructs not normally found in assembly code ....

Joel F. Bartlett. Scheme ! C a portable Scheme-to-C compiler. Technical Report WRL Research Report 89/1, Digital Western Research Laboratory, January 1989.


A Methodology for Formal Hardware Verification, with Application.. - Beatty (1993)   (11 citations)  (Correct)

....in the specification language can be evaluated under the current restriction, to explore the specification. Much of the implementation of the verifier is coded in Scheme. So as to retain easy access to the facilities of the Cosmos simulation system, the Scheme system used is the Scheme C system [12], an implementation that adheres to the Scheme programming language whenever possible, but compiles into C code which is then processed by the operating system s native compiler. This requires a few deviations from the Scheme standard with respect to tail recursion, but the language is otherwise ....

Joel F. Bartlett. Scheme-?C: a portable Scheme-to-C compiler. Research Report number 89/1. Digital Equipment Corporation Western Research Laboratory, Palo Alto, CA, January 1989.


A General Framework For Compiling Fine-Grain Threads In Concurrent .. - Oyama (1996)   (Correct)

....workstation and gcc 3 . Then we will explain the second problem. The generated C code has no return 4 and repeats tail calls, returning no meaningful value. Our implementation, however, has lost the property of tailrecursion in the same way as some other methods that compile into C have failed[5]. Unfortunately, C compilers are not required to be properly tail recursive, and only the GNU C compiler attempts to achieve tail recursion in their implementations. But, as mentioned above, we succeeded in keeping proper tail recursion when they are immediately tail recursion(that is, they call ....

Bartlett, J. F., Scheme!C: A Portable Scheme-to-C Compiler, Technical Report, DEC Western Research Laboratory, Jan. 1989.


Pre-Scheme: A Scheme Dialect for Systems Programming - Kelsey (1997)   (6 citations)  (Correct)

....in C (the two have very different implementation strategies and the actual relative speeds varies widely depending on the code being run) As discussed in section 6, Scheme 48 s perforance decreases drastically when its VM is compiled using the Orbit compiler. Like the Pre Scheme compiler, [3] and [17] translate high level languages (Scheme and ML) into C. Scheme C translates calls to global Scheme procedures into calls to C procedures (as does the Pre Scheme compiler for most calls) and thus has global tail recursion only if it is implemented by the C implementation. CMU ML C uses ....

J. Bartlett. Scheme!c: A portable scheme-to-c compiler. Technical report, DEC Western Research Laboratory, 1989.


DML - A Meta-language and System for the Generation of.. - Pettersson, Fritzson (1992)   (5 citations)  (Correct)

....check its static semantics, rewrite higher level features into simpler ones (e.g. syntactic expressions, pattern matching constructs) and finally transform the simplified internal form to Scheme. The resulting Scheme code is then compiled to C using Joel Bartlett s optimizing Scheme C compiler [5]. 5.1 DML syntax extensions The definition by syntax facility is problematical. The difficulty is that to properly parse a sentence between semantic brackets [ the parser must have access to type information for the whole sentence itself and all its sub expressions (or patterns) ....

Joel Bartlett. Scheme to C, a portable Scheme-to-C compiler. Technical Report 89/1, DEC Western Research Lab, 1989.


Compiling Higher-Order Languages into Fully.. - Feeley, Miller.. (1997)   (8 citations)  (Correct)

.... capable of converting a source language with higher order procedures and requiring a tail recursive implementation into another language lacking both of these features since at least 1976[15, 16] Because of its ubiquity, the language C has become a popular target language for these compilers[13, 20, 1, 14, 19]. But there are difficulties that arise from the choice of C as a target language: 1. Fully tail recursive languages (e.g. Scheme, ML, and Dylan[3] consider procedure call to be goto statements that happen to pass arguments, 16] while C implementations are free to treat procedure call and goto ....

....file in the MIT Scheme runtime system using this technique required over 120 megabytes of swap space and took about five hours using a (roughly) 40 SPECint92 HPPA processor. 3 Related Work There has been a good deal of work in compiling higher order languages to C, starting with Bartlett s work[1] on a compiler from Scheme to C in 1989 and including the more recent work on compiling Haskell[13] SML[20] and the Bigloo[14] and Hobbit[19] implementations of Scheme. This work can generally be divided into two groups, based on the goals set for the work: Bartlett s compiler, Bigloo, and ....

Joel Bartlett. Scheme-?C a portable Scheme-to-C compiler. Technical report, Digital Equipment Corp. Western Research Lab., 1989.


Literate programming from Scheme to TEX - Queinnec (1998)   (2 citations)  (Correct)

....textually (duly surrounded with T E X macros) in lieu of the initial directive. Recently, I decided to rewrite this tool in portable Scheme, it is called now LiSP2T E X for Literate Scheme Programming to T E X 3 . LiSP2T E X is a small (roughly 800K) stand alone program, written in Scheme C [Bar89] that includes a complete Scheme reader and a customizable pretty printer. I have been using it since 1991 for all my papers containing denotations or Scheme excerpts. LiSP2T E X belongs to the family of systems coined as Literate Programming . Several programs already existed for Scheme and L ....

Joel F. Bartlett. Scheme-?c a portable scheme-to-c compiler. Research Report 89 1, DEC Western Research Laboratory, Palo Alto, California, January 1989.


Separating Structure from Function in the Specification and.. - Goldman (1992)   (Correct)

....in C (using yacc [23] and produces a Scheme [46] file that is provided as input to the new Spectrum simulator, written in Scheme. In order to make some of the simulator s utility functions available to the Spectrum compiler, we have translated those utilities into C with a Scheme to C compiler [7]. Currently, configurations are specified directly in Scheme, but work on graphical configuration and visualization capabilities is underway. Following sufficient experimentation with this second prototype and completion of the graphical configuration and visualization tools, we plan to make a ....

Joel F. Bartlett. Scheme--?C, a portable Scheme-to-C compiler. Technical Report WRL Research Report 89/1, Digital Western Research Laboratory, January 1989.


VLISP: A Verified Implementation of Scheme - Guttman, Ramsdell (1995)   (17 citations)  (Correct)

....the input file, the byte code image, and the virtual machine executable, respectively. Two initial executable versions vvm and cvm for the vm were constructed. vvm We compiled the vlisp vm using the vlisp Front End and the Pure PreScheme compiler. These in turn had been compiled using Scheme C [1]. cvm This vm was constructed by directly implementing the vm algorithms in C. Two versions of the initial image old vscm.image of the Scheme to Byte Code compiler were also constructed. ffl The Scheme to Byte Code compiler source was compiled using Scheme C, and this executable was used to ....

Joel F. Bartlett. Scheme--?C: A portable Scheme-to-C compiler. WRL 89/1, Digital Equipment Corporation Western Research Laboratory, January 1989.


Designing Meroon V3 - Queinnec (1993)   (6 citations)  (Correct)

....associate reader function. Class Field is further specialized into Mono Field and Poly Field classes which are themselves specialized into Mutable Mono Field and Mutable Poly Field. Meroon runs under various classical i.e. toplevel based, implementations of Scheme but also under Scheme C [Bar89] which offers a separate compilation facility. For that goal, a keyword named :prototype was allowed in a define class form so that, at macroexpansion time, a class can be subclassed but not created again at load time. More on this later. This release of Meroon was successfully distributed ....

Joel F Bartlett. Scheme--?C, a portable Scheme-to-C compiler. Research Report 1, Digital Western Research Laboratory, Palo Alto, Cal., January 1989.


The Impact of Software Structure and Policy on CPU and Memory.. - Chen (1994)   (5 citations)  (Correct)

....some concluding notes. 7.1.1. Workloads and Methodology We used a variety of workloads in simulating the various TLB configurations, including several SPECmarks, plus other workloads meant to anticipate more demanding workloads. Tree is a recursive, data intensive benchmark written in C Scheme [11]. Magic [62] is a VLSI layout tool. In this run it was extracting the MultiTitan CPU chip [44] We also used a multi tasking workload, running the following programs: gcc . magic extracting the MultiTitan CPU chip . ld loading magic . tree with a 10 megabyte heap . a loop running the shell ....

Joel F. Bartlett. SCHEME->C: A Portable Scheme-to-C Compiler. WRL Research Report 89/1, Digital Equipment Corporation Western Research Laboratory, 1989.


Performance Implications of Multiple Pointer Sizes - Mogul, Bartlett, Mayo.. (1989)   (5 citations)  Self-citation (Bartlett)   (Correct)

.... OF MULTIPLE POINTER SIZES 1 #include stdio.h 2 3 #pragma pointer size (short) 4 5 struct QueueElement 6 struct QueueElement forward; 7 struct QueueElement backward; 8 ; 9 10 main(argc, argv) 11 int argc; 12 char argv; 13 14 long N = atoi(argv[1] 15 long M = atoi(argv[2]) 16 long P = 1000; 17 int rval; 18 int i, j; 19 struct QueueElement qp; 20 struct QueueElement qpstore; 21 22 if (argc 3) 23 P = atoi(argv[3] 24 qpstore = 25 (struct QueueElement )malloc(sizeof( qp) N) 26 if (qpstore = NULL) 27 perror( malloc ) 28 exit(1) 29 30 ....

....time) It also may improve the performance of code that manipulates complex structures, since it obviates the need to maintain reference counts or to call explicit deallocation routines. Here we examine the performance of garbage collection in an implementation of the Scheme programming language [2, 20]. Garbage collection complicates the performance picture. For a full discussion of the cacherelated effects of garbage collection, see Reinhold [22] This implementation uses a mostlycopying algorithm [3] which requires that a pool of free space be kept available. The total size of the ....

[Article contains additional citation context not shown here]

Joel F. Bartlett. SCHEME->C: a Portable Scheme-to-C Compiler. WRL Research Report 89/1, Digital Equipment Corp. Western Research Lab., January, 1989.


A Generational, Compacting Garbage Collector for C++ - Bartlett   Self-citation (Bartlett)   (Correct)

No context found.

Joel F. Bartlett. Scheme->C a Portable Scheme-to-C Compiler. Technical Report WRL Research Report 89/1, Digital Equipment Corporation WesternResearch64-62849 January, 1989.


Mostly-Copying Garbage Collection Picks Up Generations and C++ - Bartlett (1989)   (26 citations)  Self-citation (Bartlett)   (Correct)

....garbage collection in environments hostile to classical copying collection algorithms. Unlike classical copying collectors, it is able to tolerate ambiguous pointers in its root set. This has allowed it to be used to manage storage in a portable Scheme system, Scheme C, that compiles Scheme to C [3]. In such an environment, the runtime system has no control over or knowledge of how the stack and registers are used. As originally defined, the mostly copying collector s behavior is similar to that of the classical stop and copy collector. Both have a running time that is O(accessible ....

Joel F. Bartlett. Scheme->C a Portable Scheme-to-C Compiler. Technical Report WRL Research Report 89/1, Digital Equipment Corporation Western Research Laboratory, January, 1989.


Bigloo: A Portable and Optimizing Compiler for Strict.. - Serrano, Weis (1995)   (20 citations)  (Correct)

No context found.

J.F. Bartlett. Scheme-?C a Portable Scheme-to-C Compiler. Research Report 89 1, DEC Western Research Laboratory, Palo Alto, California, January 1989.


Compiling Standard ML to Java - An   (Correct)

No context found.

Joel F. Bartlett. Scheme ! C a portable Scheme-to-C compiler. Technical Report WRL Research Report 89/1, Digital Western Research Laboratory, January 1989.


VLISP: A Verified Implementation of Scheme - Guttman, Swarup, Ramsdell (1993)   (17 citations)  (Correct)

No context found.

J. F. Bartlett. Scheme{>C: A portable Scheme-to-C compiler. WRL 89/1, Digital Equipment Corporation Western Research Laboratory, January 1989.


A Guide to VLISP, A Verified Programming Language.. - Guttman, Monk.. (1992)   (Correct)

No context found.

Joel F. Bartlett. SCHEME->C a portable scheme-to-c compiler. WRL Technical Report 89/1, Digital Equipment Corporation, January 1989.

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