Chris Conlan

Financial Data Scientist

  • About
  • Blog
    • Business Management
    • Programming with Python
    • Programming with R
    • Automated Trading
    • 3D Technology and Virtual Reality
  • Books
    • The Financial Data Playbook
    • Fast Python
    • Algorithmic Trading with Python
    • The Blender Python API
    • Automated Trading with R
  • Snippets

The Haskell Stack Ecosystem in 30 Seconds Or Less

June 25, 2018 By Chris Conlan Leave a Comment

While I am not an avid Haskell developer, there are some useful software suites (e.g. Pandoc) that are built on it. When managing dependencies for a distributed cloud environment, it is important to have a secure and replicable means of installing Haskell packages with tons of dependencies. So, I went about investigating the relationships between the various organizational players in the Haskell community. Here is my take.

What is Haskell?

Haskell is a functional programming language. Most people know that.

  • Haskell is a language specification.
  • The Glasgow Haskell Compiler (GHC) is the most popular compiler. You would be hard pressed to find another.
  • GHC is developed and maintained by a (mostly unaffiliated) group of open-source developers.

What About Package Managers?

This is where is gets hairy. Everything is Free Open Source Software (FOSS), but there is some corporate interest.

  • Cabal is a package specification developed and maintained by the core Haskell group.
  • The Hackage repository is a huge repository of open-source libraries for Haskell, managed by the core Haskell group.
  • The Stackage repository is a compatibility-tested repository of Hackage packages managed by FPComplete, a private company.
  • If you manage packages in Haskell, you’ll probably end up using Stack.
  • The Commercial Haskell Group is a group of people and organizations that manage Stack.
  • FPComplete, is a (huge) part of the Commercial Haskell Group and the main driver of Stack, which relies primarily on Stackage, which is run by FPComplete.

If it isn’t already apparent, these tools all encapsulate one another.

What Do I Do With This Information?

Most packages will recommend you use any of the above methods or tools for installing Haskell software (e.g. Pandoc). I recommend you don’t waste your time and do the following. Except for extremely specific cases, the below guidelines will get your Haskell tool installed as soon as possible.

  1. Use Stack as a non-root user.
  2. Trust FPComplete and its mirrors.
  3. Ask reddit.com/r/haskell for help if you get stuck. They have a great community over there.

Filed Under: Snippets

Leave a Reply Cancel reply

Fast Python: Master the Basics to Write Faster Code

Fast Python: Master the Basics to Write Faster Code

Available for purchase at Amazon.com.

Featured Posts: Python Programming

Pulling All Sorts of Financial Data in Python [Updated for 2021]

When to Use Heap Sort to Speed Up your Python Code

Fastest Way to Flatten a List in Python

Topics

  • 3D Technology and Virtual Reality (8)
  • Automated Trading (9)
  • Business Management (9)
  • Chris Conlan Blog (5)
  • Computer Vision (2)
  • Programming with Python (16)
  • Programming with R (6)
  • Snippets (8)
  • Email
  • LinkedIn
  • RSS
  • YouTube

Copyright © 2022 · Enterprise Pro Theme On Log in