• Publications
  • Influence
Report on the programming language Haskell: a non-strict, purely functional language version 1.2
"Some half dozen persons have written technically on combinatory logic, and most of these, including ourselves, have published something erroneous. Since some of our fellow sinners are among the mostExpand
  • 1,020
  • 89
  • Open Access
I-structures: Data structures for parallel computing
It is difficult simultaneously to achieve elegance, efficiency and parallelism in functional programs that manipulate large data structures. We demonstrate this through careful analysis of programExpand
  • 242
  • 31
Executing a Program on the MIT Tagged-Token Dataflow Architecture
The MIT Tagged-Token Dataflow Project has an unconventional, but integrated approach to general-purpose high-performance parallel computing. Rather than extending conventional sequential languages,Expand
  • 416
  • 23
  • Open Access
Bluespec System Verilog: efficient, correct RTL from high level specifications
  • R. Nikhil
  • Computer Science
  • Proceedings. Second ACM and IEEE International…
  • 23 June 2004
Bluespec System Verilog is an EDL toolset for ASIC and FPGA design offering significantly higher productivity via a radically different approach to high-level synthesis. Many other attempts atExpand
  • 182
  • 19
  • Open Access
I-structures: data structures for parallel computing
It is difficult to achieve elegance, efficiency, and parallelism simultaneously in functional programs that manipulate large data structures. We demonstrate this through careful analysis of programExpand
  • 295
  • 18
  • Open Access
M-Structures: Extending a Parallel, Non-strict, Functional Language with State
Functional programs are widely appreciated for being “declarative” (algorithms are not over-specified) and implicitly paralle. However, when modeling state, both properties are compromised becauseExpand
  • 154
  • 10
  • Open Access
An implementation technique for database query languages
Structured query languages, such as those available for relational databases, are becoming increasingly desirable for all database management systems. Such languages are applicative: there is no needExpand
  • 131
  • 5
Cid: A Parallel, "Shared-Memory" C for Distributed-Memory Machines
Cid is a parallel, “shared-memory” superset of C for distributed-memory machines. A major objective is to keep the entry cost low. For users-the language should be easily comprehensible to a CExpand
  • 93
  • 4
The Parallel Programming Language Id and its Compilation for Parallel Machines
  • R. Nikhil
  • Computer Science
  • Int. J. High Speed Comput.
  • 1 June 1993
In this paper, we show a novel compilation method from a familiar class of languages to a familiar class of architectures. Id is basically a non-strict functional programming language, but it has aExpand
  • 61
  • 3
Implicit parallel programming in pH
Chapter 1 From Sequential to Implicit Parallel Programming Chapter 2 Functions and Reduction Chapter 3 Types and Type Checking Chapter 4 Rewrite Rules, Reduction Strategies, and Parallelism Chapter 5Expand
  • 68
  • 3
  • Open Access