2018
DOI: 10.1145/3276484
|View full text |Cite
|
Sign up to set email alerts
|

Scopes as types

Abstract: Scope graphs are a promising generic framework to model the binding structures of programming languages, bridging formalization and implementation, supporting the definition of type checkers and the automation of type safety proofs. However, previous work on scope graphs has been limited to simple, nominal type systems. In this paper, we show that viewing scopes as types enables us to model the internal structure of types in a range of non-simple type systems (including structural records and generic classes) … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
32
0

Year Published

2019
2019
2024
2024

Publication Types

Select...
3
2
2

Relationship

3
4

Authors

Journals

citations
Cited by 34 publications
(32 citation statements)
references
References 41 publications
0
32
0
Order By: Relevance
“…The syntax and static semantics of CBS have been formally defined in [14] using the declarative metalanguages SDF3 and NaBL2. The NaBL2 definition of CBS type checking needs to be reformulated in the new Statix meta-language [3], to specify rigorous subtype checks, after which the IDE generated from the definition of CBS is to be released as an Eclipse plugin.…”
Section: Resultsmentioning
confidence: 99%
See 1 more Smart Citation
“…The syntax and static semantics of CBS have been formally defined in [14] using the declarative metalanguages SDF3 and NaBL2. The NaBL2 definition of CBS type checking needs to be reformulated in the new Statix meta-language [3], to specify rigorous subtype checks, after which the IDE generated from the definition of CBS is to be released as an Eclipse plugin.…”
Section: Resultsmentioning
confidence: 99%
“…The rules also check whether the syntax patterns used in specifications of translation functions match the specified grammar alternatives. NaBL2 is to be superseded by a more powerful meta-language, Statix [3], which should support full CBS type checking.…”
Section: Definition Of the Cbs Meta-languagementioning
confidence: 99%
“…Separately, Lin has also devised a (relational) algebraic procedure for binding resolution in various (imperative) languages, based on fact extraction [26]. Related to this is the recent work on scope graphs for name resolution [32] and static type checking [7]. This is a generic framework for specifying (and checking) static semantics of languages (including binding resolution), but it does not contain anything that supports or directly corresponds to our notion of value extension.…”
Section: Related Workmentioning
confidence: 99%
“…As the basis for our investigations we use Statix, a constraint language developed for the specification of type systems [21]. Statix is built around scope graphs, a language-independent model for name binding and name resolution [20].…”
Section: Towards Language-parametric Semantic Editor Services Based Omentioning
confidence: 99%
“…Statix is a recently introduced meta-language for the specification of static semantics [21], based on scope graphs and constraints [10,20]. We chose Statix because it allows us to declare semantic editor services in terms of constraints and type system specifications.…”
Section: Introduction To Statixmentioning
confidence: 99%