Skip to content

Start coding section #208

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 11 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions site/start-coding.markdown
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
title: Start Coding Now
page: start-coding
isSetUp: true
---

## Install a development environment in three steps

A Haskell development environment consists of:

- a compiler (`ghc`)
- a language server (`hls`)
- a build tool (`cabal` and/or `stack`)
- an editor compatible with the language server protocol.

It is recommended to use `ghcup` to manage your haskell toolchain and `vscode` as your editor.

- **Step 1**: Install [GHCup](https://www.haskell.org/ghcup/). You'll be prompted to install some tools: Install `hls` and optionally `stack`. (`stack` users should [configure it properly](https://docs.haskellstack.org/en/stable/Stack_and_VS_Code/#workaround-1)).
- **Step 2**: Install [vscode](https://code.visualstudio.com/). For integration with other editors see `hls` [documentation](https://haskell-language-server.readthedocs.io/en/latest/configuration.html#configuring-your-editor)
- **Step 3**: Open `vscode` and install the [haskell extension](https://marketplace.visualstudio.com/items?itemName=haskell.haskell) either using the extension panel or pressing CTRL+P and `ext install haskell.haskell`.

## Try without installing Haskell

If you don't want to install the Haskell toolchain locally, you can:

- Try it in the [Haskell Playground](https://play-haskell.tomsmeding.com/)

- Use a complete visual studio code environment in Gitpod.

[![Open in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/#https://github.com/gitpod-io/template-haskell)

## Learn Haskell

Now you are ready to code. Pick up a learning resource from the [documentation page](/documentation/) and start to learn Haskell. Also, you may want to familiarize yourself with the build tool of your choice and the library ecosystem. Check out sections [Manuals and guides](/documentation/#manuals-and-guides) and [Library Documentation](/documentation/#library-documentation) for this purpose.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. The only reservation I have is that some of the guides linked there are a bit outdated and mention cabal sandboxes. I think we have more modern guides that could be used (1, 2) but that's not necessarily in the scope of this PR I think.

1 change: 1 addition & 0 deletions site/templates/nav.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
</div>
<div id="haskell-menu" class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<li $if(isSetUp)$ class="active" $endif$ ><a href="/start-coding/">Start Coding Now</a></li>
<li $if(isDownloads)$ class="active" $endif$ ><a href="/downloads/">Downloads</a></li>
<li $if(isCommunity)$ class="active" $endif$ ><a href="/community/">Community</a></li>
<li $if(isDocumentation)$ class="active" $endif$ ><a href="/documentation/">Documentation</a></li>
Expand Down