I have started a wiki page at https://ghc.haskell.org/trac/ghc/wiki/ImplementingTreesThatGrow/IdeSupport
On 8 May 2018 at 10:54, Simon Peyton Jones <simo...@microsoft.com> wrote: > At first blush, “running the parser in two modes” and “changing the Pass” > type don’t match up in my mind. One seems quite local (how to run the > parser). The other seems more pervasive. > > > > Can you say more about your proposed design, perhaps even on a wiki page? > > > > Simon > > > > *From:* ghc-devs <ghc-devs-boun...@haskell.org> *On Behalf Of *Alan & Kim > Zimmerman > *Sent:* 07 May 2018 16:17 > *To:* ghc-devs <ghc-devs@haskell.org> > *Subject:* TTG hsSyn for Batch and Interactive Parsing > > > > I want to be able to run the GHC parser in one of two modes, batch which > functions as now, and interactive which will (eventually) be incremental. > > In addition, the hsSyn AST for each will have different TTG[1] > annotations, so that it can better support IDE usage. > > I think this can be done by changing the types in HsExtension to introduce > a 'Process' type as follows > > data Pass = Parsed Process | Renamed | Typechecked > deriving (Data) > > data Process = Batch | Interactive > deriving (Show, Data) > > We then rename the pass synonyms so that batch is the default > > type GhcPs = GhcPass ('Parsed 'Batch) > type GhcPsI = GhcPass ('Parsed 'Interactive) > > I have attached a simple proof of concept file, which emulates parsing and > renaming. > > Is this an appropriate approach to take? > > Alan > > > > [1] Trees That Grow https://ghc.haskell.org/trac/ghc/wiki/ > ImplementingTreesThatGrow >
_______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs