November 03 2016
The following changes have been made since September:
September 14 2016
The biggest update to the site is the addition of three new targeted "next steps" tutorials on the get started page for using Stack, aimed at Play (using the REPL), Script (single-file programs), and Build (full projects). Hopefully this will help people with different goals all get started with Haskell quickly.
In addition, we have included a few new tutorials:
Plus a few other minor edits throughout the site.
The complete diff can be found here.
August 01 2016
Intero was made public in the start of June. Here's a rundown of the changes made since then:
--no-buildto stack; leading to build all the dependencies and then starting. This leads to a nice workflow of adding a package to the
.cabalfile and hitting
M-x intero-targets) using the multi-switch view, like this. Saves you having to remember your targets and the syntax for specifying them.
C-uprefix so that it pops up an options list on how to start the REPL.
intero-toggle-debug(#79, #151), good for debugging issues with Intero.
C-c C-zto switch to and from the REPL.
a suggestions system. When
C-c C-r, you get a list of suggestions that you can
check and then apply with
Automatically add extensions when GHC suggests them. Example:
Can't make a derived instance of ‘Functor X’: You need DeriveFunctor to derive an instance for this class Try GeneralizedNewtypeDeriving for GHC's newtype-deriving extension In the newtype declaration for ‘X’
Automatically remove redundant imports. Example:
The import of ‘Control.Monad’ is redundant except perhaps to import instances from ‘Control.Monad’ To import instances alone, use: import Control.Monad()... (intero)
Fix typos. Example:
Not in scope: ‘putStrn’ Perhaps you meant one of these: ‘putStr’ (imported from Prelude), ‘putStrLn’ (imported from Prelude)
Adding top-level type signatures. Example:
Top-level binding with no type signature: main :: IO ()
Removing redundant class constraints. Example:
Redundant constraints: (Arith var, Bitwise var)
July 27 2016
Since July we've made a number of updates, mostly content. Here's a rundown:
The complete diff can be found here.
July 06 2016
By the haskell-lang.org team: Chris Done, Chris Allen, Julie Moronuki, Michael Snoyman, Sibi Prabakaran, Gabriel Gonzalez
We are happy to announce the launch of a new Haskell community nexus site: http://haskell-lang.org/. This website is aimed at providing modern best practices information for the Haskell programming language, and in particular with providing the best possible new user experience. The aim is to lower the barrier to getting started with Haskell, and ultimately increase adoption of Haskell in the greater programming community.
The launch of this website is paired with the launch of a number of additional community resources to aid its growth:
#haskell-langIRC channel on Freenode
These community resources are open to all to discuss the contents of the website, and more broadly how to make Haskell as welcoming a language, community, and ecosystem as can be managed. We encourage all Haskellers to join, and to take part in lively discussions of how to improve the state of the art within Haskell.
As this community is just forming, now is the perfect time to get involved. Post questions and comments on Reddit, Tweet to us, send pull requests for the website, and open issues. This community will become what you put into it, so help shape it from the beginning!
Since it is a common question in such statements, let us ask it directly here: why create a new website instead of working to incrementally update haskell.org? In the opinion of the team behind haskell-lang.org, the tooling story and general ecosystem infrastructure for the Haskell community has accumulated enough baggage that a clean break is the best use of everybody's time. We intend to streamline the on-boarding process for new developers, move away from infrastructure that is showing its age, and embrace newer approaches to facilitate open collaboration. Similar decisions have already been made in creating the Stack build tool and Stackage.