Software Engineering and Functional Programming (with Haskell)
Hi all, I'm a Software Engineering (SE) Master's degree student at CMU. As part of the program, each of us needs to present a topic that's related to SE. I am picking Functional Programming with Haskell as the topic as I believe it has a lot of direct impact on SE due to its nature that requires a the whole new world of thinking process, design, analysis, development, testing, and deployment. Unfortunately my instructor disagrees that the topic is relevant. In his response, he mentioned that he will accept the topic only if I can prove the following. Haskell has been around for quite a while. To convince me, you'll have to give me references that I can read about nontrivial examples of significant software systems already built exclusively with Haskell which includes the software engineering principles applied in this environment and the software measures that demonstrate the claims. I welcome the opportunity for you to provide me with such in-depth research references to support your viewpoint. Straight of the bat, I have very limited visibility in terms of finding him the resources to prove this. I am wondering if any of you all here could shed some light where I can find a couple compelling evidences to convince him. In fact, my presentation topic is not specifically tied to Haskell but more to FP. So any resources that provide such information on FP in general would do as well. Thanks, Ed
Sukit Tretriluxana wrote:
Unfortunately my instructor disagrees that the topic is relevant. In his response, he mentioned that he will accept the topic only if I can prove the following.
Haskell has been around for quite a while. To convince me, you'll have to give me references that I can read about nontrivial examples of significant software systems already built exclusively with Haskell which includes the software engineering principles applied in this environment and the software measures that demonstrate the claims. I welcome the opportunity for you to provide me with such in-depth research references to support your viewpoint. For FP in general you could look at Erlang. Its an functional programming language used for telecom systems. www.erlang.org has a bunch of references, including some very significant software systems.
I would suggest broadening your scope to include Erlang, and then look at some of the issues with Erlang and the way in which Haskell purity helps, like deforestation. In Erlang you can write a function as a pipeline of maps, filters and folds, but it tends to be very inefficient because all the intermediate data structures have to be created. In Haskell the compiler can strip out these structures because the order of execution does not matter. I know that Haskell has been used for chip design software. Simon Peyton-Jones' recent paper on the history of Haskell has some references. Paul.
There have been a series on workshop about the commercial use of functional programming. You can find the slides of presentations at: http://cufp.galois.com/ Some companies even use knowledge of FP to filter out the good applicants ;-}} What is your instructor's opinion about that? Doaitse Swierstra On Apr 3, 2007, at 11:40 PM, Paul Johnson wrote:
Sukit Tretriluxana wrote:
Unfortunately my instructor disagrees that the topic is relevant. In his response, he mentioned that he will accept the topic only if I can prove the following.
Haskell has been around for quite a while. To convince me, you'll have to give me references that I can read about nontrivial examples of significant software systems already built exclusively with Haskell which includes the software engineering principles applied in this environment and the software measures that demonstrate the claims. I welcome the opportunity for you to provide me with such in-depth research references to support your viewpoint. For FP in general you could look at Erlang. Its an functional programming language used for telecom systems. www.erlang.org has a bunch of references, including some very significant software systems.
I would suggest broadening your scope to include Erlang, and then look at some of the issues with Erlang and the way in which Haskell purity helps, like deforestation. In Erlang you can write a function as a pipeline of maps, filters and folds, but it tends to be very inefficient because all the intermediate data structures have to be created. In Haskell the compiler can strip out these structures because the order of execution does not matter.
I know that Haskell has been used for chip design software. Simon Peyton-Jones' recent paper on the history of Haskell has some references.
Paul. _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Thank you so much everyone who have been so helpful in pointing out the resources that I can use to convince my prof. And guess what, he's finally convinced!!! I wholehearted appreciate everyone and the strong support from this Haskell community. Ed On 4/4/07, Doaitse Swierstra <doaitse@cs.uu.nl> wrote:
There have been a series on workshop about the commercial use of functional programming. You can find the slides of presentations at:
Some companies even use knowledge of FP to filter out the good applicants ;-}} What is your instructor's opinion about that?
Doaitse Swierstra
On Apr 3, 2007, at 11:40 PM, Paul Johnson wrote:
Sukit Tretriluxana wrote:
Unfortunately my instructor disagrees that the topic is relevant. In his response, he mentioned that he will accept the topic only if I can prove the following.
Haskell has been around for quite a while. To convince me, you'll have to give me references that I can read about nontrivial examples of significant software systems already built exclusively with Haskell which includes the software engineering principles applied in this environment and the software measures that demonstrate the claims. I welcome the opportunity for you to provide me with such in-depth research references to support your viewpoint. For FP in general you could look at Erlang. Its an functional programming language used for telecom systems. www.erlang.org has a bunch of references, including some very significant software systems.
I would suggest broadening your scope to include Erlang, and then look at some of the issues with Erlang and the way in which Haskell purity helps, like deforestation. In Erlang you can write a function as a pipeline of maps, filters and folds, but it tends to be very inefficient because all the intermediate data structures have to be created. In Haskell the compiler can strip out these structures because the order of execution does not matter.
I know that Haskell has been used for chip design software. Simon Peyton-Jones' recent paper on the history of Haskell has some references.
Paul. _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
Take a look at "World Class Product Certification using Erlang" by Ulf Wiger et al. It's about a real project, not a scientific experiment, but even so it aims to demonstrate some of the claims made for FP. It's Erlang, not Haskell, but that doesn't really matter. The product is certainly a "significant system"--it's 1.5 million lines of Erlang, and is in use in Ericsson-supplied telephone networks around the world. But it's not built exclusively with Erlang, and actually I think that's an unreasonable demand--virtually any large system is built with a mixture of languages. In this case there are 2 million lines of C doing low-level data transport. I'm sure you'll find the Commercial Users of Functional Programming workshops interesting too, although there are only slides available in most cases, not papers. There are many "success stories" there. John ----- Original Message ----- From: Sukit Tretriluxana To: haskell@haskell.org Sent: Tuesday, April 03, 2007 10:06 PM Subject: [Haskell] Software Engineering and Functional Programming (withHaskell) Hi all, I'm a Software Engineering (SE) Master's degree student at CMU. As part of the program, each of us needs to present a topic that's related to SE. I am picking Functional Programming with Haskell as the topic as I believe it has a lot of direct impact on SE due to its nature that requires a the whole new world of thinking process, design, analysis, development, testing, and deployment. Unfortunately my instructor disagrees that the topic is relevant. In his response, he mentioned that he will accept the topic only if I can prove the following. Haskell has been around for quite a while. To convince me, you'll have to give me references that I can read about nontrivial examples of significant software systems already built exclusively with Haskell which includes the software engineering principles applied in this environment and the software measures that demonstrate the claims. I welcome the opportunity for you to provide me with such in-depth research references to support your viewpoint. Straight of the bat, I have very limited visibility in terms of finding him the resources to prove this. I am wondering if any of you all here could shed some light where I can find a couple compelling evidences to convince him. In fact, my presentation topic is not specifically tied to Haskell but more to FP. So any resources that provide such information on FP in general would do as well. Thanks, Ed ------------------------------------------------------------------------------ _______________________________________________ Haskell mailing list Haskell@haskell.org http://www.haskell.org/mailman/listinfo/haskell
John Hughes wrote:
Take a look at "World Class Product Certification using Erlang" by Ulf Wiger et al. It's about a real project, not a scientific experiment,
Though I find the scientific experiment described in "Haskell vs. Ada vs. C++ vs. Awk vs. ..., An Experiment in Software Prototyping Productivity" by Paul Hudak and Mark P. Jones particularly amusing ("in their minds the use of higher-order functions to capture regions was just a trick that would probably not be useful in other contexts"). A link to the paper can be found on http://haskell.org/haskellwiki/Haskell_in_practice Regards, apfelmus
participants (5)
-
apfelmus -
Doaitse Swierstra -
John Hughes -
Paul Johnson -
Sukit Tretriluxana