[Haskell-cafe] Wrapping all fields of a data type in e.g. Maybe

Michael Orlitzky michael at orlitzky.com
Wed Jul 17 01:43:45 CEST 2013


On 07/16/2013 05:06 PM, Tom Ellis wrote:
> On Tue, Jul 16, 2013 at 04:57:59PM -0400, Michael Orlitzky wrote:
>> This all works great, except that when there's 20 or so options, I
>> duplicate a ton of code in the definition of OptionalCfg. Is there some
>> pre-existing solution that will let me take a Cfg and create a new type
>> with Cfg's fields wrapped in Maybe?
> 
> You can always try
> 
>     data Cfg f = Cfg { verbose :: f Bool }
> 
> and set f to Maybe or Identity depending on what you use it for.  It will be
> slightly notationally cumbersome to extract values from the Identity functor
> though.
> 

Two votes for this approach. I'll give it a try and see whether it comes
out more or less verbose. Thanks!






More information about the Haskell-Cafe mailing list