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: