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

https://github.com/purescript-hyper/hyper

Type-safe, statically checked composition of HTTP servers
https://github.com/purescript-hyper/hyper

functional-programming node purescript type-safe web

Last synced: 7 days ago
JSON representation

Type-safe, statically checked composition of HTTP servers

Awesome Lists containing this project

README

          



Hyper



Type-safe, statically checked composition of HTTP servers


Getting Started
| Documentation
| FAQ
| Examples


Hyper is an experimental middleware architecture for HTTP servers written in PureScript. Its main focus is correctness and type-safety, using type-level information to enforce correct composition and abstraction for web servers. The Hyper project is also a breeding ground for higher-level web server constructs, which tend to fall under the “framework” category.

To learn
more about Hyper, check out the [documentation](https://hyper.wickstrom.tech)
and [the Getting Started
tutorial](https://hyper.wickstrom.tech/docs/v0.8.0/tutorials/getting-started-with-hyper.html).


Build Status
purescript-hyper on Pursuit
Hyper in package-sets


## Development Setup

### Prerequisites

* PureScript 0.13.0 or higher
* NodeJS
* [Spago](https://github.com/spacchetti/spago)

### Build

Install dependencies and build:

```bash
spago build
```

### Run Tests

```bash
spago test
```

### Run Examples

```bash
# general format:
spago run -p examples/.purs -m Examples.

# for instance to run HelloHyper:
spago run -p examples/HelloHyper.purs -m Examples.HelloHyper
```

### Build All Examples

```bash
make examples
```

### Building Documentation

See [docs/README.md](docs/README.md) for prerequisites, setup, and
how to work with the documentation.

Then, for the release build, run:

```bash
make docs
```

## CodeScene Status

[![](https://codescene.io/projects/49/status.svg) Get more details at **codescene.io**.](https://codescene.io/projects/49/jobs/latest-successful/results)

## License

[Mozilla Public License Version 2.0](LICENSE)