haskell / haskell/mtl

Conversions between lazy and strict StateT

Open
#139 4 comments 0 reactions 0 assignees View on GitHub
transformers
Dominant language
Haskell
Stars
401
Forks
72
PR merge metrics
No merged PRs in 30d

Description

Should there be functions to convert between strict and lazy `StateT` variants?

```haskell
strictToLazyStateT :: Strict.StateT s m a -> Lazy.StateT s m a
strictToLazyStateT (Strict.StateT f) = Lazy.StateT f

lazyToStrictStateT :: Lazy.StateT s m a -> Strict.StateT s m a
lazyToStrictStateT (Lazy.StateT f) = Strict.StateT f
```

Contributor guide

No contributing guide indexed for this repository

Research direction

The issue names no files or tests. Start by locating the strict and lazy StateT definitions in mtl and comparing their constructors and public APIs. Determine whether the two proposed conversions preserve the intended behavior, then seek a maintainer decision; done means an agreed API direction with tests if the functions are accepted.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.