1997
DOI: 10.1145/239912.239917
|View full text |Cite
|
Sign up to set email alerts
|

A practical soft type system for scheme

Abstract: A soft type system infers types for the procedures and data structures of dynamically typed programs. Like conventional static types, soft types express program invariants and thereby provide valuable information for program optimization and debugging. A soft type checker uses the types inferred by a soft type system to eliminate run-time checks that are provably unnecessary; any remaining run-time checks are flagged as potential program errors. Soft Scheme is a practical soft type checker for R4RS Scheme. Its… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
51
0

Year Published

2001
2001
2019
2019

Publication Types

Select...
7
1

Relationship

0
8

Authors

Journals

citations
Cited by 84 publications
(52 citation statements)
references
References 57 publications
1
51
0
Order By: Relevance
“…In the second case, the argument may be impure so the function must have non-dependent type. When type checking an if statement, the primary argument of the if must be a pure boolean term and this argument (or its negation) is added to the context when checking each branch 4 . The type system has a selfification rule (TSelf), which is inspired by dependent type systems developed to reason about modules [7].…”
Section: Formal Language Semanticsmentioning
confidence: 99%
See 1 more Smart Citation
“…In the second case, the argument may be impure so the function must have non-dependent type. When type checking an if statement, the primary argument of the if must be a pure boolean term and this argument (or its negation) is added to the context when checking each branch 4 . The type system has a selfification rule (TSelf), which is inspired by dependent type systems developed to reason about modules [7].…”
Section: Formal Language Semanticsmentioning
confidence: 99%
“…In the past, many researchers have examined techniques for including uni-typed code (code with one type such as Scheme code) within the context of a simply-typed language by means of soft typing ( [3,2,4]). Soft typing infers simple or polymorphic types for programs but not general dependent types.…”
Section: Theorem 1 (Type Safety) If • E : τ Then E Won't Get Stuck mentioning
confidence: 99%
“…However, the original work [7] did not handle assignments, so there is no notion of preemption. Soft typing was extended to support Scheme [22] and to handle assignments, but all occurrences of the assigned variable have to have the same type, which makes it impossible to successfully typecheck even the simple example from Fig. 1.…”
Section: Related Workmentioning
confidence: 99%
“…It is no accident that the LISP languages, which best exemplify meta-programming, are not statically typed. The soft type system of Wright and Cartwright for Scheme covers the features of Scheme version R4RS, which does not include the meta-programming feature eval [52]. Static typing of general meta-programs appears difficult, and the existing literature mostly considers static typing for a weaker form of metaprogramming called staged computation, used also for macro systems [22,3,32,10,44].…”
Section: Meta-programmingmentioning
confidence: 99%