Results 1 
6 of
6
Compiling Standard ML For Efficient Execution On Modern Machines
, 1994
"... Many language theoreticians have taken great efforts in designing higherlevel programming languages that are more elegant and more expressive than conventional languages. However, few of these new languages have been implemented very efficiently. The result is that most software engineers still pre ..."
Abstract

Cited by 18 (3 self)
 Add to MetaCart
Many language theoreticians have taken great efforts in designing higherlevel programming languages that are more elegant and more expressive than conventional languages. However, few of these new languages have been implemented very efficiently. The result is that most software engineers still prefer to use conventional languages, even though the new higherlevel languages offer a better and simpler programming model. This dissertation concentrates on improving the performance of programs written in Standard ML (SML)a statically typed functional languageon today's RISC machines. SML poses tough challenges to efficient implementations: very frequent function calls, polymorphic types, recursive data structures, higherorder functions, and firstclass continuations. This dissertation presents the design and evaluation of several new compilation techniques that meet these challenges by taking advantage of some of the higherlevel language features in SML. Typedirected compilation ...
What is a Universal HigherOrder Programming Language?
 In Proc. International Conference on Automata, Languages, and Programming. Lecture Notes in Computer Science
, 1993
"... . In this paper, we develop a theory of higherorder computability suitable for comparing the expressiveness of sequential, deterministic programming languages. The theory is based on the construction of a new universal domain T and corresponding universal language KL. The domain T is universal for ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
. In this paper, we develop a theory of higherorder computability suitable for comparing the expressiveness of sequential, deterministic programming languages. The theory is based on the construction of a new universal domain T and corresponding universal language KL. The domain T is universal for observably sequential domains; KL can define all the computable elements of T, including the elements corresponding to computable observably sequential functions. In addition, domain embeddings in T preserve the maximality of finite elementspreserving the termination behavior of programs over the embedded domains. 1 Background and Motivation Classic recursion theory [7, 13, 18] asserts that all conventional programming languages are equally expressive because they can define all partial recursive functions over the natural numbers. This statement, however, is misleading because real programming languages support and enforce a more abstract view of data than bitstrings. In particular, mo...
Programming is Writing: Why Student Programs Need to be Carefully Read
 Journal of Mathematics and Computer Education
, 1998
"... Teaching a student to write computer programs well is much like teaching a student to write English prose well. That is, although a program must be correct in every last detail, achieving correctness is only half of the task. The other half consists of intangible factors such as clarity, organizatio ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Teaching a student to write computer programs well is much like teaching a student to write English prose well. That is, although a program must be correct in every last detail, achieving correctness is only half of the task. The other half consists of intangible factors such as clarity, organization, conciseness, maintainability, etc. Although these factors cannot be automatically measured, they have a large economic impact, because a major cost of software development is the time spent by other people reading programs to validate, maintain, and enhance them. To teach these intangible factors, student programs must be read by a skilled programmer. Furthermore, grades for programs must be partly based on these intangible factors. Completely automatic testing and grading of student programs by machine not only ignores these intangible factors, but fosters the attitude that such factors are unimportant. When programs are automatically tested and not read, students come to believe that fu...
Church’s Thesis
"... In this project we will learn about both primitive recursive and general recursive functions. We will also learn about Turing computable functions, and will discuss why the class of general recursive functions coincides with the class of Turing computable functions. We will introduce the effectively ..."
Abstract
 Add to MetaCart
In this project we will learn about both primitive recursive and general recursive functions. We will also learn about Turing computable functions, and will discuss why the class of general recursive functions coincides with the class of Turing computable functions. We will introduce the effectively calculable functions, and the ideas behind Alonzo Church’s (1903–1995) proposal to identify the
Universal Domains For Sequential Computation
, 1995
"... Classical recursion theory asserts that all conventional programming languages are equally expressive because they can define all partial recursive functions over the natural numbers. However, most real programming languages support some form of higherorder data such as potentially infinite streams ..."
Abstract
 Add to MetaCart
Classical recursion theory asserts that all conventional programming languages are equally expressive because they can define all partial recursive functions over the natural numbers. However, most real programming languages support some form of higherorder data such as potentially infinite streams, lazy trees, and functions. Since these objects do not have finite canonical representations, computations over these objects cannot be accurately modeled as ordinary computations over the natural numbers. In my thesis, I develop a theory of higher order computability based on a new formulation of domain theory. This new formulation interprets elements of any data domain as lazy trees. Like classical domain theory, it provides a universal domain T and a universal language KL. A rich class of domains called observably sequential domains can be specified in T with functions definable in KL. Such an embedding of a data domain enables the operations on the domain to be defined in the universa...