The forefathers of Haskell ...
17 October 2009
I am something of a new face. I wish to introduce myself by doing what I can to make a contribution and so I am making a proposal. It would make sense before undertaking the project to determine whether or not it makes any sense with those who are better acquainted with Haskell and more specifically GHC, and are closer to the problem.
Haskell is an expressive language. GHC is needed to build GHC as it is. Why not create a build system that does not rely on shell scripts and make files? We would have all the benefits of a type safe language, type inference and the like. It seems to me that the build system is a weak link. Since when is the software developer's time unimportant? Strike that, it makes me sound like I was born yesterday. :-)
At one time the lack of a type system would have been regarded as an asset, less bureaucracy. Haskell has type inference. It wouldn't be a burden, it would be an asset. You get to find out if the build system is broken without having to learn the hard way and having wasted hours or days of your precious time on something that is silly. GHC produces better error messages and is better at catching mistakes. It furthermore has an interpreter. From a theoretical point of view that's everything. What came first the chicken or the egg? What came first was the interpreter, then came the chicken. So technically it isn't an interpreter--it's a translator! He he.
Unix/GNU is a mature product. It's ancient as in stone age, but mature. Some things might be missed. I recently installed Windows Vista on my computer. As usual there is what they got wrong, but also all the things they got right. It will take time to get used to it. So I suppose I can relate to those who might oppose change. I made a investment becoming familiar with Windows XP. It was comfortable. Equally many of you are vested in the old way of doing things. It has been around for so long that no one questions it.
What exactly is unique about make files that you can't do in any other language? Well, the syntax lends itself to the task. Why couldn't Prolog be used? With Prolog you don't always have an interactive environment. The forefathers of Haskell weren't short sited and understood the value of having both a compiler and interactive environment. Is it merely convenience and something that aids in debugging? or is there more to it? There is the Curry language which is based on Haskell and it is my understanding that some of the features of the Curry language are now GHC extensions. Make files are a poor man's Prolog whereas Prolog is the tool of aristocrats.
If you take an objective look at the stone age tools, you will see something grotesque. It has to be survival of the fittest. It just isn't fit. It shouldn't survive. It would be wrong for it to survive. All that Haskell represents is what needs to survive.
Trac metadata
Trac field | Value |
---|---|
Version | |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Build System |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |