Paul Hudak

Publication List Details

Period

1982 - 2009

Number

78

Co-Authors

Modular Monadic Semantics (2009)

Sheng Liang, Paul Hudak

Modular monadic semantics is a high-level and modular form of denotational semantics. It is capable of capturing individual programming language features as small building blocks which can be...

on Functional Programming Languages and Computer (2008)

Paul Hudak

This paper describes the history of Haskell, including its genesis and principles, technical contributions, implementations and tools, and applications and impact.

British Computer Society BCS Using Types to Parse Natural Language (2008)

Mark P. Jones, Paul Hudak, Sebastian Shaumya, Mark P. Jones, Nottingham England, ...

©Copyright in this paper belongs to the author(s) Published in collaboration with the

Abstract (2008)

Mark P. Jones, Nottingham England, Paul Hudak, Sebastian Shaumyan

We describe a natural language parser that uses type information to determine the grammatical structure of simple sentences and phrases. This stands in contrast to studies of type inference where...

on Functional Programming Languages and Computer (2008)

Paul Hudak

This paper describes the history of Haskell, including its genesis and principles, technical contributions, implementations and tools, and applications and impact.

Directions in Functional Programmingfor Real(-Time) Applications (2008)

Walid Taha, Paul Hudak, Zhanyong Wan

Abstract. We review the basics of functional programming, and give abrief introduction to emerging techniques and approaches relevant to building real-time software. In doing so we attempt to explain...

Memory Coherence in Shared Virtual Memory Systems (2008)

Kai Ll, Paul Hudak

The memory coherence problem in designing and implementing a shared virtual memory on loosely coupled multiprocessors is studied in depth. Two classes of algorithms, centralized and distributed, for...

Report on the Programming Language (2007)

Haskell Non-Strict, Paul Hudak, Simon Peyton Jones, Philip Wadler, Brian Boutel, Dick Kieburtz

ions : : : : : : : : : : : : : : : : 12 3.3 Operator Applications : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13 3.4 Sections : : : : : : : : : : : : : : : : : : : : : : : : : : : : :...

Universal Grammar: a Common Paradigm (2007)

Sebastian Shaumyan, Paul Hudak

Abstract. We describe how type information can be used to infer grammatical structure. This is in contrast to conventional type inference in programming languages where the roles are reversed,...

Graphics Group (2007)

Conal Elliott, Paul Hudak

Fran (Functional Reactive Animation) is a collection of data types and functions for composing richly interactive, multimedia animations. The key ideas in Fran are its notions of behaviors and...

1 (2007)

John Peterson, Paul Hudak, Alastair Reid, Greg Hager

Abstract. Functional programming languages are not generally associated with computationally intensive tasks such as computer vision. We show that a declarative programming language like Haskell is...

Functional Hybrid Modeling from an Object-Oriented Perspective (2007)

Henrik Nilsson, John Peterson, Paul Hudak

Declaration: This paper is closely based on [19] that was published in the Proceedings

Haskell Communities and Activities Report (2006)

Andres Löh (ed, Lloyd Allison, Tiago Miguel, Laureano Alves, Krasimir Angelov, Dmitry Astapov, ...

Welcome to the eleventh edition of the Haskell Communities and Activities Report – a collection of entries about everything that is going on and related to Haskell in some way that appears twice a...

Haskell Communities and Activities Report (2006)

Andres Löh (ed, Lloyd Allison, Tiago Miguel, Laureano Alves, Krasimir Angelov, Dmitry Astapov, ...

This is the tenth edition of the Haskell Communities and Activities Report (HCAR) – a collection of entries about everything that is going on and related to Haskell in some way that appears twice a...

Haskell Communities and Activities Report (2005)

Andres Löh (ed, Lloyd Allison, Tiago Miguel, Laureano Alves, Krasimir Angelov, Alistair Bayley, ...

Finally, here is the 9th edition of the Haskell Communities and Activities Report (HCAR), almost three weeks after the submission deadline. This delay is entirely my own fault. In fact, I have to...

The Essence of Design (2003)

Paul Hudak

I have been fascinated with the process of design for a long time. In my twenty-one years at Yale I have had the privilege of meeting a very diverse set of scholars: from artists and musicians, to...

Functional hybrid modeling (2003)

Henrik Nilsson, John Peterson, Paul Hudak

Abstract. The modeling and simulation of physical systems is of key importance in many areas of science and engineering, and thus can benefit from high-quality software tools. In previous research we...

Arrows, Robots, and Functional Reactive Programming (2003)

Paul Hudak, Antony Courtney, Henrik Nilsson, John Peterson

Abstract. Functional reactive programming, or FRP, is a paradigm for programming hybrid systems – i.e., systems containing a combination of both continuous and discrete components – in a...

Dance: A declarative language for the control of humanoid robots (2003)

Liwen Huang, Paul Hudak

Robots are becoming increasingly common in, and important to, many commercial, industrial, and military applications. This paper focuses on how to program humanoid robots, and in particular how to...

Event-driven FRP (2002)

Zhanyong Wan, Walid Taha, Paul Hudak

Abstract. Functional Reactive Programming (FRP) is a high-level declarative language for programming reactive systems. Previous work on FRP has demonstrated its utility in a wide range of application...

Event-driven FRP (2002)

Zhanyong Wan, Walid Taha, Paul Hudak

Abstract. Functional Reactive Programming (FRP) is a high-level declarative language for programming reactive systems. Previous work on FRP has demonstrated its utility in a wide range of application...

Arrows, Robots, and Functional Reactive Programming (2002)

Paul Hudak, Antony Courtney, Henrik Nilsson, John Peterson

Functional reactive programming, or FRP, is a paradigm for programming hybrid systems -- i.e., systems containing a combination of both continuous and discrete components -- in a high-level,...

Event-driven FRP (2002)

Zhanyong Wan, Walid Taha, Paul Hudak

Abstract. Functional Reactive Programming (FRP) is a high-level declarative language for programming reactive systems. Previous work on FRP has demonstrated its utility in a wide range of application...

Real-time FRP (2001)

Zhanyong Wan, Walid Taha, Paul Hudak

Functional reactive programming (FRP) is a declarative programming paradigm where the basic notions are continuous, time-varying behaviors and discrete, event-based reactivity. FRP has been used...

Real-time FRP (2001)

Zhanyong Wan, Walid Taha, Paul Hudak

Functional reactive programming (FRP) is a declarative programming paradigm where the basic notions are continuous, time-varying behaviors and discrete, event-based reactivity. FRP has been used...

Directions in functional programming for real(-time) applications (2001)

Walid Taha, Paul Hudak, Zhanyong Wan

Abstract. We review the basics of functional programming, and give a brief introduction to emerging techniques and approaches relevant to building real-time software. In doing so we attempt to...

Directions in functional programming for real(-time) applications (2001)

Walid Taha, Paul Hudak, Zhanyong Wan

Abstract. We review the basics of functional programming, and give a brief introduction to emerging techniques and approaches relevant to building real-time software. In doing so we attempt to...

Declarative Real-World Abstractions (2001)

Paul Hudak

Abstraction is often described as the key to effective software design, and declarative approaches to software design are often promoted as the most clear and succinct. Unfortunately, language and...

Topic: Typinferenz mit Constraints (2000)

Name Martin Sulzmann, Supervisor Professor, Paul Hudak, August Grundschule Weigheim

Programming languages: Design, analysis and implementation of modern programming languages based on tools such as type systems, constraints and logical environments....

Functional reactive programming from first principles (2000)

Zhanyong Wan, Paul Hudak

Functional Reactive Programming, or FRP, is a general framework for programming hybrid systems in a high-level, declarative manner. The key ideas in FRP are its notions of behaviors and events....

Shifting expression procedures into reverse (1999)

Mark Tullsen, Paul Hudak

The best known approach to program transformation is the unfold/fold methodology of Burstall and Darlington: a simple, intuitive, and expressive approach which serves as the basis of many automatic...

Prototyping real-time vision systems: An experiment in DSL design (1999)

Alastair Reid, John Peterson, Greg Hager, Paul Hudak

We describe the transformation of XVision, a large library of C++ code for real-time vision processing, into FVision (pronounced "fission"), a fully-featured domain-specific...

Lambda in Motion: Controlling Robots with Haskell (1999)

John Peterson, Paul Hudak, Conal Elliott

. We present our experiences using a purely functional language, Haskell, in what has been traditionally the realm of low-level languages: robot control. Frob (Functional Robotics) is a...

A Language for Declarative Robotic Programming (1999)

John Peterson, Gregory D. Hager, Paul Hudak

We have applied methodologies developed for domain-specific embedded languages to create a highlevel robot control language called Frob, for Functional Robotics. Frob supports a programming style...

Shifting Expression Procedures into Reverse (1999)

Mark Tullsen, Paul Hudak

The best known approach to program transformation is the unfold/fold methodology of Burstall and Darlington: a simple, intuitive, and expressive approach which serves as the basis of many automatic...

Modular Domain Specific Languages and Tools (1998)

Paul Hudak

A domain specific language (DSL) allows one to develop software for a particular application domain quickly and e#ectively, yielding programs that are easy to understand, reason about, and maintain....

Prototyping Real-Time Vision Systems: An Experiment in DSL Design (1998)

Alastair Reid John, John Peterson, Greg Hager, Paul Hudak

We describe the enhancement of XVision, a large library of C++ code for real-time vision processing, into FVision (pronounced "fission"), a fully-featured domainspecific language embedded...

An Intermediate Meta-Language for Program Transformation (1998)

Mark Tullsen, Paul Hudak

As part of an effort to bridge the gap between the theory and practice of program transformation, we have designed a meta-language for transforming functional programs. The metalanguage is sound in...

Modular Domain Specific Languages and Tools (1998)

Paul Hudak

A domain specific language (DSL) allows one to develop software for a particular application domain quickly and effectively, yielding programs that are easy to understand, reason about, and maintain....

Rolling Your Own Mutable ADT --- A Connection between Linear Types and Monads --- (1997)

Chih-ping Chen, Paul Hudak

A methodology is described whereby a linear ADT may be rigorously encapsulated within a state monad. A CPS-like translation from the original ADT axioms into monadic ones is also described and proven...

Functional Reactive Animation (1997)

Conal Elliott, Paul Hudak

Fran (Functional Reactive Animation) is a collection of data types and functions for composing richly interactive, multimedia animations. The key ideas in Fran are its notions of behaviors and...

Modular Denotational Semantics for Compiler Construction (1996)

Sheng Liang, Paul Hudak

. We show the benefits of applying modular monadic semantics to compiler construction. Modular monadic semantics allows us to define a language with a rich set of features from reusable building...

Building Domain-Specific Embedded Languages (1996)

Paul Hudak

this paper I will describe the results of using the functional language Haskell to build DSELs. Haskell has several features that make it particularly suitable for this, but other languages could...

Modular Denotational Semantics for Compiler Construction (1996)

Sheng Liang, Paul Hudak

We show the benefits of applying modular monadic semantics to compiler construction. Modular monadicsemantics allows us to define a languagewith a rich set of features from reusablebuilding blocks,...

Building Domain-Specific Embedded Languages (1996)

Paul Hudak

this paper I will describe the results of using the functional language Haskell to build DSELs. Haskell has several features that make it particularly suitable for this, but other languages could...

Haskore Music Tutorial (1996)

Paul Hudak

this paper I assume that the reader is familar with the basics of functional programming and Haskell in particular. If not, I encourage reading at least A Gentle Introduction to Haskell [HF92] before...

Monad transformersand modular interpreters (1995)

Sheng Liang, Paul Hudak, Mark Jones

We show how a set of building blocks can be used to construct programming language interpreters, and present implementations of such building blocks capable of supporting many commonly known...

Haskore Music Notation - An Algebra of Music (1995)

Paul Hudak, Tom Makucevich, Syam Gadde, Bo Whong

We have developed a simple algebraic approach to music description and composition called Haskore. In this framework, musical objects consist of primitive notions such as notes and rests, operations...

A Model of Performance, Interaction, and Improvisation (1995)

Paul Hudak, Jonathan Berger

: A formal model of performance, interaction, and improvisation is described using mutually recursive processes. The recursion captures feedback, mutual recursion captures interaction between players...

Using Types to Parse Natural Language (1995)

Mark P. Jones, Nottingham England, Paul Hudak, Sebastian Shaumyan

We describe a natural language parser that uses type information to determine the grammatical structure of simple sentences and phrases. This stands in contrast to studies of type inference where...

Bibliography of Yale's Functional Programming Research Group (aka "The Yale Haskell Project") (1994)

R. S. Sundaresh, J. Young, Paul Hudak

Interpretation of Declarative Languages, pages 45--62. Ellis Horwood, 1987. (Preliminary version appeared in Proceedings 1986 ACM Conference on LISP and Functional Programming, August 1986, pp....

Implicit and Explicit Parallel Programming in Haskell (1993)

Mark P. Jones, Paul Hudak

Abstract It has often been suggested that functional languages provide an excellent basis for programming parallel computer systems. This is largely a result of the lack of side effects which makes...

State in Functional Languages - An Annotated Bibliography (1993)

Paul Hudak, Dan Rabin

This paper reviews the standard syntax and semantics, and discusses the problem that arises and a standard approach to its solution. A new solution is proposed, based on ideas taken from...

Implicit and Explicit Parallel Programming in Haskell (1993)

Mark P. Jones, Paul Hudak

It has often been suggested that functional languages provide an excellent basis for programming parallel computer systems. This is largely a result of the lack of side effects which makes it...

Call byName, Assignment and the Lambda Calculus (1992)

Martin Odersky, Dan Rabin, Paul Hudak

We define an extension of the call-by-name lambda calculus with additional constructs and reduction rules that represent mutable variables and assignments. The extended calculus has neither a concept...

Parametric Type Classes (Extended Abstract) (1992)

Kung Chen, Paul Hudak, Martin Odersky

) Kung Chen, Paul Hudak, Martin Odersky Yale University, Department of Computer Science, Box 2158 Yale Station, New Haven, CT 06520 ACM Conf. on LISP and Functional Programming, June 1992 Abstract We...

Mutable abstract datatypes -- or -- how to have your state and munge it too (1992)

Paul Hudak

1 Introduction It's been said many times before: "Functional languages are great, but they can't deal with state! " to which functional programmers often reply:...

On the Expressiveness of Purely Functional I/O Systems (1989)

Paul Hudak, Raman S. Sundaresh

Functional programming languages have traditionally lacked complete, flexible, and yet referentially transparent I/O mechanisms. Previous proposals for I/O have used either the notion of lazy streams...

evolution, and application of functional programming languages (1989)

Paul Hudak

The foundations of functional programming languages are examined from both historical and technical perspectives. Their evolution is traced through several critical periods: early work on lambda...

Realistic Compilation by Program Transformation (1989)

Richard Kelsey, Paul Hudak

Using concepts from denotational semantics, we have produced a very simple compiler that can be used to compile standard programming languages and produces object code as efficient as that of...

Code optimizations for lazy evaluation (1988)

Adrienne Bloss, Paul Hudak, Jonathan Young

Implementations of lazy evaluation for non-strict functional languages usually involve the notion of a delayed representation of the value of an expression, which we call a thunk. We present several...

A semantic model of reference counting and its abstraction (1986)

Paul Hudak

Most interpreters for functional languages (as well as Lisp) employ at some level in the implementation a notion of sharing, whether manifested indirectly through an environment or directly via...