Skip to content

Instantly share code, notes, and snippets.

Taylor Fausak tfausak

Block or report user

Report or block tfausak

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View negative-productivity.txt
60,974,182,000 bytes allocated in the heap
263,226,596,160 bytes copied during GC
652,502,280 bytes maximum residency (815 sample(s))
3,177,208 bytes maximum slop
622 MB total memory in use (0 MB lost due to fragmentation)
Tot time (elapsed) Avg pause Max pause
Gen 0 57804 colls, 0 par 2.359s 2.372s 0.0000s 0.0006s
Gen 1 815 colls, 0 par 245.031s 246.321s 0.3022s 0.6341s
View haskell-weekly-in-2018.hs
#!/usr/bin/env stack
-- stack --resolver lts-13.0 script
{-# OPTIONS_GHC -Weverything -Wno-implicit-prelude -Wno-unsafe #-}
module Main ( main ) where
import qualified Data.Aeson
import qualified Data.Aeson.Types
import qualified Data.List
import qualified Data.Ord
@tfausak
tfausak / buoy.hs
Created Jan 3, 2019
keywords: Haskell applicative lift liftA liftA2 liftAN ap hoist raise boost
View buoy.hs
-- This whole thing is shamelessly stolen from:
-- <https://doisinkidney.com/snippets/nary-uncurry.html>.
-- Without flexible instances, GHC complains about the `HasApply` instances:
--
-- > Illegal instance declaration for `HasApply a Z`. All instance types must
-- > be of the form `(T a1 ... an)` where `a1 ... an` are *distinct type
-- > variables*, and each type variable appears at most once in the instance
-- > head.
--
@tfausak
tfausak / ratel-happstack.hs
Created Dec 7, 2018
Sends Happstack exceptions to Honeybadger.
View ratel-happstack.hs
#!/usr/bin/env stack
-- stack --resolver lts-12.10 script
{-# OPTIONS_GHC -Weverything -Wno-unsafe -Wno-implicit-prelude #-}
module Main ( main ) where
import qualified Control.Concurrent as Concurrent
import qualified Control.Monad as Monad
import qualified Control.Monad.Catch as Catch
import qualified Control.Monad.IO.Class as IO
import qualified Data.Map as Map
import qualified Data.Maybe as Maybe
@tfausak
tfausak / Main.hs
Last active Nov 18, 2018
Analyzes 2018 state of Haskell survey responses. https://github.com/tfausak/tfausak.github.io/pull/148
View Main.hs
#!/usr/bin/env stack
-- stack --resolver lts-10.0 script
module Main
( main
)
where
import qualified Control.Monad as Monad
import qualified Data.ByteString as ByteString
View rocket-league-replay-match-types.txt
replays/0ad2.replay Offline
replays/000b.replay Private
replays/1a12.replay Offline
replays/1ae4.replay Offline
replays/1bc2.replay Offline
replays/1d1d.replay Offline
replays/1ef9.replay Private
replays/1f37.replay Offline
replays/2cfe.replay Online
replays/3abd.replay LAN
@tfausak
tfausak / edit-replay.hs
Last active Jul 8, 2018
Changes every car in a Rocket League replay to be Octane with the striped decal. Uses Rattletrap: https://github.com/tfausak/rattletrap
View edit-replay.hs
#!/usr/bin/env stack
-- stack --resolver nightly-2018-06-01 script --compile
-- To run this, first install Stack: <https://haskellstack.org>.
-- Then run this from the command line: `stack edit-replay.hs input.replay output.replay`
module Main ( main ) where
import qualified Data.ByteString.Lazy as L
import qualified Data.Map as M
@tfausak
tfausak / packages.json
Last active Jan 23, 2018
SLURP packages from Hackage as of 2018-01-23. https://github.com/tfausak/slurp
View packages.json
{
"packages": [
{
"location": "https://hackage.haskell.org/package/3d-graphics-examples",
"name": "3d-graphics-examples"
},
{
"location": "https://hackage.haskell.org/package/3dmodels",
"name": "3dmodels"
},
@tfausak
tfausak / _README.markdown
Last active Jan 17, 2018
Benchmark of various containers doing bit-level manipulation.
View _README.markdown

I'm back with more bit-level benchmarks in Haskell. The goal here is to do some work on each bit in a large string of bytes. The time to beat is about 5 ms, which is how long Rust takes to do this. Unfortunately it looks like Haskell isn't quite up to the task:

Type Time
ByteString 483.8 ms
Vector Bool (boxed) 315.9 ms
Vector Word8 (boxed) 500.3 ms
You can’t perform that action at this time.