> For the complete documentation index, see [llms.txt](https://orasund.gitbook.io/elm-cookbook/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://orasund.gitbook.io/elm-cookbook/recipes-1.md).

# Recipes

- [Writing a Single Page Application](https://orasund.gitbook.io/elm-cookbook/recipes-1/writing-a-single-page-application.md)
- [Share state across pages](https://orasund.gitbook.io/elm-cookbook/recipes-1/writing-a-single-page-application/share-state-across-pages.md)
- [Debounced Validation](https://orasund.gitbook.io/elm-cookbook/recipes-1/writing-a-single-page-application/debounced-validation.md)
- [Reusable views](https://orasund.gitbook.io/elm-cookbook/recipes-1/writing-a-single-page-application/reusable-views.md)
- [Making impossible states Impossible](https://orasund.gitbook.io/elm-cookbook/recipes-1/making-impossible-states-impossible.md)
- [Non empty lists using Zippers](https://orasund.gitbook.io/elm-cookbook/recipes-1/making-impossible-states-impossible/non-empty-lists-using-zippers.md)
- [Restrict records using Opaque Types](https://orasund.gitbook.io/elm-cookbook/recipes-1/making-impossible-states-impossible/restrict-records-using-opaque-types.md)
- [Write safer functions using Phantom Types](https://orasund.gitbook.io/elm-cookbook/recipes-1/making-impossible-states-impossible/write-safer-functions-using-phantom-types.md)
- [Designing Elm package APIs](https://orasund.gitbook.io/elm-cookbook/recipes-1/designing-a-api.md)
- [Create upwards compatible APIs](https://orasund.gitbook.io/elm-cookbook/recipes-1/designing-a-api/create-upwards-compatible-apis.md)
- [Future topics](https://orasund.gitbook.io/elm-cookbook/recipes-1/future-topics.md)
