Functional Programming

Functional Programming

Functional Programming

Apr 15, 2015

The future of School of Haskell and FP Haskell Center

The future of School of Haskell and FP Haskell Center

The future of School of Haskell and FP Haskell Center

Last month, we announced the open sourcing of

ide-backend, the engine underlying both School of Haskell and

FP Haskell Center. In this blog post, I'm going to lay out FP

Complete's plans for the future of both of those services, and our

overall commercial Haskell tooling.


tl;dr Open sourcing School of Haskell, releasing brand

new open source Stackage-based tooling, and merging the features of

FP Haskell Center into the other two offerings.


School of Haskell

School of Haskell has served as a foundational service for

interactive Haskell training, written in a collaborative way. In

our efforts to help increase adoption of Haskell, we've decided

that the best next step for the evolution of School of Haskell is

to fully open source it. Concretely, our plans are:


  • Open up a new code base for School of Haskell, under the auspices of the Commercial Haskell Special Interest Group

  • Host the site on its own dedicated domain name, https://www.schoolofhaskell.com/

  • Set up redirects as necessary

  • Make the content of School of Haskell much more open

    • Make the terms of use more open, likely moving towards a Creative Commons license

    • Make it easier to interact with the raw content of the school,

      possibly by storing the content in a Git repository that is

      publicly cloneable

    • Encourage collaborators on the code base to get new features in

      place (and see the FP Haskell Center discussion below for more

      information on this from us)

To be clear: FP Complete fully intends to continue maintaining

both the code base and the live servers. This move is intended to

allow others to contribute their own, wonderful new ideas to the

project.


Stackage-based Tooling

FP Complete started the Stackage project

about three years ago to address issues around library

compatibility and collaborative development on teams, and it has

been a resounding success. It's already the basis for School of

Haskell and FP Haskell Center, and with Stackage Server is fully available

to all users as an easy way to get sane package sets. We started

LTS Haskell at the beginning of this year, which has only increased that success further.


Today's Stackage project answers a lot of the demand for better

tooling, especially in the commercial realm. However, it doesn't

answer everything. Companies we work with need solutions for

everything from CI integration, to editor plugins, to deployment

solutions. FP Haskell Center answers some of these demands, but not

all of them. Over the past year, we've been working with our

customers to develop a commercial grade set of tools that solve

these problems more holistically, and we are happy with the

result.


Our new tooling is integrated tightly with Stackage, provides

improvements to some flaws in currently available tooling, and adds

in functionality not yet present at all in the open source world.

For example:


  • Distribution of binary package databases to your whole team, avoiding recompile time and ensuring consistent environments

  • Reliable rebuilding of all local packages with a single command

  • Built in documentation serving for your entire package set

  • Powerful code exploration features

We feel comfortable with the quality of the tooling to now take

it to the next step. So over the next few weeks, we will begin the

process of open sourcing all of this tooling to the Haskell

community. As we release components, we will be describing their

functionality, explaining expected use cases, and documenting

current shortcomings. But the short answer is: if you're working on

developing Haskell applications, this tooling is likely to make

your life significantly better.


FP Haskell Center

This leaves the question: what of FP Haskell Center? We

initially received a lot of requests from companies looking for a

web based IDE. However, over the past two years, we have seen that-

in reality- people were looking to solve two different use

cases:


  • For learners: an easy way to get started with learning Haskell

  • For application writers: a reliable set of tools for developing, building, and shipping software

After careful consideration, we believe that the two offerings

mentioned above- School of Haskell and Stackage-based tooling- are

the best way forward, and that continuing to push FP Haskell Center

as a development platform is not a good path forward. Instead, our

goals are to take the best that FP Haskell Center has to offer,

such as interactive type information, and make them available in

both School of Haskell and our commercial tooling.


At the end of the day, we'll be offering two very complementary

products: a hosted learning site for quickly getting up to speed

with Haskell, and commercial grade tooling for writing

software.


Timeline

The first concrete step on this path is going to be our

Stackage-based tooling work. We're hoping to get a first public

version out the door in short order. The following step is open

sourcing School of Haskell. Once that is fully done, we'll start

the discussions around FP Haskell Center. It is still a service

that many people use, and we have no intention of pulling the rug

out from under people. Our timeline their will likely be to:


  • leave FP Haskell Center running for quite a while

  • when School of Haskell and Stackage-based tooling become solid enough offerings to replace it, officially deprecate it

  • some time after that, stop offering FP Haskell Center as a separate service

We very much welcome community input on these plans. Let's kick off a discussion on Reddit.