TICL—A type inference system for Common Lisp

Kwan-Liu Ma, Robert R. Kessler

Research output: Contribution to journalArticle

6 Citations (Scopus)

Abstract

Most current Common Lisp compilers generate more efficient code when supplied with data type information. However, in keeping with standard Lisp programming style, most programmers are reluctant to provide type information; they simply allow the run‐time type system to manage the data types accordingly. To fill this gap, we have designed and implemented a type inference system for Common Lisp (TICL). TICL takes a Lisp program that has been annotated with a few type declarations, adds as many declarations as possible, and produces a type declared program. The compiler can then use this information to generate more efficient code. Measurements indicate that a 20 per cent speed improvement can generally be achieved.

Original languageEnglish (US)
Pages (from-to)593-623
Number of pages31
JournalSoftware: Practice and Experience
Volume20
Issue number6
DOIs
StatePublished - Jan 1 1990
Externally publishedYes

Fingerprint

Information use

Keywords

  • Common Lisp
  • Data types
  • Fixed‐point
  • Type inference

ASJC Scopus subject areas

  • Software

Cite this

TICL—A type inference system for Common Lisp. / Ma, Kwan-Liu; Kessler, Robert R.

In: Software: Practice and Experience, Vol. 20, No. 6, 01.01.1990, p. 593-623.

Research output: Contribution to journalArticle

Ma, Kwan-Liu ; Kessler, Robert R. / TICL—A type inference system for Common Lisp. In: Software: Practice and Experience. 1990 ; Vol. 20, No. 6. pp. 593-623.
@article{780d1dd824a041df9860f7a51c3d4b65,
title = "TICL—A type inference system for Common Lisp",
abstract = "Most current Common Lisp compilers generate more efficient code when supplied with data type information. However, in keeping with standard Lisp programming style, most programmers are reluctant to provide type information; they simply allow the run‐time type system to manage the data types accordingly. To fill this gap, we have designed and implemented a type inference system for Common Lisp (TICL). TICL takes a Lisp program that has been annotated with a few type declarations, adds as many declarations as possible, and produces a type declared program. The compiler can then use this information to generate more efficient code. Measurements indicate that a 20 per cent speed improvement can generally be achieved.",
keywords = "Common Lisp, Data types, Fixed‐point, Type inference",
author = "Kwan-Liu Ma and Kessler, {Robert R.}",
year = "1990",
month = "1",
day = "1",
doi = "10.1002/spe.4380200606",
language = "English (US)",
volume = "20",
pages = "593--623",
journal = "Software - Practice and Experience",
issn = "0038-0644",
publisher = "John Wiley and Sons Ltd",
number = "6",

}

TY - JOUR

T1 - TICL—A type inference system for Common Lisp

AU - Ma, Kwan-Liu

AU - Kessler, Robert R.

PY - 1990/1/1

Y1 - 1990/1/1

N2 - Most current Common Lisp compilers generate more efficient code when supplied with data type information. However, in keeping with standard Lisp programming style, most programmers are reluctant to provide type information; they simply allow the run‐time type system to manage the data types accordingly. To fill this gap, we have designed and implemented a type inference system for Common Lisp (TICL). TICL takes a Lisp program that has been annotated with a few type declarations, adds as many declarations as possible, and produces a type declared program. The compiler can then use this information to generate more efficient code. Measurements indicate that a 20 per cent speed improvement can generally be achieved.

AB - Most current Common Lisp compilers generate more efficient code when supplied with data type information. However, in keeping with standard Lisp programming style, most programmers are reluctant to provide type information; they simply allow the run‐time type system to manage the data types accordingly. To fill this gap, we have designed and implemented a type inference system for Common Lisp (TICL). TICL takes a Lisp program that has been annotated with a few type declarations, adds as many declarations as possible, and produces a type declared program. The compiler can then use this information to generate more efficient code. Measurements indicate that a 20 per cent speed improvement can generally be achieved.

KW - Common Lisp

KW - Data types

KW - Fixed‐point

KW - Type inference

UR - http://www.scopus.com/inward/record.url?scp=0025444967&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0025444967&partnerID=8YFLogxK

U2 - 10.1002/spe.4380200606

DO - 10.1002/spe.4380200606

M3 - Article

VL - 20

SP - 593

EP - 623

JO - Software - Practice and Experience

JF - Software - Practice and Experience

SN - 0038-0644

IS - 6

ER -