Skip to content

Instantly share code, notes, and snippets.

View alogic0's full-sized avatar

Oleg Tsybulskyi alogic0

  • Odessa, Ukraine
View GitHub Profile
@alogic0
alogic0 / стихи.txt
Created December 6, 2016 19:00
стихи
когда пришёл, угомонился
себе тихонечко лежишь
тогда и счастье привалится
и станет радостнее жить
@alogic0
alogic0 / HsSuccess.md
Last active December 1, 2016 10:33 — forked from sigrlami/ab.md
Haskell Success Stories
@alogic0
alogic0 / echoserv.py
Last active November 19, 2016 18:38
tcp echo server on python
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('127.0.0.1', 1234))
s.listen(10)
while True:
conn, addr = s.accept()
while True:
data = conn.recv(1024)
if not data: break
conn.send(data)
@alogic0
alogic0 / primeS.hs
Created October 30, 2016 06:54
primes numbers, effective algorithm
-- source: http://www.garrisonjensen.com/2015/05/13/haskell-programs-are-lies.html
import qualified Data.Set as PQ
primes :: [Integer]
primes = 2:sieve [3,5..]
where
sieve (x:xs) = x : sieve' xs (insertprime x xs PQ.empty)
sieve' (x:xs) table
@alogic0
alogic0 / parseExpr.hs
Last active October 12, 2016 02:38
FutureLearn Haskell 2016, Parsing Text, Expression parsers
import Text.ParserCombinators.Parsec
import Text.ParserCombinators.Parsec.Expr
import qualified Text.ParserCombinators.Parsec.Token as P
import Text.ParserCombinators.Parsec.Language
import Control.Monad (liftM)
lexer = P.makeTokenParser emptyDef
parens = P.parens lexer
natural = P.natural lexer
@alogic0
alogic0 / globalKeypress.hs
Created September 27, 2016 01:00 — forked from ali-abrar/globalKeypress.hs
Global keypress events
-- source https://gist.github.com/ali-abrar/6cdf28d6fb9c3dbe25fb
import Control.Monad.IO.Class
import GHCJS.DOM (webViewGetDomDocument)
import GHCJS.DOM.Document (getBody)
import GHCJS.DOM.Element (keyDown)
import GHCJS.DOM.EventM (on, preventDefault)
import Reflex.Dom
main :: IO ()
@alogic0
alogic0 / typeahead.hs
Last active September 27, 2016 00:59 — forked from ali-abrar/typeahead.hs
June 4 2016 Reflex.Dom workshop (NY Haskell User's Group)
-- source https://gist.github.com/ali-abrar/2a52593f3a391d82c40f439d4894f017
{-# LANGUAGE ScopedTypeVariables, RankNTypes #-}
import Reflex.Dom
import Data.Monoid ((<>))
import Data.List (isPrefixOf)
main :: IO ()
main = mainWidgetWithHead headTag bodyTag
headTag :: MonadWidget t m => m ()
@alogic0
alogic0 / somesquares.hs
Created September 27, 2016 00:58 — forked from ali-abrar/somesquares.hs
Simple Canvas Example
-- source https://gist.github.com/ali-abrar/47333e623b978d0472c2
{-# LANGUAGE ScopedTypeVariables #-}
import Reflex.Dom
import GHCJS.DOM.CanvasRenderingContext2D (putImageData, setFillStyle, fillRect)
import GHCJS.DOM.HTMLCanvasElement (getContext)
import GHCJS.DOM.ImageData (newImageData')
import Control.Monad.IO.Class (liftIO)
import GHCJS.DOM.Types (CanvasStyle(..), CanvasRenderingContext2D(..), toJSString, castToHTMLCanvasElement)
import GHCJS.Marshal (toJSVal)
import Data.Time (getCurrentTime)
@alogic0
alogic0 / WiktionaryLookup.hs
Last active September 27, 2016 00:56 — forked from ali-abrar/WiktionaryLookup.hs
Text selection and iFrame with Reflex.Dom
-- source https://gist.github.com/ali-abrar/bca8f372b3ca39317f86/
{-# LANGUAGE JavaScriptFFI #-}
import Reflex.Dom
import qualified Data.Text as T
import Data.Monoid
import GHCJS.Types
import GHCJS.Foreign
import Control.Monad.IO.Class
import Control.Monad
@alogic0
alogic0 / tmp.md
Last active September 19, 2016 11:24
buffer for copy/paste

ghcjs-boot --dev --ghcjs-boot-dev-branch ghc-8.0 --shims-dev-branch ghc-8.0 step2 min (max 3 4) 5

src/Reflex/Dom/Internal.hs:224:28-37: error:
    * Expecting one more argument to `SpiderHost'
      Expected kind `* -> *', but `SpiderHost' has kind `* -> * -> *'
    * In the second argument of `HasPostGui', namely `SpiderHost'
      In the instance declaration for
 `HasPostGui Spider SpiderHost SpiderHost'