httpaf
ocaml-opium-unikernel
Our great sponsors
httpaf | ocaml-opium-unikernel | |
---|---|---|
2 | 2 | |
533 | 10 | |
0.6% | - | |
0.0 | 0.0 | |
4 months ago | almost 4 years ago | |
OCaml | OCaml | |
GNU General Public License v3.0 or later | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
httpaf
- Parser Combinators in Haskell
-
The RustyHermit Unikernel: unikernel written in Rust
Thanks for chiming in!
Sadly cohttp is (or was) performing so bad that it is kind of at odds with using it on a unikernel.
This one is quite a bit faster:
ocaml-opium-unikernel
-
The road ahead for MirageOS in 2021
Yesterday I was made aware of this example of using a simple (Sinatra/Flask/Express-like) web framework on top of Mirage:
https://github.com/anuragsoni/ocaml-opium-unikernel/blob/mas...
If not mistaken one should be able to use ReasonML[1] as a language frontend with this as well, thereby bringing down the entry barrier.
-
The RustyHermit Unikernel: unikernel written in Rust
Lwt [1] based web frameworks can be used on MirageOS if they provide an interface that allows someone to swap out the unix dependent pieces. One such framework is Opium [2], that provides most of its features in a unix independent code library `opium_kernel`. Its fairly straightforward to run an opium app on mirage. This example needs to be updated to the newest apis in the released version of Opium but this can provide some hints about how to run an opium app on mirage: https://github.com/anuragsoni/ocaml-opium-unikernel.
If a lower level web toolkit is sufficient then ocaml's cohttp [3] library has been available on mirage for quite some time now.
[1] https://github.com/ocsigen/lwt/
What are some alternatives?
ocaml-cohttp - An OCaml library for HTTP clients and servers using Lwt or Async
ling - Erlang on Xen
dream - Tidy, feature-complete Web framework
paf-le-chien - Port of HTTP/AF & H2 with Mirage and mimic
assert-combinators - Functional assertion combinators.
pyparsing - Python library for creating PEG parsers
ocaml-h2 - An HTTP/2 implementation written in pure OCaml
attoparsec - A fast Haskell library for parsing ByteStrings
parser - String parser combinators
retro-httpaf-bench - Benchmarking environment for http servers