SHARE
TWEET

A webserver in ASCII Art

a guest Jun 19th, 2010 25,709 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.         {import
  2.       IO;   import
  3.                Network;
  4.                   main=
  5.                     do{so
  6.                       <-lo$
  7.                         8000;
  8.                          al$so
  9.                           ;};al
  10.                            so=do{
  11.                            (h,_,_)
  12.                           <-accept$
  13.                         so;hr$h;al$so
  14.                        ;};r=replicate;c
  15.                      =concat;sl=cm$g;cm
  16.                    =concatMap;lo=listenOn.
  17.                   PortNumber;s=' ';l1=sl$[(36
  18.                  ,s),(4,'~')];g    (n,ch)=(r$
  19.                 n)$ch;l2=sl$[       (33,s),(
  20.                 10,'~')];hr          h=do{(hps
  21.                $h)$("HTTP"            ++"/1.1"
  22.               ++[s]++"200"             ++[s]++
  23.              "OK\r\n\r\n"               ++b);hc$h;
  24.             };b="<!doct"                 ++"ype"++
  25.            [s]++"html>"                   ++"<pre>"
  26.           ++a++"</pre>"                    ;l3=sl$[(
  27.          31,s),(1,'~')                      ,(12,'o')
  28.         ,(1,'~')];l4=                        sl$[(30,s
  29.        ),(6,'~'),(4,                          'o'),(6,
  30.        '~')];l5=sl$                            [(29,s),(
  31.       18,'~')];l6=                              sl$[(28,s)
  32.      ,(20,'~')];l7                               st=((r$27)
  33.     $s)++(c$((r$11                                )$st));l8=
  34.    sl$[(27,s),(22,                                 'X')];l9=((r       26)$s)
  35.   ++"(X"++(c$((r                                    $10)$"\\/"))        ++"X)"
  36.   ;hps=hPutStr;                                       hc=hClose;       t=[l1,
  37.  l2,l3,l4,l5,                                          l6];a=(cm$(++"\n"))$
  38. (t++[l7$"/\\"                                            ,l8,l9,l8,l7$"\\/"
  39.                                                            ]++(reverse$t))}
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top