Add initial draft of main page

This commit is contained in:
Lassi Kortela 2022-08-03 23:15:15 +03:00
parent ee87e724af
commit d360cefe9b
2 changed files with 60 additions and 0 deletions

.gitignore vendored Normal file
View File

@ -0,0 +1 @@

59 Normal file
View File

@ -0,0 +1,59 @@
# PreScheme
## Overview
PreScheme (also spelled Pre-Scheme) is a statically typed dialect of
Scheme that gives the programmer the efficiency and low-level machine
access of C while retaining many of the desirable features of Scheme.
The PreScheme compiler makes use of type inference, partial evaluation
and Scheme and Lisp compiler technology to compile the problematic
features of Scheme, such as closures, into C code without significant
run-time overhead. Use of such features in PreScheme programs is
restricted to those cases that can be compiled into efficient code.
Type reconstruction is done using a modified Hindley/Milner algorithm
that allows overloaded user-defined functions.
All top-level forms in PreScheme programs are evaluated at compile
time, which gives the user additional control over the compiler's
partial evaluation of a program.
PreScheme has been implemented and used to write a byte-code
interpeter and associated support code for a complete Scheme
## Manuals
* [The Nearly Complete Scheme48 PreScheme 1.3 Reference Manual](1.3/)
## Implementations
### Scheme 48
No known public release.
### SPS
SPS is a Pre-Scheme to (GNU) C compiler written in Pre-Scheme.
Written in 1999.
## Research papers
From the MITRE Corporation:
* A Verified Compiler for Pure PreScheme (1991)
* The VLISP PreScheme Front End (1992)
* A Verified Run-Time Structure for Pure PreScheme (1992)
* The Revised VLISP PreScheme Front End (1993)
* The VLISP Verified PreScheme Compiler (1995)
* A Verified Compiler for Multithreaded PreScheme (1996)
From Kelsey:
* Pre-Scheme: A Scheme Dialect for Systems Programming (1997)