[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: iScheme

From: Jim Blandy
Subject: Re: iScheme
Date: 09 Oct 2000 10:56:05 -0500

Have you read Guy Steele's classic papers, "Lambda: The Ultimate
Imperative", and "Lambda: The Ultimate Declarative"?  One of them
suggests using Scheme as a UNCOL ("UNiversal Compiler-Oriented
Language").  They're fun reading, in either case.

They're both MIT AI Lab memos.  I don't have pointers to on-line

Keisuke Nishida <address@hidden> writes:

> Hello,
> Hmm, could I do this as an academic research?  Is there anything similar
> yet?  This might be something fun to work on ;)
> -- Kei
> Scheme as an Intermediate Language
> ==================================
> Updated: 2000-10-07
> Scheme is a simple but powerful language that allows any programming
> structures due to the standard support of first-class continuations.  On
> the other hand, many typical structures can be implemented efficiently
> without using continuations.  This paper introduces an intermediate
> language iScheme, which is built on the top of the standard Scheme,
> while allowing the compiler to produce efficient executable code.  Any
> programming language can be translated into iScheme and evaluated or
> compiled on any Scheme systems with great portability or efficiency.
> * Background
> Continuations is powerful but inefficient.  I don't want to use it.  We
> could add more primitives to Scheme, but it would break portability and
> beauty of Scheme code.  I want to produce a dirty but efficiently
> compilable intermediate language that works on any Scheme systems.
> Any high level language, including R5RS, could be translated into
> iScheme, and then compiled into an efficient code, or interpreted with
> a portable package.  iScheme is a language for compilers, not for humans.
> * Mechanism
> iScheme defines several primitives in addition to the standard Scheme
> primitives.  All iScheme primitives must be able to implemented in terms
> of the standard primitives.  Any languages are translated into iScheme
> at first, and then interpreted or compiled.  An iScheme compiler may
> compile iScheme primitives directly rather than compiling the portable
> implementation of iScheme primitives.
> * iScheme Primitives
> ** Immediate return from a function, local exit from a loop, etc.
> ** Dynamic scope support
> ** Multithreding support
> ** Additional data types, such as keywords, fluids, etc.
> ** Add anything you want.
> _______________________________________________
> Guile-devel mailing list
> address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]