Opened 7 years ago

Last modified 15 months ago

#1262 new feature request

RecursiveDo in Template Haskell

Reported by: philip.weaver@… Owned by:
Priority: normal Milestone:
Component: Template Haskell Version: 6.6
Keywords: Cc: MartijnVanSteenbergen
Operating System: Unknown/Multiple Architecture: Unknown/Multiple
Type of failure: None/Unknown Difficulty: Unknown
Test Case: Blocked By:
Blocking: Related Tickets:

Description

I really want mdo support in Template Haskell! Thanks!

Change History (9)

comment:1 Changed 7 years ago by igloo

  • Milestone set to 6.8

comment:2 Changed 6 years ago by simonmar

  • Milestone changed from 6.8 branch to _|_

No immediate plans to do this.

comment:3 Changed 6 years ago by simonmar

  • Architecture changed from Unknown to Unknown/Multiple

comment:4 Changed 6 years ago by simonmar

  • Operating System changed from Unknown to Unknown/Multiple

comment:5 Changed 5 years ago by MartijnVanSteenbergen

  • Cc MartijnVanSteenbergen added

comment:6 Changed 5 years ago by simonpj

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

Simon

comment:7 Changed 15 months ago by morabbin

  • Type of failure set to 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 15 months ago by igloo

  • Summary changed from mdo in Template Haskell to RecursiveDo 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)

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

comment:9 Changed 15 months ago by simonpj

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

Simon

Note: See TracTickets for help on using tickets.