[GHC] #13118: let binding tuple of lenses error not an expression
GHC
ghc-devs at haskell.org
Sat Jan 14 06:19:49 UTC 2017
#13118: let binding tuple of lenses error not an expression
-------------------------------------+-------------------------------------
Reporter: codygman | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: GHCi | Version: 8.0.1
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
This error seems to be fixed in GHC Head +/- 10 commits, but exists in GHC
8.0.1. I was told it might be a useful test case.
{{{
λ> :t userId
userId
:: (RElem UserId rs (RIndex UserId rs), Functor f) =>
(Int -> f Int) -> Record rs -> f (Record rs)
λ> let recLenses = userId &: Nil
λ> :t recLenses
recLenses
:: (Functor f, RElem UserId rs (RIndex UserId rs)) =>
Record '[s :-> ((Int -> f Int) -> Record rs -> f (Record rs))]
λ> :t recUncons
recUncons :: Record (s :-> a : rs) -> (a, Record rs)
λ> :t recUncons recLenses
recUncons recLenses
:: (Functor f, RElem UserId rs (RIndex UserId rs)) =>
((Int -> f Int) -> Record rs -> f (Record rs), Record '[])
λ> let (l, ls) = recUncons recLenses
<no location info>: error:
not an expression: ‘let (l, ls) = recUncons recLenses’
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/13118>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list