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.
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.
Subscribe to our blog via email
Email subscriptions come from our Atom feed and are handled by Blogtrottr. You will only receive notifications of blog posts, and can unsubscribe any time.
Do you like this blog post and need help with Next Generation Software Engineering, Platform Engineering or Blockchain & Smart Contracts? Contact us.