Open iluminite opened 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.
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
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.