Opened 10 years ago

Last modified 17 months ago

#1262 new feature request

RecursiveDo in Template Haskell

Reported by: philip.weaver@… Owned by: mgsloan
Priority: normal Milestone:
Component: Template Haskell Version: 6.6
Keywords: Cc: MartijnVanSteenbergen, massysett
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Test Case: th/TH_recursiveDo
Blocked By: Blocking:
Related Tickets: Differential Rev(s): Phab:D1979
Wiki Page:


I really want mdo support in Template Haskell! Thanks!

Change History (13)

comment:1 Changed 10 years ago by igloo

Milestone: 6.8

comment:2 Changed 10 years ago by simonmar

Milestone: 6.8 branch_|_

No immediate plans to do this.

comment:3 Changed 9 years ago by simonmar

Architecture: UnknownUnknown/Multiple

comment:4 Changed 9 years ago by simonmar

Operating System: UnknownUnknown/Multiple

comment:5 Changed 8 years ago by MartijnVanSteenbergen

Cc: MartijnVanSteenbergen added

comment:6 Changed 8 years ago by simonpj

See also #2798, where we propose to deprecate mdo in favour of a more modular rec.


comment:7 Changed 5 years ago by morabbin

Type of failure: None/Unknown

Since #2798 was accepted, this out to be closed (if TH supports DoRec) or renamed, if folks still want it.

comment:8 Changed 5 years ago by igloo

Summary: mdo in Template HaskellRecursiveDo in Template Haskell
Prelude> :set -XRecursiveDo -XTemplateHaskell
Prelude> :m + Language.Haskell.TH
Prelude Language.Haskell.TH> do x <- runQ [| do rec { x <- return y; y <- return x }; return () |]; putStrLn (pprint x)

    Exotic statement not (yet) handled by Template Haskell
      [rec { x <- return y;
             y <- return x },
       return ()]

comment:9 Changed 5 years ago by simonpj

We just need someone to update the template-haskell library to support mdo, and add support to DsMeta and Convert.


comment:10 Changed 3 years ago by nomeata

Keywords: newcomer added

comment:11 Changed 22 months ago by massysett

Cc: massysett added

comment:12 Changed 19 months ago by thomie

Keywords: newcomer removed

No takers. Removing keyword to keep the newcomers list fresh. Please put it back if you disagree.

comment:13 Changed 17 months ago by thomie

Differential Rev(s): Phab:D1979
Owner: set to mgsloan
Test Case: th/TH_recursiveDo
Note: See TracTickets for help on using tickets.