View ATs
{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, TypeFamilies #-} | |
module AT where | |
{- --- ORIGINAL --- -} | |
data Step s a = Done | |
| Skip !s | |
| Yield !a !s | |
{- --- WITH ATs --- -} |
View ATs
{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, TypeFamilies #-} | |
module AT where | |
{- --- ORIGINAL --- -} | |
data Step s a = Done | |
| Skip !s | |
| Yield !a !s | |
{- --- WITH ATs --- -} |
View unbox.patch
diff -rN -u old-text/Data/Text/Encoding/Fusion/Common.hs new-text/Data/Text/Encoding/Fusion/Common.hs | |
--- old-text/Data/Text/Encoding/Fusion/Common.hs 2010-08-15 12:44:14.251803996 -0700 | |
+++ new-text/Data/Text/Encoding/Fusion/Common.hs 2010-08-15 12:44:14.274804276 -0700 | |
@@ -45,19 +45,19 @@ | |
Done -> Done | |
Skip s' -> Skip (S s' N N N) | |
Yield x xs | |
- | n <= 0x7F -> Yield c (S xs N N N) | |
- | n <= 0x07FF -> Yield a2 (S xs (J b2) N N) | |
- | n <= 0xFFFF -> Yield a3 (S xs (J b3) (J c3) N) |
View gist:558040
import Control.Monad (replicateM_) | |
import qualified Data.ByteString as B | |
import Network.Format.LLSD | |
import System.Environment | |
main = do | |
[path, count] <- getArgs | |
replicateM_ (read count) $ do | |
bs <- B.readFile path | |
case parseXML bs of |
View gist:558062
import Control.Concurrent | |
import Control.Monad | |
import qualified Data.ByteString as B | |
import Network.Format.LLSD | |
import System.Environment | |
main = do | |
[path, threads, reads] <- getArgs | |
let nthreads = read threads | |
qs <- newQSem 0 |
View snap-core 0.3 build failure
src/Snap/Internal/Http/Parser.hs:126:4: | |
Couldn't match expected type `Iteratee IO a' | |
against inferred type `(a1, b)' | |
In the pattern: (out, _) | |
In a stmt of a 'do' expression: | |
(out, _) <- unsafeBufferIterateeWithBuffer | |
buf (ignoreEOF $ wrap killwrap it) | |
In the expression: | |
do { killwrap <- newIORef False; | |
(out, _) <- unsafeBufferIterateeWithBuffer |
View DebugRTS.hs
import Foreign.C.String | |
import Foreign.Ptr | |
import System.Posix.Internals | |
debug :: String -> IO () | |
debug s = do | |
withCStringLen (s++"\n") $ \(ptr,len) -> | |
c_safe_write 2 (castPtr ptr) (fromIntegral len) | |
return () |
View CRS.f
! From http://netlib.org/linalg/html_templates/node98.html | |
! | |
! val: non-zero values from the matrix | |
! col_ind: indices into val at which columns start in successive rows | |
! row_ptr: indices into val at which successive rows start | |
for i = 1, n | |
y(i) = 0 | |
for j = row_ptr(i), row_ptr(i+1) - 1 | |
y(i) = y(i) + val(j) * x(col_ind(j)) |
View SparseZip.hs
-- Assumption: indices are sorted in ascending order. | |
type Sparse a = [(Int,a)] | |
zipWithS :: (Num a) => (a -> a -> a) -> Sparse a -> Sparse a -> Sparse a | |
zipWithS f as0 bs0 = filter ((/=0) . snd) $ go as0 bs0 | |
where go ias@(ia@(i,a):as) jbs@(jb@(j,b):bs) = | |
case compare i j of | |
LT -> ia : go as jbs | |
EQ -> (i,f a b) : go as bs |
View Wordy.hs
{-# OPTIONS_GHC -O2 #-} | |
{-# LANGUAGE BangPatterns, MagicHash, OverloadedStrings, UnboxedTuples #-} | |
module Main (main) where | |
import Data.Monoid (mappend, mempty) | |
import GHC.Base (Int(..), chr, quotInt#, remInt#) | |
import Prelude hiding ((!!)) | |
import System.Environment (getArgs) | |
import qualified Data.ByteString.Char8 as B |
OlderNewer