Ticket #56 (closed bug report: fixed)

Opened 5 years ago

Last modified 5 years ago

Layout problem in arrows code

Reported by: nibro Owned by: nibro
Priority: major Milestone: Full document support
Component: parser Version: 1.1.0
Keywords: Cc: paul@…

Description

Reported by Paul Liu:

exp = proc () -> do
  rec let e = 1 + i
      i <- integral -< e
  returnA -< e

gives an error: "Parse error: VRightCurly". A layout problem surely.

Change History

Changed 5 years ago by nibro

  • status changed from new to closed
  • resolution set to fixed

Turns out that it wasn't a layout problem after all (thank goodness!), but the fact that the rules for a stmtlist were written so that the last statement in a block has to be an expression (qualifier). That's obviously not true for rec blocks. Some rewiring of the productions, and refactoring that test out into a separate check for do (and mdo) blocks, and this now parses nicely in 1.1.1. Case closed.

Note: See TracTickets for help on using tickets.