hpastetwo
recent
new
New Revision
import List import Data.List import Numeric import Control.Concurrent import System.IO import System.Environment import System.Posix.Process data ParsedEntity = ParsedEntity { delay :: Int, binary :: String, args :: [String] } deriving (Show, Eq) instance Ord ParsedEntity where compare x y | delay x == delay y = EQ | delay x < delay y = LT | otherwise = GT main = getArgs >>= handleArgs where handleArgs (name:_) = do inh <- openFile name ReadMode contents <- hGetContents inh let entities = parseContents contents print entities processEntities entities hClose inh handleArgs _ = putStrLn "Incorrect args format" processEntities = mapM processEntity where processEntity e = do threadDelay $ 1000000 * delay e putStrLn $ "Running " ++ binary e ++ " with arguments " ++ show (args e) forkProcess $ executeFile (binary e) False (args e) Nothing parseContents = snd . sequenize . buildSorted where sequenize = foldl' f (0, []) where f (acc, xs) e = (delay e, xs ++ [(ParsedEntity (delay e - acc) (binary e) (args e))]) buildSorted = sort . map parseLine . lines where parseLine line = ParsedEntity (fst rd) (head (words (snd rd))) (tail (words (snd rd))) where rd = head $ readDec line
author
title
language
ActionScript
ActionScript 3
ApacheConf
AppleScript
BBCode
Bash
Batchfile
Befunge
Boo
Brainfuck
C
C#
C++
CSS
CSS+Django/Jinja
CSS+Genshi Text
CSS+Mako
CSS+Myghty
CSS+PHP
CSS+Ruby
CSS+Smarty
Cheetah
Clojure
Common Lisp
D
Darcs Patch
Debian Control file
Debian Sourcelist
Delphi
Diff
Django/Jinja
Dylan
ERB
Erlang
Fortran
GAS
Genshi
Genshi Text
Gettext Catalog
Gnuplot
Groff
HTML
HTML+Cheetah
HTML+Django/Jinja
HTML+Genshi
HTML+Mako
HTML+Myghty
HTML+PHP
HTML+Smarty
Haskell
INI
IRC logs
Io
Java
Java Server Page
JavaScript
JavaScript+Cheetah
JavaScript+Django/Jinja
JavaScript+Genshi Text
JavaScript+Mako
JavaScript+Myghty
JavaScript+PHP
JavaScript+Ruby
JavaScript+Smarty
LLVM
Lighttpd configuration file
Literate Haskell
Logtalk
Lua
MOOCode
Makefile
Makefile
Mako
Matlab
Matlab session
MiniD
MoinMoin/Trac Wiki markup
MuPAD
MySQL
Myghty
NASM
Nginx configuration file
NumPy
OCaml
Objective-C
PHP
POVRay
Perl
Python
Python 3
Python 3.0 Traceback
Python Traceback
Python console session
RHTML
Raw token data
Redcode
Ruby
Ruby irb session
S
SQL
Scala
Scheme
Smalltalk
Smarty
SquidConf
Tcl
Tcsh
TeX
Text only
VB.net
VimL
XML
XML+Cheetah
XML+Django/Jinja
XML+Mako
XML+Myghty
XML+PHP
XML+Ruby
XML+Smarty
XSLT
YAML
c-objdump
cpp-objdump
d-objdump
objdump
reStructuredText
sqlite3con
channel
none