2013 · 16 citations · 12 references
ComputingComputer ScienceFormal MethodsProgramming LanguagesSoftware EngineeringAnnotationData-flow AnalysisFunctional ProgrammingProgramming Language DesignType CheckingType SystemsAbstract SemanticsEffect SystemsFunctional Language DesignPolymorphism StudiesSoundnessSoundness TheoremsStatic Semantics
This article presents a modular, flow-insensitive type-and-effect system for purity with lightweight annotations. It does not enforce a global programming discipline and allows arbitrary effects to occur in impure parts of the program. The system is designed to support higher-order languages that mix functional and imperative code like Scala or C#. We show that it can express purity of non-local programming patterns which involve mutable state such as those used in the Scala collections library. We formalize the type system using a functional language with mutable records and define type and effect soundness.
12
Ownership types for flexible alias protection
David G. Clarke, John Potter, James Noble · 1998 · 578 citations · Full text
The essence of compiling with continuations
Cormac Flanagan, Amr Sabry, Bruce F. Duba et al. · 1993 · 533 citations
A type and effect system for deterministic parallel Java
Robert L. Bocchino, Vikram Adve, Danny Dig et al. · ACM SIGPLAN Notices · 2009 · 296 citations
A type and effect system for deterministic parallel Java
Robert L. Bocchino, Vikram Adve, Danny Dig et al. · 2009 · 261 citations
John Launchbury, Simon Jones · 1994 · 207 citations · Full text