1
1
mirror of https://github.com/qfpl/applied-fp-course.git synced 2024-11-23 11:54:36 +03:00

Level Readme Adjustments

I just found out about reference links in Markdown, this has the ability
to make the README markdown much easier to digest without losing the
nice ability to have hyperlinks directly in the documentation. But leaves
the text easier to digest for people that are not reading it through a
_Markdown prism.
This commit is contained in:
Sean Chalmers 2017-09-04 10:02:55 +10:00
parent 05d9ce923d
commit 2f20e0736c
3 changed files with 21 additions and 19 deletions

View File

@ -1,9 +1,10 @@
# Level 01 # Level 01
The purpose of this exercise to whet our appetite a bit by spinning up an ultra The purpose of this exercise to whet our appetite a bit by spinning up an ultra
basic web app. The focus will be on reading basic web app. The focus will be on reading the [Hackage] documentation for the
the [Hackage](https://hackage.haskell.org/) documentation for [Wai] framework. Consult the ``src/FirstApp/Main.hs`` to see the parts that are
the [Wai](https://hackage.haskell.org/package/wai) framework. Consult the missing and what we need from the [Wai] package to make our "Hello, World!"
``src/FirstApp/Main.hs`` to see the parts that are missing and what we need from application run.
the [Wai](https://hackage.haskell.org/package/wai) package to make our "Hello,
World!" application run. [Hackage]: (https://hackage.haskell.org/)
[Wai]: (https://hackage.haskell.org/package/wai)

View File

@ -5,14 +5,14 @@ structures, and how we can then use those data structures to guide construction.
By using these data structures we provide a mechanism for utilising the compiler By using these data structures we provide a mechanism for utilising the compiler
as a pair programmer. It will inform us when we've forgotten to handle a given as a pair programmer. It will inform us when we've forgotten to handle a given
path, tried to use information we don't have access to, or haven't validated path, tried to use information we don't have access to, or haven't validated our
our inputs sufficiently. inputs sufficiently.
First, to build this application we're going to need some requirements: First, to build this application we're going to need some requirements:
### Requirements ### Requirements "We have a WebThing(TM) somewhere and we would like, for some
"We have a WebThing(TM) somewhere and we would like, for some unknown reason, to unknown reason, to be able to add comments to various topics on this
be able to add comments to various topics on this WebThing(TM)." WebThing(TM)."
Let's pretend we've completed a dozen specification meetings with our Project Let's pretend we've completed a dozen specification meetings with our Project
Manager, resulting in the specification below: Manager, resulting in the specification below:

View File

@ -11,18 +11,15 @@ As is to be expected, there are multiple testing frameworks and packages
available but we will only cover one here. Chosen partly due to its possible available but we will only cover one here. Chosen partly due to its possible
familiarity. familiarity.
We will use the [HSpec](http://hspec.github.io/) framework, with We will use the [HSpec] framework, with the [hspec-wai] package to make our
the [hspec-wai](https://hackage.haskell.org/package/hspec-wai) package to make lives a bit easier.
our lives a bit easier.
### Tool Introduction: GHCID ### Tool Introduction: GHCID
Additionally we'd like to introduce a command line tool that we find quite Additionally we'd like to introduce a command line tool that we find quite
useful for Haskell development; [ghcid](https://github.com/ndmitchell/ghcid). useful for Haskell development; [ghcid]. This is a very lightweight tool that
This is a very lightweight tool that works for any project with a functioning works for any project with a functioning cabal setup. In an spare open terminal
cabal setup. In an spare open terminal window, navigate to the project root of window, navigate to the project root of the Haskell project and run ``$ ghcid``.
the Haskell project and run ``$ ghcid``.
It will then attempt to build your project, if errors are found they will be It will then attempt to build your project, if errors are found they will be
displayed. But more importantly you can go back to editing files in the project displayed. But more importantly you can go back to editing files in the project
@ -34,3 +31,7 @@ process with constant feedback about your changes. It is very useful in tandem
with type holes. Give it a try! with type holes. Give it a try!
Start in ``tests/Test.hs``. Start in ``tests/Test.hs``.
[HSpec]: (http://hspec.github.io/)
[hspec-wai]: (https://hackage.haskell.org/package/hspec-wai)
[ghcid]: (https://github.com/ndmitchell/ghcid)