WorldCat Identities

Hilfinger, Paul N.

Works: 18 works in 37 publications in 1 language and 412 library holdings
Genres: Handbooks, manuals, etc 
Roles: Author
Classifications: QA76.6, 001.6424
Publication Timeline
Most widely held works by Paul N Hilfinger
Abstraction mechanisms and language design by Paul N Hilfinger( Book )
12 editions published between 1981 and 1986 in English and Undetermined and held by 328 WorldCat member libraries worldwide
Fundamental structures of computer science by William Allan Wulf( Book )
1 edition published in 1981 in English and held by 17 WorldCat member libraries worldwide
Code reorganization for instruction caches by A. Dain Samples( Book )
3 editions published in 1988 in English and held by 11 WorldCat member libraries worldwide
Program performance can be improved on machines with virtual memory by reorganizing the program's address space. We address the question whether reorganization could benefit programs on machines with instruction caches. We have performed experiments to determine the efficacy of restructuring using simple reordering algorithms and profile data, concluding that performance improvement can be obtained relatively cheaply. Experiments show improvements in rise rates on the order 30% to 50%, and sometimes as high as 50% to 80%, by performing a simple algorithm that relocates only 3% to 5% of the basic blocks of a program
Direct function calls in LISP by Benjamin Zorn( Book )
2 editions published in 1988 in English and held by 9 WorldCat member libraries worldwide
This paper compares the implementation of direct function calls in SPUR Lisp. Spice Lisp, Zecalisp, etc. We examine the performance of direct and indirect function calls on the VAX MC68020, and SPUR architectures. For the SPUR architecture, sin gle indirection slows applications by 3-4%, and double indirection slows applications by 6-8%. The performance benefits of direct function calls are smaller for the VAX and MC68020 architectures. Implementing direct function calls requires maintaining bac kpointers from each function to all the functions that call it. The additional memory allocated for backpointers ranges from 10-50% of the memory allocated for functions. Maintaining backpointers increases the time to load functions by 10-15%. Redefining a function in a direct call implementation adds up to 50% to the time needed in an implementation with indirect function calls
Implementation of multiprocessing SPUR Lisp by Kinson Ho( Book )
2 editions published in 1988 in English and held by 8 WorldCat member libraries worldwide
Tartan, language design for the Ironman requirement : reference manual by Mary Shaw( Book )
2 editions published in 1978 in English and held by 7 WorldCat member libraries worldwide
The Tartan language was designed as an experiment to see whether the Ironman requirement for a common high-order programming language could be satisfied by an extremely simple language. The result, Tartan substantially meets the Ironman requirement. We believe it is substantially simpler than the four designs that were done in the first phase of the DOD-1 effort. The language definition appears in a companion report; this report provides a more expository discussion of some of the language's features, some examples of its use, and a discussion of some facilities that could enhance the basic design at relatively little cost. (Author)
Implementing Ada fixed-point types having arbitrary scales by Paul N Hilfinger( Book )
2 editions published in 1990 in English and held by 7 WorldCat member libraries worldwide
For integer result types, I give algorithms for [alpha] and [beta] that have the form 2[exponent m]a/b, where a and b are positive, single-precision integer constants. Finally, I give algorithms to produce floating-point results for a variety of architectures, including the VAX, the IBM 370, and those conforming to IEEE 754."
A memory allocation profiler for C and LISP by Benjamin Zorn( Book )
2 editions published in 1988 in English and held by 6 WorldCat member libraries worldwide
FIDIL reference manual by Paul N Hilfinger( Book )
2 editions published in 1993 in Undetermined and English and held by 5 WorldCat member libraries worldwide
(Preliminary) : an informal definition of Alphard ( Book )
1 edition published in 1978 in English and held by 4 WorldCat member libraries worldwide
Titanium language reference manual ( Book )
1 edition published in 2001 in English and held by 2 WorldCat member libraries worldwide
An Ada package for dimensional analysis by Paul N Hilfinger( Book )
1 edition published in 1986 in English and held by 2 WorldCat member libraries worldwide
Discusses the use of Ada's abstraction facilities to define away to attribute units of measure to variables and values
Compiling Smalltalk-80 to a RISC ( Book )
1 edition published in 1987 in English and held by 1 WorldCat member library worldwide
The Smalltalk On A RISC project at U.C. Berkeley proved that good performance executing a high-level language on a modified RISC architecture was attainable. The system removed a layer of interpretation, translating bytecodes to a register-based instruction set. This paper describes the bytecode translator and how it was affected by SOAR architectural features. The translator generates code of reasonable density and speed. Because of bytecode semantics, relatively few optimizations are possible, but hardware and software mechanisms at runtime offset these limitations. Register allocation with register windows is the major task of the compiler. Several hardware features could be easily performed by the compiler
Reference manual for the Ada programming language by États-Unis( Book )
1 edition published in 1983 in English and held by 1 WorldCat member library worldwide
An Ada (Trade Name) Package for Dimensional Analysis ( Book )
1 edition published in 1984 in English and held by 1 WorldCat member library worldwide
This paper illustrates the use of Ada's abstraction facilities-notably operator overloading and type parameterization-to define an oft-requested feature: a way to attribute units of measure to variable and values. The definition given allows the programmer to specify units of measure for variables, constants, and parameters; checks uses of these entities for dimensional consistency; allows arithmetic between them, where legal; and provides scale conversions between commensurate units. It is not constrained to a particular system of measurement (such as the metric or English systems.) While the definition is in standard Ada and requires nothing special of the compiler, certain reasonable design choices in the compiler, discussed here at some length, can make its implementation particularly efficient. Dimensional analysis is a consistency check common in scientific and engineering computations. It consists of verifying that uses of numerical quantities conform to their declared units of measure-for example, that measures of length are not added to measures of time and that quotients of distance and time are treated as velocities. In many ways, dimensional analysis resembles strong typing, as found in Ada and other modern programming languages
FIDIL reference manual by Berkeley University of California( Book )
1 edition published in 1993 in English and held by 1 WorldCat member library worldwide
FIDIL (for FInite DIfference Language) is a language supporting finite difference and particle method computations. It extends the semantic domain of FORTRAN-like algebraic languages with facilities for construction, composition, refinement, and other manipulation of grids (called domains) and for performing computations on functions defined over these domains. FIDIL is an attempt to automate much of the routine bookkeeping that forms a large part of many programs involving PDEs, and to bring the semantic level of these programs closer to that at which the algorithms are conceived and published. This report gives the current definition of the FIDIL language. We expect the definition to evolve with experience
FIDIL: a language for scientific programming by Paul N Hilfinger( )
1 edition published in 1989 in English and held by 1 WorldCat member library worldwide
Improved RISC Support for the Smalltalk-80 Language ( Book )
1 edition published in 1987 in English and held by 1 WorldCat member library worldwide
The Smalltalk-80 language is polymorphic and dynamically typed. That is, subprograms (methods in Smalltalk jargon) legally may operate on arguments of different types; the method invoked as a result of a given textual call (send) depends on the type (class) of the first operand; and the classes of local variables, parameters, and fields (instance variables) in general cannot be deduced at compilation time. Because all sends can involve polymorphism, a straightforward implementation requires run-time dispatching on the class of the first operand for every send. Typical Samlltalk-80 coding style results in many small methods, implying that sends figure prominently in dynamic instruction counts, and that their fast execution is important. There are two basic ways that have been used to reduce the time required for a polymorphic send. First, one can use some form of method caching. Second, one can use type inference and in-line substitution. Polymorphism is relatively rare; about 5% of sends reach the same target on consecutive executions. As a result, it makes sense to save the result of each method look up operation so that it can be quickly retrieved upon subsequent re-execution of the same text. Ungar describes the in-line caching scheme used in the SOAR project at Berkeley, in which the result of each look up is saved by replacing the look up code with a direct call on the method found
moreShow More Titles
fewerShow Fewer Titles
Audience Level
Audience Level
  Kids General Special  
Audience level: 0.82 (from 0.00 for An Ada pac ... to 1.00 for Titanium l ...)
English (35)