unbit / uwsgi

uWSGI application server container
http://projects.unbit.it/uwsgi
Other
3.46k stars 691 forks source link

running haskell through uwsgi #396

Open iluminite opened 11 years ago

iluminite commented 11 years ago

Running haskell on the web is similar to python/ruby/etc:

http://www.haskell.org/haskellwiki/Web/Servers http://www.haskell.org/haskellwiki/Web/Deploy

it would be really awesome to be able to run haskell webapps through uwsgi like everything else, though I am not sure of its feasibility or complexity.

yihuang commented 11 years ago

Since ghc has it's own thread scheduler which can use multiple core, i guess you better run it as stand alone process, and setup reverse proxy for it.

unbit commented 11 years ago

There are really dozens of things to look at (i am still a total newbie in haskell). The warp server seems the most "avanced" WAI server out there, but it is way behind uWSGI so having a haskell runtime (+native wai support) could be really interesting.

Main problems are:

1) linking ghc -generated object files with gcc/clang ones using a standard linker (and not ghc --make) 2) deal with the variois WAI standards (they changed the specs lot of times) 3) integration with pthreads (http://www.haskell.org/haskellwiki/Concurrency)

While interesting things:

1) investigate the GHC module to compile .hs files at runtime 2) building apps as shared libraries and load them in uWSGI 3) having the app importing a "UWSGI" module exposing a "run" function invoking libuwsgi.so