PASCAL user manual and report
Automatic program verification IV: proof of termination within a weak logic of programs.
Automatic program verification IV: proof of termination within a weak logic of programs.
LISP 1.5 Programmer's Manual
Database hosting in strongly-typed programming languages
ACM Transactions on Database Systems (TODS)
The ML approach to the readable all-purpose language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Pi: a case study in object-oriented programming
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Efficient high-level iteration with accumulators
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Effect of Data Abstraction on Loop Programming Techniques
IEEE Transactions on Software Engineering
Programming with Streams in a Pascal-Like Language
IEEE Transactions on Software Engineering
HOPL-II The second ACM SIGPLAN conference on History of programming languages
The design of the E programming language
ACM Transactions on Programming Languages and Systems (TOPLAS)
Software Reuse by Specialization of Generic Procedures through Views
IEEE Transactions on Software Engineering
Exploiting the non-determinism and asynchrony of set iterators to reduce aggregate file I/O latency
Proceedings of the sixteenth ACM symposium on Operating systems principles
A language facility for designing database-intensive applications
ACM Transactions on Database Systems (TODS)
External Representations of Objects of User-Defined Type
ACM Transactions on Programming Languages and Systems (TOPLAS)
An Alternative to the Use of Patterns in String Processing
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
ACM Transactions on Programming Languages and Systems (TOPLAS)
The Evaluation of Expressions in Icon
ACM Transactions on Programming Languages and Systems (TOPLAS)
A comparison of two network-based file servers
Communications of the ACM
Specification and verification of the UCLA Unix security kernel
Communications of the ACM
Communications of the ACM
Modeling of problem domains for driving program development systems
POPL '81 Proceedings of the 8th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Modular verification of concurrent programs
POPL '82 Proceedings of the 9th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Design and Specification of Iterators Using the Swapping Paradigm
IEEE Transactions on Software Engineering
Verifying Definite Iteration Over Data Structures
IEEE Transactions on Software Engineering
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
A data abstraction language based on microprogramming
MICRO 13 Proceedings of the 13th annual workshop on Microprogramming
Validating The Utility Of Abstraction Techniques
ACM '78 Proceedings of the 1978 annual conference
The Lattice Security Model In A Public Computing Network
ACM '78 Proceedings of the 1978 annual conference
A programmer controlled approach to data and control abstraction
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
Type hierarchies and Semantic Data Models
Proceedings of the 1983 ACM SIGPLAN symposium on Programming language issues in software systems
Origins of the APT language for automatically programmed tools
ACM SIGPLAN Notices - Special issue: History of programming languages conference
Discrete event simulation languages current status and future directions
WSC '84 Proceedings of the 16th conference on Winter simulation
Data abstraction, controlled iteration, and communicating processes
ACM '80 Proceedings of the ACM 1980 annual conference
Toward relaxing assumptions in languages and their implementations
ACM SIGPLAN Notices
The CAMIL programming language
ACM SIGPLAN Notices
Aspects of the ALGOL 68 mode structure
ACM SIGPLAN Notices
Abstracts in software engineering: part 3
ACM SIGSOFT Software Engineering Notes
History of programming languages---II
The impact of software engineering research on modern progamming languages
ACM Transactions on Software Engineering and Methodology (TOSEM)
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A technique for generic iteration and its optimization
Proceedings of the 2006 ACM SIGPLAN workshop on Generic programming
Origins of the APT language for automatically programmed tools
History of programming languages I
Programming languages and databases
VLDB '78 Proceedings of the fourth international conference on Very Large Data Bases - Volume 4
Parsimony principles for software components and metalanguages
GPCE '07 Proceedings of the 6th international conference on Generative programming and component engineering
A method for automatically analyzing programs
IJCAI'79 Proceedings of the 6th international joint conference on Artificial intelligence - Volume 2
A formal representation for plans in the programmer's apprentice
IJCAI'81 Proceedings of the 7th international joint conference on Artificial intelligence - Volume 2
IBM Journal of Research and Development
Abstract for-loops over several aggregates
Information Processing Letters
An implementation of generators in C
Computer Languages
Computer Languages
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
Hi-index | 48.27 |
The Alphard “form” provides the programmer with a great deal of control over the implementation of abstract data types. In this paper the abstraction techniques are extended from simple data representation and function definition to the iteration statement, the most important point of interaction between data and the control structure of the language itself. A means of specializing Alphard's loops to operate on abstract entities without explicit dependence on the representation of those entities is introduced. Specification and verification techniques that allow the properties of the generators for such iterations to be expressed in the form of proof rules are developed. Results are obtained that for common special cases of these loops are essentially identical to the corresponding constructs in other languages. A means of showing that a generator will terminate is also provided.