The FP Complete School of Haskell has been officially released
to public. The beta has already been available for some time, so no
big surprise there. The response from thousands of beta testers has
been very positive, often enthusiastic, so we feel very
Who Is It For?
Our goal is to build a self-sustaining ecosystem supported by
the community. A place where users can create, test, and publish
their own Haskell content. A place where users can come to find --
and play with -- Haskell content that is of interest to them. We
have seeded the system with some beginner courses to attract
non-Haskellers. They should feel as welcome as professional Haskell
programmers and the gurus.
We have not one but two courses for beginners. One is based on
Brent Yorgey's lecture series at the University of Pensylvania. The
other is being written by me. Try both of them and decide which one
suits your style of learning better. Neither course is complete at
this moment -- new installments will keep arriving at semi-regular
intervals. Chad Scherrer, who joined us recently, is in charge of
moderating and curating the content.
What makes learning Haskell through our school so attractive is
the interactive content. Students can immediately run program
snippets embedded in tutorials. They can edit them in place, solve
exercises, even use the scratchpad to write their own programs.
There is absolutely no barrier to entry, no tedious installation of
software. Everything the student needs is available through a
standard web browser.
Just like this (click the arrow button and answer the
main = do
putStrLn "What's your name?"
name <- getLine
putStrLn $ "Welcome, " ++ name ++ ", to the School of Haskell!"
Creating Active Content
Every user can create content on their own page. You get your
page by creating a free account. You can put there your own
articles, tutorials, or documentation and link them from your
blogs, web sites, reddit, or just send links to your friends. We
have an automated list of recently published content on the main
page. If you created a real gem, submit it to editors at
fpcomplete.com and we'll consider it for our Pick of the Week or
even give it a permanent spot on the school page.
You may also treat your page as an enhanced blog where Haskell
code comes to life.
If you teach Haskell at a university, you might want to post the
course materials so your students, and other members of the public,
can learn and interact with them.
Teaching a beginners' class to your coworkers? You can let them
access your materials and exercises through the School from their
laptops without the need to pre-install any software.
You can learn more about how to use and create content by
reading a few short tutorials in the How to Use the School of
Haskell group on the home page.
There are many more features we would like to add to the School
of Haskell, including social aspects, better support for blogs,
incremental program buildup, and so on. All these improvements are
in the pipeline. However our main thrust is to create a
professional online Haskell development environment. A lot
of the features you see in the School are there because we've been
experimenting with various aspects of web development: editing and
storing content, server side compilation, running programs in their
sandboxes, and many more. Watch this space for more news.
Do you like this blog post and need help with DevOps, Rust or functional programming? Contact us.