James H. Morris

dblp:94/280 · also James H. Morris Jr. · DBLP profile ↗
← Back
10ranked-venue papers
3as first author
0since 2021 · last 1998
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Human-computer interaction and ubiquitous computing · 5Software engineering, systems software and programming languages · 3 · 2 first-authorTheory of computation · 2 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Human-computer interaction and pervasive computing
4 papers
Collaborative and social computing · 100%
Software engineering, system software, and programming languages
3 papers
Programming languages and type systems · 92% Program verification · 8%
Theoretical computer science
2 papers
Algorithms and data structures · 38% Automata and formal languages · 38% Logic in computer science · 24%

Topics — the 18 heaviest of 19, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Collaborative and social computing
computer-supported cooperative work
0.021998
Envisioning Communication: Task-Tailorable Representations of Communication in Asynchronous Work · CSCW 1998
Computer Support for Distributed Collaborative Writing: Defining Parameters of Interaction · CSCW 1994
Collaborative and social computing › collaborative editing
collaborative writing
0.021992
Flexible Diff-ing in a Collaborative Writing System · CSCW 1992
Issues in the Design of Computer Support for Co-Authoring and Commenting · CSCW 1990
Collaborative and social computing › social media › social media interaction
online commenting
0.011990
Issues in the Design of Computer Support for Co-Authoring and Commenting · CSCW 1990
Collaborative and social computing › computer-supported cooperative work
task management
0.011994
Computer Support for Distributed Collaborative Writing: Defining Parameters of Interaction · CSCW 1994
Programming languages and type systems
lazy evaluation
0.021980
Experience with an Applicative String Processing Language · POPL 1980
A Lazy Evaluator · POPL 1976
Programming languages and type systems › functional programming
applicative programming
0.011980
Experience with an Applicative String Processing Language · POPL 1980
Programming languages and type systems
functional programming
0.011980
Experience with an Applicative String Processing Language · POPL 1980
Programming languages and type systems › control structures
pattern matching
0.011980
Experience with an Applicative String Processing Language · POPL 1980
Automata and formal languages › language recognition
formal language recognition
0.011977
Fast Pattern Matching in Strings · SIAM J. Comput. 1977
Algorithms and data structures › sequence algorithms › string algorithms
string matching
0.011977
Fast Pattern Matching in Strings · SIAM J. Comput. 1977
Programming languages and type systems
language semantics
0.011976
A Lazy Evaluator · POPL 1976
Program verification › program logic
partial correctness proof
0.011976
A Lazy Evaluator · POPL 1976
Programming languages and type systems
type checking
0.011973
Types are Not Sets · POPL 1973
Programming languages and type systems
type theory
0.011973
Types are Not Sets · POPL 1973
Logic in computer science › rewriting
recursion schemes
0.011972
Recursion Schemes with Lists · STOC 1972
Programming languages and type systems
evaluation strategies
0.011980
Experience with an Applicative String Processing Language · POPL 1980
Programming languages and type systems
abstract data types
0.011973
Types are Not Sets · POPL 1973
Logic in computer science
semantics
0.011972
Recursion Schemes with Lists · STOC 1972

Methods — techniques the papers use, named apart from their topics

post-fix notation · 0.0iterative operators · 0.0type checking · 0.0scheme translation · 0.0algorithm design · 0.0abstract object representation · 0.0
YearPublicationVenuePosition
1998 Envisioning Communication: Task-Tailorable Representations of Communication in Asynchronous Work
Christine Neuwirth, James H. Morris, Susan Harkness Regli, Ravinder Chandhok, Geoffrey C. Wenger
CSCW2
1994 Computer Support for Distributed Collaborative Writing: Defining Parameters of Interaction
abstract
This paper reports research to define a set of interaction parameters that collaborative writers will find useful. Our approach is to provide parameters of interaction and to locate the decision of how to set the parameters with the users. What is new in this paper is the progress we have made outlining task management parameters, notification, scenarios of use, as well as some implementation architectures.
Christine Neuwirth, David Kaufer, Ravinder Chandhok, James H. Morris
CSCW4
1994 Accommodating Mixed Sensory/Modal Preferences in Collaborative Writing Systems
David Kaufer, Christine Neuwirth, Ravinder Chandhok, James H. Morris
Comput. Support. Cooperative Work.4
1992 Flexible Diff-ing in a Collaborative Writing System
abstract
An important activity in collaborative writing is communicating about changes to texts,, This paper reports on a software system, ji'exible cliff, that finds and reports differences ("cliffs") between versions of texts.The system is flexible, allowing users to control several aspects of its operation including what changes are reported and how they are shown when they are reported.We argue that such flexibility is necessary to support users' different social and cognitive needs.
Christine Neuwirth, Ravinder Chandhok, David Kaufer, Paul Erion, James H. Morris, Dale Miller 0001
CSCW5
1990 Issues in the Design of Computer Support for Co-Authoring and Commenting
abstract
This paper reports on a project to develop a “work in preparation” editor, or PREP editor, to study co-authoring and commenting relationships. As part of the project, we have identified three issues in designing computer support for co-authoring and commenting: (1) support for social interaction among co-authors and commenters; (2) support for cognitive aspects of co-authoring and external commenting; and (3) support for practicality in both types of interaction. For each of these issues, the paper describes the approach the PREP editor takes to address them.
Christine Neuwirth, David Kaufer, Ravinder Chandhok, James H. Morris
CSCW4
1980 Experience with an Applicative String Processing Language
abstract
Experience using and implementing the language Poplar is described. The major conclusions are: Applicative programming can be made more natural through the use of built-in iterative operators and post-fix notation. Clever evaluation strategies, such as lazy evaluation, can make applicative programming more computationally efficient. Pattern matching can be performed in an applicative framework. Many problems remain.
James H. Morris, Philip Wadler
POPL1
1977 Fast Pattern Matching in Strings
abstract
An algorithm is presented which finds all occurrences of one given string within another, in running time proportional to the sum of the lengths of the strings. The constant of proportionality is low enough to make this algorithm of practical use, and the procedure can also be extended to deal with some more general pattern-matching problems. A theoretical application of the algorithm shows that the set of concatenations of even palindromes, i.e., the language $\{\alpha \alpha ^R\}^*$, can be recognized in linear time. Other algorithms which run even faster on the average are also considered.
Donald E. Knuth, James H. Morris, Vaughan R. Pratt
SIAM J. Comput.2
1976 A Lazy Evaluator
abstract
A different way to execute pure LISP programs is presented. It delays the evaluation of parameters and list structures without ever having to perform more evaluation steps than the usual method. Although the central idea can be found in earlier work this paper is of interest since it treats a rather well-known language and works out an algorithm which avoids full substitution. A partial correctness proof using Scott-Strachey semantics is sketched in a later section.
Peter Henderson 0001, James H. Morris
POPL2
1973 Types are Not Sets
abstract
The title is not a statement of fact, of course, but an opinion about how language designers should think about types. There has been a natural tendency to look to mathematics for a consistent, precise notion of what types are. The point of view there is extensional: a type is a subset of the universe of values. While this approach may have served its purpose quite adequately in mathematics, defining programming language types in this way ignores some vital ideas. Some interesting developments following the extensional approach are the ALGOL-68 type system [vW], Scott's theory [S], and Reynolds' system [R]. While each of these lend valuable insight to programming languages, I feel they miss an important aspect of types.Rather than worry about what types are I shall focus on the role of type checking. Type checking seems to serve two distinct purposes: authentication and secrecy. Both are useful when a programmer undertakes to implement a class of abstract objects to be used by many other programmers. He usually proceeds by choosing a representation for the objects in terms of other objects and then writes the required operations to manipulate them.
James H. Morris
POPL1
1972 Recursion Schemes with Lists
abstract
Scheme translation is used to compare the abilities of languages obtained by augmenting recursion schemes with lists, markers, and functional values. It is shown that the first two additions make orthogonal contributions to the language's power. Theorems 4 and 5 appear to be new results.
James H. Morris
STOC1