Home » Programming » Scheme

Porting Scheme Programs

Porting Scheme Programs thumbnail Content Inside: Porting Scheme Programs Dorai Sitaram Verizon 40 Sylvan Road Waltham, MA 02451 Abstract The Scheme standard and the Scheme reports dene not one but an entire family of programming languages. Programmers can still create useful programs in small dialect-specic extensions of the standardized Scheme language but porting such programs from one dialect to another requires tedious work. This paper presents scmxlate, a lightweight software tool that automates a large portion of this work. 1. ON THE PORTABILITY OF SCHEME The existence of the IEEE Scheme Standard 6 appears to suggest that Scheme programmers can write a program once and run it everywhere. Unfortunately, appearances are deceiving. The Scheme standard and the Scheme reports 16, 15, 1, 2, 8 do not dene a useful programming language for all platforms. Instead theylike the Algol 60 9 report dene a family of programming languages that individual implementors can instantiate to a concrete programming language for a specic platform. As a result, Olin Shivers can publicly state that Scheme is the least portable language I know without expecting any contradictions from the authors of the standard or report documents. Even though the Scheme standard and reports dene a minimal language, it is still possible to write useful programs in small extensions of the standard language. 1 To understand the expressive power of standard Scheme plus a small library, take a look at SLaTEX 10 , a package for rendering Scheme code in an Algol-like presentation style via TEX (approximately 2,600 lines of code), and TEX2page 11 , a package for rendering TeX documents as HTML (approximately 9,200 lines of code). To create a stand-alone application from a Scheme program in some dierent dialect of Scheme, programmers must often conduct a systematic three-stage transformation. First, 1 We use Standard Scheme for both the IEEE language and the language dened in the reports. Permission to make digital or hard copies, to republish, to ...
Source: repository.readscheme.org

 


Share it with your favorite bookmark service:

add to Google Reader add to Google Bookmark add to Yahoo MyWeb add to digg Bookmark del.icio.us Bookmark StumbleUpon Bookmark technorati add to bloglines add to newsgator add to Netscape Bookmark blinklist add to FURL add to webnews add to spurl.net add to diigo Bookmark Slashdot

Search Terms: