Skip to content

Instantly share code, notes, and snippets.

View ivanperez-keera's full-sized avatar
🚀
Exploring

Ivan Perez, PhD ivanperez-keera

🚀
Exploring
View GitHub Profile
@ivanperez-keera
ivanperez-keera / shortener.hs
Created April 18, 2015 10:18
Static (read-only) Happstack URL shortening service displaying incorrect behaviour (not refreshing data changed by concurrent connection to mysql)
module Main where
import Control.Concurrent
import Control.Monad
import Control.Monad.Trans
import Database.HDBC
import Database.HDBC.MySQL
import Data.Maybe
import Happstack.Server
import qualified Data.ByteString.Lazy.Char8 as BL
import qualified Data.Text as T
@ivanperez-keera
ivanperez-keera / ControlCenter.hs
Last active September 25, 2015 12:03
A Haskell yesod website that reports free disk space and memory
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
import Control.Applicative
import Control.Arrow
import Control.Concurrent
import Control.Concurrent.MVar
import Control.Exception hiding (Handler)
@ivanperez-keera
ivanperez-keera / verbose-sourcegraph.patch
Created March 31, 2015 11:06
A Patch for Haskell SourceGraph to produce detailed error messages when parsing fails
Only in SourceGraph-mine/: dist
diff -ur SourceGraph-0.7.0.6/Main.hs SourceGraph-mine/Main.hs
--- SourceGraph-0.7.0.6/Main.hs 2015-03-31 11:57:58.753791179 +0100
+++ SourceGraph-mine/Main.hs 2015-03-31 12:04:25.533790366 +0100
@@ -57,6 +57,7 @@
import Control.Arrow(second)
import Control.Monad(liftM)
import Control.Exception(SomeException(..), try)
+import Language.Haskell.Exts(SrcLoc(..))
@ivanperez-keera
ivanperez-keera / XOR.hs
Created February 6, 2015 14:03
XOR two files (Haskell)
import Data.Bits (xor)
import qualified Data.ByteString.Lazy as B
import System.Environment (getArgs)
main :: IO()
main = do
args <- getArgs
if length args < 2
then putStrLn "I need at least two filenames"
else do (b:bs) <- mapM B.readFile args
@ivanperez-keera
ivanperez-keera / SDLDummyLoop.hs
Last active August 29, 2015 14:07
A dummy loop in SDL
module Main where
import Data.Word (Word32)
import Data.IORef (newIORef, readIORef, writeIORef, IORef)
import Graphics.UI.SDL as SDL
main = withInit [InitEverything] $ do
screen <- setVideoMode 640 480 0 [HWSurface, DoubleBuf] -- , ASyncBlit
-- hello <- loadBMP "hello.bmp"