I have updated the Wiki. On 9 May 2018 at 10:15, Simon Peyton Jones <[email protected]> wrote:
> Thanks. > > > > I am absolutely behind this objective: > > I propose to move the API Annotations to where they belong, inside the AST. > > Indeed I thought that was always part of the TTG plan. > > > > *But I don’t understand what this has to do with interactive vs batch > parsing. *Why don’t you unconditionally retain API-annotation info? How > would GhcPs be used differently to GhcPsI? > > > > You might want to answer by clarifying on the wiki page, so that it is a > persistent record of the design debugged in dialogue by email. > > > > Simon > > > > *From:* Alan & Kim Zimmerman <[email protected]> > *Sent:* 08 May 2018 21:02 > *To:* Simon Peyton Jones <[email protected]> > *Cc:* ghc-devs <[email protected]> > *Subject:* Re: TTG hsSyn for Batch and Interactive Parsing > > > > 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 <[email protected]> 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 <[email protected]> *On Behalf Of *Alan & Kim > Zimmerman > *Sent:* 07 May 2018 16:17 > *To:* ghc-devs <[email protected]> > *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 [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
