Skip to content

Instantly share code, notes, and snippets.

View patrickt's full-sized avatar
🍉

Patrick Thomson patrickt

🍉
View GitHub Profile
{-# LANGUAGE DataKinds, DeriveFunctor, ExistentialQuantification, FlexibleContexts, FlexibleInstances,
GeneralizedNewtypeDeriving, KindSignatures, MultiParamTypeClasses, Rank2Types, StandaloneDeriving,
TypeApplications, TypeFamilies, TypeOperators, UndecidableInstances, LambdaCase, ScopedTypeVariables #-}
module Control.Effect.Region.IO.Text
( module Control.Effect.Region
, module Control.Effect.Region.IO
, newHandle
, runFileRegion
) where
{-# LANGUAGE DeriveFunctor, ExistentialQuantification, FlexibleContexts, FlexibleInstances, GADTs,
MultiParamTypeClasses, RankNTypes, StandaloneDeriving, TypeOperators, UndecidableInstances, LambdaCase #-}
module Control.Effect.Async
( Asynchronous (..)
, async
, asyncBound
, wait
, poll
, runAsynchronous
, AsynchronousC (..)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>criterion report</title>
<script language="javascript" type="text/javascript">
/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement
{-# LANGUAGE AllowAmbiguousTypes, DataKinds, FlexibleContexts, FlexibleInstances, FunctionalDependencies, GADTs,
KindSignatures, MultiParamTypeClasses, ScopedTypeVariables, TypeApplications, TypeOperators #-}
module Control.Monad.Effect.Update
( Right (..)
, Update (..)
, runUpdate
, update
, query
, test
{-# LANGUAGE GADTs, InstanceSigs, MultiParamTypeClasses, TypeApplications, TypeFamilies, TupleSections #-}
module Moore where
import Control.Comonad
import Control.Monad.Zip
import Control.Monad.Reader
import Data.Copointed
import Data.Distributive
import Data.Machine.Plan
{-# LANGUAGE GADTs, LambdaCase #-}
-- I haven't compiled this and wrote it before any coffee
-- so please don't laugh at me if it doesn't compile lol
module Turtle ( Turtle, left, right, forward, backward) where
import Graphics.Gloss
import Control.Monad.State
import Control.Lens
# Append to a history file (~/.zhistory)
setopt appendhistory
# Auto-cd to directories if the only input provided is a directory.
setopt autocd
# Auto-expand substitution strings in the prompt
setopt prompt_subst
# Enable auto push/pop tracking, a la a browser
setopt auto_pushd
# Set up the vcs_info module to work with git, svn, and git-svn
@patrickt
patrickt / clapper.hs
Last active February 23, 2017 01:58
#!/usr/bin/env stack
-- stack --resolver=lts-8.2 runghc --package text
{-# LANGUAGE OverloadedStrings #-}
-- example usage:
-- $ clapper "I wrote this to troll @peterb"
-- yields
-- I 👏 wrote 👏 this 👏 to 👏 troll 👏 peterb 👏
import Data.List (intersperse)
{-
Given a file at /tmp/lol.xml
<!DOCTYPE html>
<body>
lol!
</body>
-}
####
####
####
####
######
###########
################
####################