spellcast - a game of duelling wizards
spellcast remotedisplay [ remotedisplay ... ]
One game window will appear on the default display (determined by the contents of the DISPLAY environment variable.) The second will appear on
| ply | |
| format ascii 1.0 | |
| element vertex 36 | |
| property float x | |
| property float y | |
| property float z | |
| property float nx | |
| property float ny | |
| property float nz | |
| property float intensity |
$ curl https://nixos.org/nix/install | sh
| -- code based on https://www.youtube.com/watch?v=umiUJNcvPl0 | |
| data Command : Type -> Type where | |
| PutStr : String -> Command () | |
| GetStr : Command String | |
| data InfIO : Type where | |
| Do : Command a -> (a -> Inf InfIO) -> InfIO | |
| (>>=) : Command a -> (a -> Inf InfIO) -> InfIO |
| compiler: ghc-8.2.0.20170507 | |
| compiler-check: match-exact | |
| resolver: lts-8.13 | |
| setup-info: | |
| ghc: | |
| linux64: | |
| 8.2.0.20170507: | |
| url: https://downloads.haskell.org/~ghc/8.2.1-rc2/ghc-8.2.0.20170507-x86_64-deb8-linux.tar.xz | |
| content-length: 141011788 | |
| sha1: ff886437c1d2ddfa5686d6c9efb0819a957c3dde |
| {-# LANGUAGE DataKinds, PolyKinds, TypeOperators #-} | |
| {-# LANGUAGE TypeFamilies, FlexibleInstances, ScopedTypeVariables #-} | |
| {-# LANGUAGE InstanceSigs #-} | |
| module TinyServant where | |
| import Control.Applicative | |
| import GHC.TypeLits | |
| import Text.Read | |
| import Data.Time |
| {-# Language ForeignFunctionInterface #-} | |
| {-# Language OverloadedStrings #-} | |
| module Main where | |
| import Text.Pandoc | |
| import GHCJS.Marshal | |
| import GHCJS.Foreign.Callback | |
| import JavaScript.Object |
| {-# LANGUAGE LambdaCase #-} | |
| import Graphics.HsExif (parseFileExif, getGpsLatitudeLongitude) | |
| import System.Environment (getArgs) | |
| import System.FilePath (takeFileName) | |
| import System.IO (hPutStrLn, stderr) | |
| import Data.List (intercalate) | |
| printGeoLine :: FilePath -> IO () | |
| printGeoLine filename = do |
| import qualified Data.DList as DL | |
| import Control.Monad (forever) | |
| base62Encode :: Integer -> String | |
| base62Encode = map ((base62Alphabet!!) . fromIntegral) . DL.toList . digits | |
| where base62Alphabet = ['0'..'9'] ++ ['A'..'Z'] ++ ['a'..'z'] | |
| digits n | n < 62 = DL.singleton n | |
| | otherwise = digits (n `div` 62) `DL.snoc` (n `mod` 62) | |
| readUuid :: String -> Integer |
I hereby claim:
To claim this, I am signing this object: