I hereby claim:
- I am alexeyraga on github.
- I am alexeyraga (https://keybase.io/alexeyraga) on keybase.
- I have a public key ASAis1a3Gr1CpMTgz_q68t-MjHvmvAb4ufLbr67fdlRh0wo
To claim this, I am signing this object:
| // A Codec interface. Specific _CODECS_ (and not messages) | |
| // should be implementing this interface. | |
| public interface IMessageCodec<T> | |
| { | |
| string Encode(T value); | |
| T Decode(string value); | |
| } |
| name: Haskell | |
| defaults: | |
| run: | |
| shell: bash | |
| on: [push] | |
| jobs: | |
| build: |
| { | |
| "version": "2.0.0", | |
| "tasks": [ | |
| { | |
| "label": "Build", | |
| "type": "shell", | |
| "command": "bash", | |
| "args": ["-lc", "cabal new-build && echo 'Done'"], | |
| "group": { | |
| "kind": "build", |
| ---------------- Базовое ---------------------- | |
| type Число = Int | |
| type Строка = Text | |
| type Строчное = Show | |
| type ИО = IO | |
| type Сравнимое = Eq | |
| type Упорядоченное = Ord | |
| печатать :: Строчное значение => значение -> ИО () | |
| печатать = print |
I hereby claim:
To claim this, I am signing this object:
| with builtins; rec { | |
| cabalProjects = listToAttrs (if pathExists ./cabal.project | |
| then projectParse | |
| else [ { name = baseNameOf ./.; value = ./.; } ] ); | |
| projectParse = let | |
| contents = readFile ./cabal.project; | |
| trimmed = replaceStrings ["packages:" " "] ["" ""] contents; | |
| packages = filter (x: isString x && x != "") (split "\n" trimmed); | |
| package = p: substring 0 (stringLength p - 1) p; | |
| paths = map (p: let p' = package p; in { name = p'; value = toPath (./. + "/${p'}"); } ) packages; |
| class Monad m => NotificationQueue m where | |
| readNotifications :: m [Message] | |
| ackNotification :: Message -> m () | |
| class Repository m where | |
| readRules :: S3Location -> m (Maybe [Rule]) | |
| writePolicies :: S3Location -> [Policy] -> m (Maybe ETag) | |
| readSubmissions :: ( NotificationQueue m |
| #!/usr/bin/env stack | |
| {- stack | |
| --resolver lts-6.27 | |
| --install-ghc | |
| runghc | |
| --package containers | |
| -} | |
| {-# LANGUAGE ScopedTypeVariables #-} | |
| {-# LANGUAGE PolyKinds #-} | |
| {-# LANGUAGE DataKinds #-} |
| import GHC.IO.Handle (Handle, hGetLine) | |
| import GHC.IO.Handle.FD (stdout) | |
| import Network | |
| import Text.Printf | |
| main :: IO () | |
| main = withSocketsDo $ do | |
| listenSock <- listenOn $ PortNumber 9999 | |
| (listenHandle, clientHost, clientPort) <- accept listenSock |