Skip to content

Instantly share code, notes, and snippets.

@max630
max630 / test.py
Created October 12, 2011 06:21
test
print 5
@max630
max630 / MainCLI.hs
Last active February 8, 2018 18:15
testing prime speed
module Main where
import System.Environment(getArgs)
import qualified Prime
main :: IO ()
main = do
a <- getArgs
Prime.main (a !! 0) (read (a !! 1))
@max630
max630 / LibTest.hs
Created November 28, 2011 23:44
stage restriction for instances in quotations
{-# LANGUAGE TemplateHaskell #-}
module LibTest where
import Language.Haskell.TH.Ppr (pprint)
import Language.Haskell.TH.Syntax (runQ, Lit(StringL), reify)
import Language.Haskell.TH.Lib (litE)
import Monad (liftM)
import Data.Typeable (typeOf)
import Language.Haskell.TH.Syntax (Q, Exp)
@max630
max630 / H.hs
Created December 21, 2011 07:19
Уточнение типа по мере продвижения по файлу
{-# LANGUAGE TemplateHaskell #-}
module H where
import Language.Haskell.TH
f = [42]
$(do
i <- reify (mkName "f")
runIO (print i)
@max630
max630 / main.rb
Created February 1, 2012 14:27
ruby "instance" WTF
def showA0()
puts self.class
puts @a
end
class B
def showA(t)
@a = t
showA0()
end
@max630
max630 / AccessorTemplateExpr.hs
Created February 9, 2012 22:32
AccessorTemplateExpr
{-# LANGUAGE TemplateHaskell, ViewPatterns #-}
module AccessorTemplateExpr where
import Language.Haskell.TH (reify, runIO, Info(TyConI), Dec(DataD), ppr, Con(NormalC, RecC), newName,
tupE, appE, lamE, varE, conE,
conP, varP, wildP)
import Data.Accessor.Basic (fromSetGet)
makeAccessors typeName = do
info <- reify typeName
@max630
max630 / gist:1900568
Created February 24, 2012 12:04
test md

hello

@max630
max630 / a.hs
Created February 28, 2012 21:14
parser for a toy programming language
parseExprControl =
do {
label <- try (do { l <- p_name; p_eq [Spec ":"]; return l})
; e <- parseExprControl
; return (Label label e)
}
<|> do {
try (p_eq [Spec "def"])
; name <- p_name
; p_eq [Spec "="]
@max630
max630 / IOFrontend.hs
Created May 26, 2012 07:05
Enumerator-based IO Frontend for JSON-RPC
module IOFrontend where
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Aeson as A
import qualified Data.Attoparsec as AP
import qualified Data.ByteString.Lazy as BSL
import qualified Data.Enumerator as E
import qualified Data.Enumerator.Binary as EB
import qualified Data.Enumerator.List as EL
import qualified GHC.IO.Handle as GIO
@max630
max630 / gist:2872656
Created June 5, 2012 04:34
Russian phonetic layout for MS Keyboard Layout Creator
KBD RU2 "Russian Phonetic"
COPYRIGHT "(c) 2011 "
COMPANY "Max"
LOCALEID "00000419"
VERSION 1.0