Sean Leather:
> On Fri, Jun 10, 2011 at 03:15, Manuel M T Chakravarty wrote:
> Ian Lynagh:
> > On Mon, Jun 06, 2011 at 03:47:57PM +0100, Malcolm Wallace wrote:
> >> On 6 Jun 2011, at 13:49, Lyndon Maydwell wrote:
> >>> I would be fantastic if XCode wasn't a dependency.  ...
> >>>
> >>> Not to detract at all from the work of the wonderful GHC and Haskell
> >>> Platform contributors in any way. For me it would just make it that
> >>> much easier to convince mac-using friends to give Haskell a try.
> >>
> >> The ghc team already bundle a copy of gcc in their Windows distribution, 
> >> precisely because it can be fiddly to get a working copy of gcc for that 
> >> platform otherwise.  I wonder if they would consider the possibility of 
> >> shipping gcc on Mac too?  (There may be good reasons not to do that, but 
> >> let's have the discussion.)
> >
> > I'm pretty sure we aren't allowed to redistribute XCode.
> >
> > As well as gcc and friends, I think XCode also includes various headers
> > and/or libraries that we need.
> >
> > If there is an alternative - especially one that allows us to support
> > multiple versions of OS X more easily - then using it may make sense.
> 
> You are right, the Xcode install includes many tools as well as headers etc.
> 
> What would be the advantage of including gcc and all these other things in 
> GHC?
> 
> To simplify the process of installing GHC and to support people with versions 
> of Mac OS X older than the most current. We want to spread the Haskell love 
> as far as possible.

The only simplification is that people who haven't got Xcode yet need to 
install two packages instead of just one.

However, for people who already have got Xcode installed, it means that they 
get two versions of all the dev tools, headers, etc.  Then, compiling a C file 
(eg, as part of a Haskell project) by directly invoking gcc or by compiling it 
via ghc will use different compilers, headers, etc.  That quickly leads to 
annoying and hard to debug problems.

Given that almost every developer on a Mac will be in the second group, you are 
not simplifying matters, you are complicating them.

> Anybody who is halfway serious about developing software on a Mac will have 
> Xcode installed anyway.
> 
> You could say the same about people halfway serious about developing software 
> on Windows. But GHC doesn't require you to install MinGW, Cygwin, or Virtual 
> Studio.

No.  A serious Windows dev will have Visual Studio installed.  That won't help 
with installing GHC at all AND the GHC-bundled Unix tools do not interfere with 
Visual Studio in the same way that custom installs of Unix tools interfere with 
Xcode.

> Besides, as Xcode updates are now available from the Mac App Store,
> 
> Not for older versions of Mac OS X.

Well, then get the DVDs bundled with your Mac and install Xcode from those, or 
sign up at developer.apple.com and get it there.   BTW, Mac users (and esp 
devs) upgrade very quickly, much faster than, say, Windows users.

> you don't even need to register as a developer with Apple anymore — yes, you 
> need to pay the nominal $5 for the 4GB download.  If you don't want to do 
> that, install the (probably older) version of Xcode that came with the 
> install DVDs of your Mac.
> 
> This doesn't solve the problem if the GHC package only supports later 
> versions of Xcode. There has already been at least one difference between 
> Xcode 3 and 4 ( http://hackage.haskell.org/trac/ghc/ticket/5011 ) that caused 
> a problem and there may be others in the future.

That was arguably a bug in GHC's build setup.  It hardcoded a particular SDK 
version and died when Apple didn't ship that with the default install anymore.  
Nevertheless, new versions of Xcode will require adaptations in GHC, just like 
new gcc and GNU tool/lib versions require fixes in GHC on Linux.

Bundling doesn't solve that problem; it shifts it due to the mismatch of 
system-wide and GHC-installed compilers, tools, and libs.

> I don't think you can compare this with the situation on Windows.  Microsoft 
> does not distribute a canonical set of Unix tools that all developers use.
> 
> No, but Cygwin and MinGW are available for free and have been around for a 
> long time. Why does GHC bundle MinGW instead of expecting the user to install 
> it herself? Convenience?

Again, this is a different situation.  Window's standard dev environment is 
Visual Studio, you cannot expect devs to have MinGW installed.  Mac OS X's 
standard dev environment is Xcode and you can expect devs to have that 
installed.

> I think there is a clear benefit to supporting older versions of Mac OS X. 
> Not everybody upgrades at the same rate that Apple releases new versions. 
> Indeed, Apple's updates occasionally change architecture requirements or 
> break applications, so some people cannot upgrade.

Most people upgrade quickly on the Mac platform and, anyway, it does not matter 
if they have Xcode already installed, which is the case for the majority of 
devs.  In fact, that majority is inconvenienced by the additional complexity of 
different versions of the tools and libraries.

> Having a new package bundling GNU tools/libraries doesn't preclude the 
> current package using Xcode. The only good arguments against a new package, 
> that I can see, are the additional work to develop the packaging and the 
> testing, release, and maintenance efforts. Perhaps there are some 
> compatibility concerns, working with other OS X libraries/applications. Of 
> course, these are not at all insignificant issues, but these are the main 
> concerns.

If you want to make a second, alternative package that bundles tools and 
libraries, sure, go ahead.  As long as that is not the default, that is fine.

Manuel

_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to