• Stars
    star
    105
  • Rank 321,603 (Top 7 %)
  • Language
    Haskell
  • License
    Other
  • Created about 12 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

TardisT

The State monad allows you to send information forwards to the future, or to receive such information from the past. The Reverse State monad allows you to do the reverse: send information backwards to the past, or receive information from the future.

TardisT is a monad transformer that provides state operations that allow you to send information to both the future and the past, as well as receive information from both directions. It is isomorphic to a StateT on top of a ReverseStateT, or vice-versa.

See test/Example.hs for an example.


This was inspired by Luke Palmer's blog post on the "reverse state monad".

http://lukepalmer.wordpress.com/2008/08/10/mindfuck-the-reverse-state-monad/

See also:

http://panicsonic.blogspot.com/2007/12/backwards-state-or-power-of-laziness.html


(c) 2012 Dan Burton

More Repositories

1

system-f

System F implemented in Haskell
Haskell
24
star
2

Blog

It's a blog. Insert clever Haskell type signature here.
Haskell
22
star
3

modular-prelude

A new prelude with first-class modules
Haskell
10
star
4

runmemo

Run memoizers
Haskell
9
star
5

io-memoize

Memoize IO actions
Haskell
9
star
6

rev-state

Reverse State monad transformer
Haskell
8
star
7

lens-family-th

Template Haskell to generate lenses for lens-family and lens-family-core
Haskell
7
star
8

racket-interfaces

Typeclass-esque generics for Racket
Racket
7
star
9

stack-setup-info-gen

Generates stack.yaml with setup-info
HTML
6
star
10

composition

Combinators for unorthodox function composition in Haskell
Haskell
4
star
11

polylens

Lenses with polymorphic update
Haskell
4
star
12

ANum

Num instance for Applicatives provided via the ANum newtype
Haskell
4
star
13

simple-staker

JavaScript
3
star
14

netspec

A Haskell library to simplify certain Networking tasks
Haskell
3
star
15

lambdabot-remedies

How to get lambdabot working on ghc 7.4.1
3
star
16

bf-interp

Haskell
2
star
17

hype-lang

A library for manipulating the Hype language's AST
Haskell
2
star
18

coroutine-interfaces

A streaming abstraction
Haskell
2
star
19

hs-adventure-txt

A Haskell implementation of Cadventure-txt
2
star
20

sexy

A Sexier Prelude
Haskell
2
star
21

MHask

A Haskell library for abstractions in the category of Haskell monads
Haskell
2
star
22

pipes-conduit

Conversions between pipes and conduit
Haskell
2
star
23

dan-pipes

Yet another spin on pipes
Haskell
2
star
24

yesod-gitrev

Haskell
2
star
25

strictly

Haskell combinators for strictifying functions
Haskell
1
star
26

yield

A Haskell library for cooperative control
Haskell
1
star
27

stringsearch

Fork of https://bitbucket.org/dafis/stringsearch/
Haskell
1
star
28

haskell-doc

Checking up on Haskell packages
Haskell
1
star
29

dan-reach-gh-pages-test

HTML
1
star