[Haskell-cafe] Improvements to package hosting and security

Tillmann Rendel rendel at informatik.uni-tuebingen.de
Thu Apr 30 09:43:22 UTC 2015


Hi,

Mathieu Boespflug wrote:
> This is a valid concern. One that I should have addressed explicitly
> in the proposal. Git is fairly well supported on Windows these days
> and installs easily. It could conceivably be included as part of
> MinGHC. There are many alternatives, but I doubt we'll need them:
> statically linking a C implementation (libgit2 or another), or a
> simple native implementation of the git protocol (the protocol is
> quite straightforward and is documented) and basic disk format.

I did not read your proposal, but if it entails that new Haskell users 
on Windows need to manually install git before they can use `cabal 
install something` for the first time, I think that would be bad.

For programming beginners (think B.Sc. students in a field other than 
computer science that take an "intro to programming" class), every 
installation that requires manual configuration is a hassle. Making the 
cabal executable find the git executable on the path would potentially 
require manual configuration to set up the search path. I believe that 
both ghc and git binary packages for Windows package MSYS (or maybe 
something similar, not sure), so there is also some potential for a 
cabal+ghc+git installation to confuse which bundled copy of MSYS to use.

Some of these "intro to programming" classes consist mostly of 
object-oriented programming, with a bit of FP thrown in. If helping the 
students to set up a Haskell environment on their laptops takes one lab 
session or one week of office hours, that's a significant cut from the 
FP learning time. If students fail their homework because they fail to 
install the Haskell environment, that takes a significant cut of their 
FP learning motivation. If instructors only teach plain Haskell without 
ever using cabal, this gives the impression that Haskell only works for 
classroom problems, because there seem to be no libraries.

I'm aware that programming beginners are not the main target for a 
programming language infrastructure, but we shouldn't forget about their 
first-use experience completely, either.


I'm not even sure whether "statically linking a C implementation" is any 
better. How would it support `cabal install cabal-install` on Windows, 
in practice?

   Tillmann


More information about the Haskell-Cafe mailing list