
This note is an offshoot of "curl package broken in Windows", where this item appeared:
Did you know that Strawberry Perl includes a cygwin gcc? ... Maybe Haskell Platform could do the same.
The suggestion brought to mind a true-life parable: the pump station at Tok. (Tok is the third corner--after Anchorage and Fairbanks--of Alaska's triangular core of long-distance highways.) When I visited Tok long ago, it was a village of several hundred souls, almost all of whom were employed by one government agency or another, principal among which were the highway department, the Alaska Communication Service and the pump station, which kept fuel flowing to Eielson Air Force Base. The mission of the station was to keep one pump running 24 hours a day. Most of the time, of course, the pump hummed along by itself. To assure that, there had to be a standby machine, an operator to watch over both, and a mechanic who could fix them if need be. For such a lonely job it was deemed well to have two operators. And there had to be two operators for each of several shifts. A little redundancy on the mechanical side seemed wise, too. The crew and their families, say nothing of the pumps themselves, needed to be housed, and the installation needed to be supplied with the necessities of life. (The nearest supermarket was in Fairbanks, 300 miles away.) These needs demanded a motor pool and property maintenance cadre, whose very presence reinforced the need. Thus the support team to keep one pump going ballooned to about 100 people--a chain reaction that barely avoided criticality. So it seems to be with Haskell Platform, which aims to include "all you need to get up and running"--"an extensive set of standard libraries and utilities with full documentation." I get the impression that the Platform is bedeviled by the same prospect of almost unfettered growth. [One ominous sign: the description of the Haskell Platform at lambda.haskell.org/platform/doc/current/start.html suggests that one must join some mysterious Cabal, whose nature is hidden by a link to nowhere, simply to get started.] What principles guide the selection of components for "all you need to get up and running"? Doug McIlroy

Hey Doug,
The process for adding new packages is specified here:
http://trac.haskell.org/haskell-platform/wiki/AddingPackages
The HP aims for comprehensive, general functionality. Things like
databases, graphics libraries and web servers are well in scope for
inclusion. It should grow.
Cheers,
Don
On Nov 11, 2012 12:00 PM, "Doug McIlroy"
This note is an offshoot of "curl package broken in Windows", where this item appeared:
Did you know that Strawberry Perl includes a cygwin gcc? ... Maybe Haskell Platform could do the same.
The suggestion brought to mind a true-life parable: the pump station at Tok. (Tok is the third corner--after Anchorage and Fairbanks--of Alaska's triangular core of long-distance highways.) When I visited Tok long ago, it was a village of several hundred souls, almost all of whom were employed by one government agency or another, principal among which were the highway department, the Alaska Communication Service and the pump station, which kept fuel flowing to Eielson Air Force Base.
The mission of the station was to keep one pump running 24 hours a day. Most of the time, of course, the pump hummed along by itself. To assure that, there had to be a standby machine, an operator to watch over both, and a mechanic who could fix them if need be. For such a lonely job it was deemed well to have two operators. And there had to be two operators for each of several shifts. A little redundancy on the mechanical side seemed wise, too. The crew and their families, say nothing of the pumps themselves, needed to be housed, and the installation needed to be supplied with the necessities of life. (The nearest supermarket was in Fairbanks, 300 miles away.) These needs demanded a motor pool and property maintenance cadre, whose very presence reinforced the need.
Thus the support team to keep one pump going ballooned to about 100 people--a chain reaction that barely avoided criticality.
So it seems to be with Haskell Platform, which aims to include "all you need to get up and running"--"an extensive set of standard libraries and utilities with full documentation." I get the impression that the Platform is bedeviled by the same prospect of almost unfettered growth.
[One ominous sign: the description of the Haskell Platform at lambda.haskell.org/platform/doc/current/start.html suggests that one must join some mysterious Cabal, whose nature is hidden by a link to nowhere, simply to get started.]
What principles guide the selection of components for "all you need to get up and running"?
Doug McIlroy
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

On Sun, Nov 11, 2012 at 11:59 AM, Doug McIlroy
So it seems to be with Haskell Platform, which aims to include "all you need to get up and running"--"an extensive set of standard libraries and utilities with full documentation." I get the impression that the Platform is bedeviled by the same prospect of almost unfettered growth.
That's an interesting story, but I think the analogy is fundamentally broken. So the pump needed someone to watch it, needed spares, needed multiple people for multiple shifts, then they needed mechanics and motor pools and all their families came along etc until finally it was a little town? Well, OK. But there's no such effect in software libraries - if I add in a bytestring library to the HP, I don't wind up needing a MS Excel shim library to service it! When I added in some popular core library like bytestring, there's no expansionary loop - I don't find myself needing to add in a dozen libraries just to make bytestring run better. Bytestring already runs fine. Its dependencies are all already in the HP; the additional complexity for adding Bytestring is just... Bytestring. The arrow of dependency points the other way than in your story - if I need a MS Excel shim library, maybe I'll need the bytestring library. It's a pyramid, not a repeatedly cycling positive feedback loop. (Incidentally, Geoffrey West's city research suggests that cities benefit from sublinear scaling of most infrastructure; so "barely missing criticality" is not at all surprising.) -- gwern http://www.gwern.net

I love it when people explain things or make a point using a relevant story
(or parable) :)
It reminds me of when Michael Abrash would start his articles with the
same. Ah, the memories...
Cheers Doug.
On 11 Nov 2012 17:00, "Doug McIlroy"
This note is an offshoot of "curl package broken in Windows", where this item appeared:
Did you know that Strawberry Perl includes a cygwin gcc? ... Maybe Haskell Platform could do the same.
The suggestion brought to mind a true-life parable: the pump station at Tok. (Tok is the third corner--after Anchorage and Fairbanks--of Alaska's triangular core of long-distance highways.) When I visited Tok long ago, it was a village of several hundred souls, almost all of whom were employed by one government agency or another, principal among which were the highway department, the Alaska Communication Service and the pump station, which kept fuel flowing to Eielson Air Force Base.
The mission of the station was to keep one pump running 24 hours a day. Most of the time, of course, the pump hummed along by itself. To assure that, there had to be a standby machine, an operator to watch over both, and a mechanic who could fix them if need be. For such a lonely job it was deemed well to have two operators. And there had to be two operators for each of several shifts. A little redundancy on the mechanical side seemed wise, too. The crew and their families, say nothing of the pumps themselves, needed to be housed, and the installation needed to be supplied with the necessities of life. (The nearest supermarket was in Fairbanks, 300 miles away.) These needs demanded a motor pool and property maintenance cadre, whose very presence reinforced the need.
Thus the support team to keep one pump going ballooned to about 100 people--a chain reaction that barely avoided criticality.
So it seems to be with Haskell Platform, which aims to include "all you need to get up and running"--"an extensive set of standard libraries and utilities with full documentation." I get the impression that the Platform is bedeviled by the same prospect of almost unfettered growth.
[One ominous sign: the description of the Haskell Platform at lambda.haskell.org/platform/doc/current/start.html suggests that one must join some mysterious Cabal, whose nature is hidden by a link to nowhere, simply to get started.]
What principles guide the selection of components for "all you need to get up and running"?
Doug McIlroy
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (4)
-
Blake Rain
-
Don Stewart
-
Doug McIlroy
-
Gwern Branwen