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 encouraged.
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 question):
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.