CrowdHailer / raxx

Interface for HTTP webservers, frameworks and clients
https://hexdocs.pm/raxx
Apache License 2.0
401 stars 29 forks source link

Gleam #189

Open Pjino opened 4 years ago

Pjino commented 4 years ago

How about porting Raxx and Ace to Gleam? the BEAM is fantastic, Elixir has a lot of virtues, but the latest developments on LiveView, Phoenix and Elixir are not in the right (purist) direction and Gleam seems to be in the right direction and maturity state that would boom with Raxx/Ace and Vice-versa. Do you think it would be worth it from your side?

lpil commented 4 years ago

Personally I'd love to see Ace in Gleam or Erlang so I can use it in Gleam projects without the Elixir dependency. 😁

CrowdHailer commented 4 years ago

I'm probably not able to do this myself at the moment. I would however love to help someone who wants to try and do it.

Thinking about it some more, I would potentially go for writing Ace in erlang and Raxx in Gleam. Get a typed interface but a server that can be used anywhere in the bean ecosystem. Also, if I remember correctly @lpil, gleam doesn't yet help much with spawning and send/receive which is a lot of the Ace code.

lpil commented 4 years ago

Yes that's right. I think that may be the best approach for where we are now.

CrowdHailer commented 4 years ago

Maybe I should submit a talk proposal then it would have to be done.

lpil commented 4 years ago

I've previously had some success decompiling Elixir beam files into Erlang. It's a bit ugly and you need to replace all the calls to Elixir modules but it does the trick!

CrowdHailer commented 3 years ago

Forgot about this issue.

Raxx replacement is mostly handled by https://hexdocs.pm/gleam_http/, There is a cowboy adapter for gleam_http that would work as an ace substitute.

For a Gleam Server I started work on Lean https://github.com/midas-framework/midas/tree/master/src/midas/lean