Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/smichel17/yesod-perf-test

Experiment with improving the development experience in Yesod— primarily, speeding up incremental compilation for frontend changes.
https://github.com/smichel17/yesod-perf-test

compile-time developer-tools haskell profiling yesod

Last synced: about 1 month ago
JSON representation

Experiment with improving the development experience in Yesod— primarily, speeding up incremental compilation for frontend changes.

Awesome Lists containing this project

README

        

# Yesod-perf-test

The purpose of this repository is to experiment with improving the development experience in Yesod— primarily, speeding up incremental compilation for frontend changes —starting from the stock scaffolding generated with `stack new yesod-perf-test yesodweb/postgres`.

The README from that scaffolding is below.

---

## Database Setup

After installing Postgres, run:

```
createuser yesod-perf-test --pwprompt --superuser
# Enter password yesod-perf-test when prompted
createdb yesod-perf-test
createdb yesod-perf-test_test
```

## Haskell Setup

1. If you haven't already, [install Stack](https://haskell-lang.org/get-started)
* On POSIX systems, this is usually `curl -sSL https://get.haskellstack.org/ | sh`
2. Install the `yesod` command line tool: `stack install yesod-bin --install-ghc`
3. Build libraries: `stack build`

If you have trouble, refer to the [Yesod Quickstart guide](https://www.yesodweb.com/page/quickstart) for additional detail.

## Development

Start a development server with:

```
stack exec -- yesod devel
```

As your code changes, your site will be automatically recompiled and redeployed to localhost.

## Tests

```
stack test --flag yesod-perf-test:library-only --flag yesod-perf-test:dev
```

(Because `yesod devel` passes the `library-only` and `dev` flags, matching those flags means you don't need to recompile between tests and development, and it disables optimization to speed up your test compile times).

## Documentation

* Read the [Yesod Book](https://www.yesodweb.com/book) online for free
* Check [Stackage](http://stackage.org/) for documentation on the packages in your LTS Haskell version, or [search it using Hoogle](https://www.stackage.org/lts/hoogle?q=). Tip: Your LTS version is in your `stack.yaml` file.
* For local documentation, use:
* `stack haddock --open` to generate Haddock documentation for your dependencies, and open that documentation in a browser
* `stack hoogle ` to generate a Hoogle database and search for your query
* The [Yesod cookbook](https://github.com/yesodweb/yesod-cookbook) has sample code for various needs

## Getting Help

* Ask questions on [Stack Overflow, using the Yesod or Haskell tags](https://stackoverflow.com/questions/tagged/yesod+haskell)
* Ask the [Yesod Google Group](https://groups.google.com/forum/#!forum/yesodweb)
* There are several chatrooms you can ask for help:
* For IRC, try Freenode#yesod and Freenode#haskell
* [Functional Programming Slack](https://fpchat-invite.herokuapp.com/), in the #haskell, #haskell-beginners, or #yesod channels.