Skip to content

Instantly share code, notes, and snippets.

@fen-hs
fen-hs / MaybeN.hs
Last active April 14, 2019 05:09
StateN
module MaybeN where
import TypeLevel.Nat
import TypeLevel.Bounded
data MaybeN n a = NothingN (BoundedNat n) | JustN a
@fen-hs
fen-hs / Church.hs
Last active February 20, 2019 00:32
Church
{-# Language RankNTypes, FlexibleInstances, MultiParamTypeClasses #-}
module Church where
import Data.Functor.Identity
import Traversable -- for fusion rules
import Unfoldable_r
import Unfoldable
import Empty
import FIFO_r
{-# Language
MultiParamTypeClasses
,FunctionalDependencies
,FlexibleContexts
,PatternSynonyms
,ViewPatterns
,DefaultSignatures
#-}
module Control.FIFO.FIFO where
@fen-hs
fen-hs / Unfoldable.hs
Last active February 20, 2019 04:47
Unfoldable_r etc
{-# Language MultiParamTypeClasses , FunctionalDependencies , DefaultSignatures #-}
module Unfoldable where
import Unfoldable_r
import State
----
-- Unfold for Stream
class Unfoldable0 f where
@fen-hs
fen-hs / Traversable.hs
Last active February 20, 2019 01:02
Traversable_r etc
{-# Language
RankNTypes
,FunctionalDependencies
,FlexibleContexts
,ScopedTypeVariables
#-}
module Traversable where
import Traversable_r