Comments (5)
This is caused by GHC mangling record field names when DuplicateRecordFields
is turned on.
from barbies-th.
This doesn't seem to work for me (barbies-th-0.1.7
).
{-# language TemplateHaskell #-}
{-# language FlexibleInstances #-}
{-# language TypeFamilies #-}
{-# language DuplicateRecordFields #-}
import Barbies.TH
declareBareB [d|
data A = A
{ a :: Int
} |]
fails with
❯ ghc A.hs
[1 of 1] Compiling A ( A.hs, A.o, A.dyn_o )
A.hs:10:1: error:
Illegal variable name: ‘$sel:a:A’
When splicing a TH declaration:
instance Barbies.TH.AccessorsB (A_0 Barbies.Internal.Wear.Covered)
where Barbies.TH.baccessors = A_1 (Barbies.TH.LensB ($sel:a:A_2) (\x_3 b_4 -> b_4{$sel:a:A_2 = x_3}))
|
10 | declareBareB [d|
| ^^^^^^^^^^^^^^^^...
Has there been a regression since #4 was merged?
from barbies-th.
A quick bisection shows:
02ec21b9fa2fb1d09cec8efc8d1db2a5bd7a84ca is the first bad commit
commit 02ec21b9fa2fb1d09cec8efc8d1db2a5bd7a84ca
Author: Fumiaki Kinoshita <[email protected]>
Date: Wed Jun 3 13:34:56 2020 +0900
generate lenses
from barbies-th.
fixing it now Thanks for the quick fix
from barbies-th.
Not sure if related but I get "symbol already defined" errors in Assembler stage when having DuplicateRecordFields on and actual data definitions with duplicate record fields
from barbies-th.
Related Issues (5)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from barbies-th.