I hereby claim:
- I am kl0tl on github.
- I am kl0tl (https://keybase.io/kl0tl) on keybase.
- I have a public key ASDgd_rSzGBvU0Y-hvA3h4npKodTW9vVhWQxlrs0KnopYQo
To claim this, I am signing this object:
module Main where | |
import Prelude | |
import Control.Comonad (class Comonad) | |
import Control.Extend (class Extend) | |
import Control.Monad.Gen (chooseInt) | |
import Data.Array (length, mapWithIndex, unsafeIndex) | |
import Data.Array.NonEmpty (toArray) | |
import Effect (Effect) |
I hereby claim:
To claim this, I am signing this object:
{-# LANGUAGE DeriveFunctor, RankNTypes #-} | |
data Const r a = Const { getConst :: r } | |
deriving Functor | |
instance Monoid r => Applicative (Const r) where | |
pure _ = Const mempty | |
(Const a) <*> (Const b) = Const (a `mappend` b) | |
foldMapDefault f = getConst . traverse (Const . f) | |
data Compose f g a = Compose { decompose :: f (g a) } |
:set -i. |
:set -i. |
{-# LANGUAGE NoImplicitPrelude, GeneralizedNewtypeDeriving #-} | |
class Semigroup a where | |
(<>) :: a -> a -> a | |
class (Semigroup a) => Monoid a where | |
mempty :: a | |
class Functor f where | |
fmap :: (a -> b) -> f a -> f b | |
class (Functor f) => Alt f where |
{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies, FlexibleInstances, ScopedTypeVariables #-} | |
class (Monoid a) => Additive a | |
class (Monoid a) => Multiplicative a | |
class Iso a b where | |
from :: b -> a | |
to :: a -> b | |
class (Iso a b, Iso a c, Additive b, Multiplicative c) => Ring a b c | a -> b, a -> c where |
{-# LANGUAGE TypeOperators, MultiParamTypeClasses, DeriveFunctor, NoImplicitPrelude #-} | |
import Prelude hiding (Monad) | |
class (Functor l, Functor r) => l ⊣ r where | |
unit :: a -> r (l a) | |
unit = leftAdjunct id | |
counit :: l (r a) -> a | |
counit = rightAdjunct id | |
leftAdjunct :: (l a -> b) -> a -> r b |
:set -i. |
(function (global, document, url) { | |
var calls = []; | |
var spy = {}; | |
var methods = ['config', 'install', 'setUserContext', 'captureException']; | |
for (var i = 0, method; method = methods[i]; i += 1) { | |
spy[method] = (function (name) { | |
return function () { | |
calls.push([name, arguments]); | |
return this; |