2020-01-13 Upgrade of the ghc locker is complete. tl;dr: ssh to athena.dialup.mit.edu add -f ghc ghc yourprogram.hs Slightly more details: This is the Glasgow Haskell Compiler version 8.6.5, built for Ubuntu 18.04, which is what the dialups are running, but not the Athena cluster machines. Over 9000 library packages from Hackage available. Try `ghc-pkg list`. Over 2000 executable programs from Hackage packages at /mit/hackage-bin/bin , including cabal and stack. (Also, I pat myself on the back for this: developing the build infrastructure for this has taken several years.) Even more details: With so many packages, some modules with the same name are provided by multiple packages. Use the PackageImports language pragma to explicitly specify a package, or use cabal. Example of the former: {-# LANGUAGE PackageImports #-} import qualified "cryptohash-sha256" Crypto.Hash.SHA256 as Hvr; We've made some attempt to decrease the number of module name collisions by hiding some packages by default. Roughly, the heuristics were the following. Hide a package if it provides a module with the same name as a module distributed with GHC. Hide a package if it provides a module that is not hierarchical (does not contain a period). The full heuristics are encoded in /mit/ghc/src/git/lxc/do-with-stack/ghc-pkg-should-be-hidden.pl . To use a hidden package, specify it with the -package flag on the command line, or use cabal. ghc -package extra ... (The "extra" package was hidden because it provides a non-hierarchical module Extra.) Some of the installed Haskell packages depend on Ubuntu packages beyond what is installed on the dialups. Developing with those Haskell packages will only be possible on personal Ubuntu 18.04 Athena workstations onto which you can install additional packages. Some of the Haskell packages depend on nVIDIA CUDA packages for Ubuntu 18.04, available from nVIDIA. Things may be slow because of AFS, and because of the huge number of packages installed. For example, `ghc-pkg list` takes 4 minutes the first time it is run. However, it runs much faster (12 seconds, though some might still consider that slow) when run a second time, after the AFS cache has been primed. The packages are internally non-conflicting: there is no "cabal hell" of version conflicts if you stick with solely these packages. We chose the set of packages as follows. We started with Stackage LTS 13.30 (which itself is internally non-conflicting) (released July 29, 2019) then expanded to packages whose most recent version (as of approximately the release date of the LTS) did not conflict with the LTS. We ignored package upper version bounds, i.e., we used the --allow-newer flag with cabal. Build scripts are in /mit/ghc/src/git/lxc , which is version-controlled with Git. Builds took approximately a week, or two weeks if we also built the profiling libraries. But the profiling libraries are currently not installed because of insufficient space in the locker. Build logs are archived at /mit/ghc/current/build-logs.tar.lz . The workarea/ subdirectory used by the build scripts is archived at /mit/ghc/current/workarea.tar.lz . We locally patched over 1600 packages to get them to build with ghc 8.6.5. (Some patching attempts were not successful.) The patches were mainly to deal with cosmetic but backward-incompatible recent changes to the Haskell language and base libraries, for example, the Applicative Monad Proposal (AMP). Package patches are in their own git repository at /mit/ghc/src/package-patches . The hackage-bin locker, i.e., /mit/hackage-bin/bin , includes commonly used utilities for development in Haskell like cabal, stack, alex, happy, and haddock, as well as programs like pandoc which simply happened to be written in Haskell. Although hackage-bin contains an amd64_ubuntu1404 "arch" subdirectory (symlink to amd64_ubuntu1804), that subdirectory is only a hack to get the locker indexed by the whichlocker utility in the outland locker. The executables of hackage-bin require Ubuntu 18.04 and will not run on 14.04. LET THE USER BEWARE: We sought quantity over quality in choosing to install so many packages. Many of the libraries and executables may be terrible; it's possible some might even be malicious. The "--allow-newer" cabal flag, causing package version upper bounds to be ignored, used during building the packages in the locker, might have broken things. The patches of /mit/ghc/src/package-patches might have broken things. Source code for everything is available, at hackage.haskell.org and (if patched) in workarea.tar.lz . Questions, comments: send email to sipb-ghc@mit.edu or zephyr to -c sipb -i ghc .