Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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.
- Host: GitHub
- URL: https://github.com/smichel17/yesod-perf-test
- Owner: smichel17
- Created: 2021-12-06T18:35:59.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2021-12-14T16:33:54.000Z (about 3 years ago)
- Last Synced: 2024-10-30T04:52:35.448Z (3 months ago)
- Topics: compile-time, developer-tools, haskell, profiling, yesod
- Language: Haskell
- Homepage:
- Size: 138 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
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.