wai-conduit
scotty
Our great sponsors
wai-conduit | scotty | |
---|---|---|
10 | 19 | |
814 | 1,687 | |
1.0% | 0.8% | |
8.9 | 8.0 | |
about 1 month ago | 7 days ago | |
Haskell | Haskell | |
MIT License | BSD 3-clause "New" or "Revised" License |
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.
wai-conduit
-
Crypton is forked from cryptonite with the original authors permission
found some context https://github.com/yesodweb/wai/pull/931
-
Rust's Poor Composability
Yes. Not because of the developer, but because of how extremely flexible and dynamic the Lisp-family languages are. The power and joy of Lisp is in how it's almost a meta-language, so every project can become its own EDSL. The most famous (infamous?) example of this is Vacietis[2], which is a Common Lisp library that allows C code to be imported directly(!!).
[0] IIRC the Yesod framework's Warp does well on benchmarks, and when you look at code like https://github.com/yesodweb/wai/blob/master/warp/Network/Wai... you can see the lengths they had to go through to work around the choice of implementation language.
[1] Go has a garbage collector, but exposes the stack/heap distinction more directly than Haskell, so it's easier to write allocation-free code in hot paths.
-
I replaced all our blog thumbnails using DALL·E 2 for $45: here’s what I learned
I switched backends a bunch of times because everything I tried (Go stdlib HTTP, Tornado, etc.) kept getting taken out whenever I would hit the front page, either due to CPU overload or some sort of resource leak. I ended up using Warp+Wai+Servant (https://github.com/yesodweb/wai) and it has been smooth sailing since then off my $3/mo VPS. It can take thousands of req/sec without flinching (which is higher than what you see from top of HN - that maxes out at a few hundred req/s).
My $3/mo vultr box can handle HN loads easily when using a fast backend (I've settled on https://github.com/yesodweb/wai based apps - the only thing that has worked well for me so far).
-
[ANNOUNCE] GHC 9.2.2 is now available!
What kind of metrics do you derive "ton of stuff" from? It seems like the largest blocker is Cryptonite. It's unreasonable to let a handful of packages keep back Nightly. You can now run Warp without it. How does your list of essential blockers for 9.2 look like?
- List of upcoming breaking changes
-
simple backend like express or oak in js world
Is this the correct repo? https://github.com/yesodweb/wai
No, Wai is the common abstraction, sort of like connect. Warp is one (only AFAIK) server implementation of it. Both Wai and Warp are developed along side with Yesod, you can find their source code here https://github.com/yesodweb/wai
-
Beginner friendly Haskell Open Source projects?
WAI
scotty
-
haskell todo list app (beginner)
I would suggest checking out scotty for the http server - it uses warp by default, and is very beginner-friendly.
-
HLS issues an error for Setup.hs and Spec.hs (using hspec-discover)
Here's the current commit I'm working with: https://github.com/scotty-web/scotty/commit/3ed8586c046b46dc42740e8ac2e7fe712e84191d
-
School of Haskell: Basics
If you're not a fan of the ruby-on-rails / swiss army knife approach that IHP takes, check out Scotty. Add Lucid for Html rendering, and Selda for Postgres. (There are other options for any of these tools if you prefer)
- Scotty (simple web routing) https://hackage.haskell.org/package/scotty
- Programming language comparison by reimplementing the same transit data app
-
Suggestions for "dashboard" graphics libraries?
I've found htmx and hyperscript talking to scotty to be an easy way to get something like this going while retaining the joys of Haskell on the backend and avoiding the pains of Haskell on the frontend.
-
Web development in Haskell
Finally, to add my opinion in the context of some other posts: I'd suggest Scotty (and probably other libraries I'm less familiar with) before Servant in particular, as Servant is a lot to absorb if you're also trying to build fluency in Haskell at the same time. Similarly, I'd advocate for Elmish (disclaimer, it's written by (very talented programmers other than myself at) my company) over Halogen, at least based on the last time I tried Halogen--I found it pretty complex as well. Don't get me wrong, I think Servant and Halogen are both great, just...complex.
-
Building a REST API with Haskell
This is an example of REST API built with Scotty a web framework of Haskell and PostgreSQL a relational database. It's a simple API to manage products.
-
Options for a frontend of demo for a toy app
Not that I'm much of an expert, but if you're talking about a very barebones static single-page-app, then you could very easily get by just using blaze-html to put your elements on the page, and then scotty is a basic web framework you could use to serve up your app.
-
Minimal web framework (ie. "flask for haskell")
For small web projects I always used scotty in combination with some html library like blaze for example.
Snap (http://snapframework.com/) and Scotty (https://hackage.haskell.org/package/scotty) are both projects that can fit this description.
What are some alternatives?
lucid - Clear to write, read and edit DSL for writing HTML
reroute - Another Haskell web framework for rapid development
json - Haskell JSON library
scotty-tls - Run your Scotty apps over TLS
scotty-session - Adding session functionality to scotty
fluid - 🐙 Code-generated, Auto-versioned, & Smart Web APIs
haskyapi - Haskell HTTP server.
Spock-worker - Background workers for Spock
attoparsec-conduit - A streaming data library
rails-session - Decrypt Ruby on Rails sessions in Haskell
ssh-tunnel - Haskell library for creation of SSH tunnel (SOCKS proxy)
tar-conduit - Conduit based tar extraction mechanism