annotate paste/paste.14186 @ 3948:54bf9957439c
<oerjan> addquote <ion> olsner: For all x, the probability of a monad tutorial existing that explains monads as x approaches one as time goes to infinity. <boily> good monadic morning! <ion> Monads are a bit like mornings. <myname> what
author |
HackBot |
date |
Mon, 28 Oct 2013 15:43:46 +0000 |
parents |
e037173e0012 |
children |
|
rev |
line source |
0
|
1 import System.Environment
|
|
2 import System.Process
|
|
3 import System.Exit
|
|
4 import Control.Monad
|
|
5 import Control.Applicative
|
|
6 import Data.List
|
|
7
|
|
8 main = do
|
|
9 r <- buildRegex . permuteArgs <$> getArgs
|
|
10 (_, _, _, h) <- createProcess (proc "/hackenv/bin/log" [r])
|
|
11 exitWith <$> waitForProcess h
|
|
12 where
|
|
13 permuteArgs = permutations . join . map words
|
|
14 buildRegex = oBrackets . intercalate ".*" . map (iBrackets . intercalate "|")
|
|
15 iBrackets s = "(?:" ++ s ++ ")"
|
|
16 oBrackets s = "^.*(?:" ++ s ++ ").*$"
|