Difference between revisions of "WaSh"

From HaskellWiki
Jump to navigation Jump to search
(Categorize)
(I was looking for the homepage earlier)
Line 1: Line 1:
 
[[Category:Tools]]
 
[[Category:Tools]]
  +
  +
[http://www.informatik.uni-freiburg.de/~thiemann/haskell/WASH/ Homepage]
  +
 
== Random Jottings on WASH ==
 
== Random Jottings on WASH ==
 
=== Hello world programme ===
 
=== Hello world programme ===

Revision as of 01:38, 12 February 2008


Homepage

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>

Compile with ghc -pgmF wash2hs -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'