[Haskell-cafe] updating multiple fields of a record with lenses
Dan Burton
danburton.email at gmail.com
Mon Nov 4 23:04:15 UTC 2013
There's not really a "smarter" way to do it, but there is a "prettier" way:
foo
& a .~ "String"
& b .~ [1,2,3]
& c .~ 'c'
& d .~ 4
-- Dan Burton
On Mon, Nov 4, 2013 at 2:51 PM, felipe zapata <tifonzafel at gmail.com> wrote:
> Dear Haskellers,
>
> let's suppose I have the following lenses
>
> data Foo = Foo { _a :: String
> _b :: [Double]
> _c :: Vector Double
> _d :: Int
> .............. (more fields)
> _z :: Double
> }
>
> Now, I want to update fields a,b,c and d without changing the rest.
> What is the functional way of doing it ?
>
> Surely there a function smarter than
>
> set a "String" . set b [1,2,3] . set c <1,2,3> . set d 4 $ foo
>
> can some please help me with it?
>
> Thanks in advance,
>
> Felipe Z.
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20131104/d64fdeb3/attachment.html>
More information about the Haskell-Cafe
mailing list