paf31 / purescript-derive-lenses

A little utility to derive lenses and prisms for data types in PureScript
MIT License
41 stars 3 forks source link

compilation failure with purescript-0.7.4.1 #4

Closed tavisrudd closed 8 years ago

tavisrudd commented 8 years ago
purescript-derive-lenses-0.1.0.0...
[1 of 1] Compiling Main             ( src/Main.hs, dist/dist-sandbox-673be850/build/purescript-derive-lenses/purescript-derive-lenses-tmp/Main.o )

src/Main.hs:20:10:
    Constructor ‘P.Module’ should have 5 arguments, but has been given 4
    In the pattern: P.Module _ mn ds _
    In an equation for ‘process’:
        process (P.Module _ mn ds _)
          = (mn, concatMap processDecl ds)
          where
              processDecl :: P.Declaration -> [Optic]
              processDecl (P.DataDeclaration _ nm args dctors)
                = concatMap member dctors ++ mapMaybe ctor dctors
                where
                    member (_, [P.TypeApp obj r])
                      | P.tyObject == obj
                      = map (DataMemberLens . fst) (fst (P.rowToList r))
                    member _ = ...
                    ctor (dctor, [inner])
                      = Just (DataConstructorPrism dctor outer (Just inner))
                    ctor (dctor, []) = Just (DataConstructorPrism dctor outer Nothing)
                    ctor _ = Nothing
                    ....
              processDecl (P.PositionedDeclaration _ _ d) = processDecl d
              processDecl _ = []
paf31 commented 8 years ago

Thanks. The code in master should build against latest psc again.