Source author record

William Harrison

William Harrison appears in the imported research catalog. Authorship, coauthor and topic links are available while profile ownership is still unclaimed.

ResearcherUnclaimed source record

Catalog footprint

What is connected

2works
1topics
2close collaborators

Actions

Connect this record

Log in to claim

Research graph

See the researcher in context

Open full explorer

Inspect adjacent papers, topics, institutions and collaborators without losing the researcher page.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Published work

2 published item(s)

preprint2011arXiv

Language Support for Declarative Future Commitments

Sequential programming and work-flow programming are two useful, but radically different, ways of describing computational processing. Of the two, it is sequential programming that we teach all programmers and support by programming languages, whether in procedural, objectoriented, or functional paradigms. We teach workflow as a secondary style of problem decomposition for use in special situations, like distributed or networked processing. Both styles offer complementary advantages, but the fact that they employ radically different models for ownership of continuations interferes with our ability to integrate them in a way that allows them to be taught and used in a single programming language. This paper describes a programming language construct, declarative future commitments, that permit better integration of the two.

preprint2011arXiv

Some Measurements of Nullable and Non-Nullable Parameter Declarations in Relation to Software Malleability

The usual advantages put forward for including nullability declarations in the type systems of programming languages are that they improve program reliability or performance. But there is another, entirely different, reason for doing so. In the right context, this information enables the software artifacts we produce, the objects and methods, to exhibit much greater malleability. For declaratively typed languages, we can obtain greater software malleability by extending the model of method call so that assurance of a method's availability can be provided by any non-nullable parameter, not simply the target parameter, and by allowing the method's implementation to reside in classes or objects other than the target.. This paper examines the question of whether this hypothetical improvement in software malleability is consistent with existing programming practice by examining the question of the extent to which methods in existing software have multiplicities of non-nullable parameters. The circumstance occurs frequently enough to provide an important reason to introduce declarations of nullability into programming languages.