1985 · 113 citations · 10 references
ComputingComputer ScienceCompilersData StructuresProgramming LanguagesData AggregationDynamic ProgrammingFunctional ProgrammingStatic Analysis
We discuss the problem of efficiently implementing aggregates (contiguous data structures) such as arrays in functional programming systems. Simple changes to an aggregate conceptually involve making a new copy of the aggregate differing only in the changed component, but such copying can be expensive. We present both static and dynamic techniques for avoiding this copying, and argue that they allow one to program functionally using aggregates, without loss of efficiency over conventional programs.1
10
Can programming be liberated from the von Neumann style?
John Backus · Communications of the ACM · 1978 · 2.6K citations · Full text
Systematic design of program analysis frameworks
Patrick Cousot, Radhia Cousot · 1979 · 1.6K citations · Full text
Robin Milner · 1984 · 255 citations · Full text
Joseph Weizenbaum · Communications of the ACM · 1963 · 196 citations · Full text