InfoQ

Interview

Recorded at:
Recorded at

Paul Hudak on Haskell

Interview with Paul Hudak by Sadek Drobi on May 08, 2009

Community
Architecture
Topics
Programming
Tags
QCon ,
Functional Programming ,
Haskell ,
QCon San Francisco 2008
Summary
An interview that begins with a discussion of when to introduce difficult Haskell concepts like monads, moves to a discussion of the philosophy of higher order programming, the success and influence of Haskell, its use in the mainstream, and concludes with the idea of teaching computer music and Haskell simultaneously.

Bio
Paul Hudak is a Professor of Computer Science at Yale University and a principal designer of the Haskell programming language. He is active in the Arts and developed Haskore as a functional language for computer music. He recently helped establish a Computing and the Arts major at Yale.

About the conference
QCon is a conference that is organized by the community, for the community.The result is a high quality conference experience where a tremendous amount of attention and investment has gone into having the best content on the most important topics presented by the leaders in our community. QCon is designed with the technical depth and enterprise focus of interest to technical team leads, architects, and project managers.
I'm Sadek Drobi. I'm here with Paul Hudak, at QCon San Francisco. Paul, why don't you tell us about yourself and what you've been up to?
I read your book about Haskell and, surprisingly, you don't talk about type classes and monads until late in the book. Do you think that this is the way to learn Haskell?
We are seeing that Haskell in inspiring the mainstream languages. I mean we see that Philip Wadler designed Generics for Java and Eric Meijer is doing a huge work for Microsoft, for the .NET platform. Is into this a success for Haskell?
Do you see in Haskell a programming language for research to inspire other languages, which it already done as a goal or it can be really used in the Mainstream for Enterprise, as software?
Can you tell us more about high order programming?
When we talk about function and high order functions, we talk also about functional interactive animations. Can you explain us more about this?
You said a stream of events can then be applied to web applications as we know they are user events or other GUIS that we deal with in the Enterprise?
What is the difference between functional abstraction power and OOP, the object oriented one?
Today, we will see more and more applications of monads. I mean monads came, for some people, as a weird concept and now, just after some years, it's been applied in Mainstream like in LINQ and other things. Do you think that monads are the new API abstraction that can be used everywhere?
We know that you worked on embedded DSLs with absolute non-programmers. Can you tell us a little more about this experience?
You've been with Haskell since the beginning and now, years after, what do you think actually of result? What do you think of Haskell of today? Are there some functionalities you would prefer to delete or to add? Are there any other languages that got inspired from Haskell that seem interesting for you for the years to come?
show all  show all
More info on functional interactive animations by Conal Elliott Posted May 8, 2009 11:47 AM
Another awesome Haskell Interview!! by Eric Aguiar Posted May 11, 2009 12:14 PM
  1. Back to top

    More info on functional interactive animations

    May 8, 2009 11:47 AM by Conal Elliott

    You can find more info on functional interactive animations (and related) via my home page, and at the FRP page. Please note my name spelling: "Conal Elliott" (different from interview transcript).

  2. Back to top

    Another awesome Haskell Interview!!

    May 11, 2009 12:14 PM by Eric Aguiar

    These interviews with Haskell fathers, are great for getting information to help non-Haskell coders, get information which is important to allow migration to the best functional language in existence. Haskell is now the leading edge on technology which will actually advance computing into another stage, as long as mass adoption is seen. We have STM, Nested Data Parallelism, the new Haskell Platform(Batteries Included), and a steadily populating archive of libraries and bindings on Hackage, we are in a very healthy and vibrant stage of Haskell's evolution. :)

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.