Skip to content

Instantly share code, notes, and snippets.

module HW_Answer where
import qualified Data.Text as Text
import qualified Data.Vector as Vector
import qualified HW_Other as Other
data Answer
= Single (Vector.Vector Text.Text)
| Multi Other.Other (Vector.Vector Text.Text)
| Extension (Vector.Vector Text.Text)
@tfausak
tfausak / DisableWarnings.hs
Last active May 24, 2022 12:11
A GHC plugin for disabling some warnings.
module DisableWarnings where
import qualified Data.List as List
import qualified GHC.Data.Bag as Bag
import qualified GHC.Data.IOEnv as IOEnv
import qualified GHC.Plugins as Plugins
import qualified GHC.Tc.Types as Tc
import qualified GHC.Types.Error as Error
plugin :: Plugins.Plugin
@tfausak
tfausak / mongoengine-listfield-filefield.py
Created October 19, 2011 19:09
Shows MongoEngine's peculiar handling of ListField of FileFields.
"""Python v2.7.1, MongoDB v1.8.2, PyMongo v1.10, MongoEngine v0.4
"""
from mongoengine import connect, Document, FileField, ListField
from mongoengine.base import ValidationError
from mongoengine.fields import GridFSProxy
from pymongo import Connection
from time import time
# Start with a clean slate.
#! /usr/bin/env sh
set -o errexit
# https://github.com/haskell-servant/servant/issues/986
###############################################################################
# Print out various system information.
date
lsb_release --all
@tfausak
tfausak / .dockerignore
Created January 12, 2017 22:33
Haskll & Docker Compose
.dockerignore
.gitignore
.stack-work
docker-compose.yml
Dockerfile
README.markdown
@tfausak
tfausak / HW_Answer.hs
Last active November 17, 2021 13:57
2021 State of Haskell Survey Results
module HW_Answer where
import qualified Data.Text as Text
import qualified Data.Vector as Vector
import qualified HW_Other as Other
data Answer
= Single (Vector.Vector Text.Text)
| Multi Other.Other (Vector.Vector Text.Text)
| Extension (Vector.Vector Text.Text)
@tfausak
tfausak / select-list-or-source.hs
Created November 8, 2021 20:36
Persistent's `selectList` versus `selectSource` in Haskell with PostgreSQL.
{-# language DataKinds #-}
{-# language DerivingStrategies #-}
{-# language EmptyDataDecls #-}
{-# language FlexibleInstances #-}
{-# language GADTs #-}
{-# language GeneralizedNewtypeDeriving #-}
{-# language MultiParamTypeClasses #-}
{-# language OverloadedStrings #-}
{-# language QuasiQuotes #-}
{-# language StandaloneDeriving #-}
@tfausak
tfausak / Main.hs
Last active September 18, 2021 14:26
import qualified Control.DeepSeq as DeepSeq
import qualified Control.Exception as Exception
import qualified Data.HashMap.Strict as HashMap
import qualified Data.HashMap.Strict.InsOrd as InsOrd
import qualified Data.Map.Lazy as Map.Lazy
import qualified Data.Map.Strict as Map.Strict
import qualified Data.Text as Text
import qualified Data.Vector as Vector
import qualified Gauge
import qualified Z.Data.Vector as ZVector
@tfausak
tfausak / QQ.hs
Last active September 7, 2021 18:30
Haskell string quasi-quotation.
module QQ where
import qualified Language.Haskell.TH as TH
import qualified Language.Haskell.TH.Quote as TH
string :: TH.QuasiQuoter
string = TH.QuasiQuoter
{ TH.quoteDec = const $ fail "cannot be used as a declaration"
, TH.quoteExp = pure . TH.LitE . TH.StringL
, TH.quotePat = pure . TH.LitP . TH.StringL
@tfausak
tfausak / DerivingViaPlugin.hs
Last active August 23, 2021 14:13
Cursed Haskell: Deriving via plugin
-- https://downloads.haskell.org/~ghc/9.0.1/docs/html/users_guide/extending_ghc.html#compiler-plugins
-- https://downloads.haskell.org/~ghc/9.0.1/docs/html/libraries/ghc-9.0.1/GHC-Plugins.html
module DerivingViaPlugin where
import qualified Control.Monad as Monad
import qualified GHC.Data.Bag as G
import qualified GHC.Hs as G
import qualified GHC.Plugins as P
import qualified GHC.Types.Basic as G