Difference between revisions of "WaSh"
Jump to navigation
Jump to search
JonFairbairn (talk | contribs) m (Random jottings on WASH) |
JonFairbairn (talk | contribs) |
||
Line 1: | Line 1: | ||
== Random Jottings on WASH == |
== Random Jottings on WASH == |
||
+ | === Hello world programme === |
||
+ | from [http://www.informatik.uni-freiburg.de/~thiemann/WASH/user-manual.pdf draft user manual], tweaked to work with [http://www.informatik.uni-freiburg.de/~thiemann/WASH/WashNGo-2.10.tgz version 2.10 of 20061206] |
||
+ | |||
+ | <haskell> |
||
+ | module Main where |
||
+ | import WASH.CGI.CGI hiding (div, head, map, span) |
||
+ | main = |
||
+ | run mainCGI |
||
+ | |||
+ | mainCGI = |
||
+ | ask <html> |
||
+ | <head><title>Hello World</title></head> |
||
+ | <body> |
||
+ | <h1>Hello World</h1> |
||
+ | </body> |
||
+ | </html> |
||
+ | |||
+ | </haskell> |
||
+ | |||
+ | Though I can't see how to get <code>ghc -package WashNGo --make Main</code> to preprocess |
||
+ | automatically — if you put the above in <code>Main.wash</code> then <code>wash2hs Main.wash</code>, you can then <code>ghc -package WashNGo --make Main</code>. |
||
+ | |||
+ | |||
=== SELinux === |
=== SELinux === |
||
To run ghc-compiled WASH CGI on Fedora (Core 6) you need to build an SELinux policy that allows CGI scripts to execute memory (because ghc runtime system execs mem). |
To run ghc-compiled WASH CGI on Fedora (Core 6) you need to build an SELinux policy that allows CGI scripts to execute memory (because ghc runtime system execs mem). |
Revision as of 11:26, 21 March 2007
Random Jottings on WASH
Hello world programme
from draft user manual, tweaked to work with version 2.10 of 20061206
module Main where
import WASH.CGI.CGI hiding (div, head, map, span)
main =
run mainCGI
mainCGI =
ask <html>
<head><title>Hello World</title></head>
<body>
<h1>Hello World</h1>
</body>
</html>
Though I can't see how to get ghc -package WashNGo --make Main
to preprocess
automatically — if you put the above in Main.wash
then wash2hs Main.wash
, you can then ghc -package WashNGo --make Main
.
SELinux
To run ghc-compiled WASH CGI on Fedora (Core 6) you need to build an SELinux policy that allows CGI scripts to execute memory (because ghc runtime system execs mem).
cat <<EOF > local.te module local 1.0; require { class process execmem; type httpd_sys_script_t; role system_r; }; allow httpd_sys_script_t self:process execmem; EOF checkmodule -M -m -o local.mod local.te semodule_package -o local.pp -m local.mod su -c 'semodule -i local.pp'