[Haskell-cafe] Field types

David Feuer david.feuer at gmail.com
Mon Sep 20 17:45:34 UTC 2021


I was just looking for confirmation. I'm playing around with using generics
to make field-based lenses and traversals, and I don't want any unpleasant
surprises.

On Mon, Sep 20, 2021, 1:43 PM Brandon Allbery <allbery.b at gmail.com> wrote:

> Well, there is already an extension that turns off selector-as-function,
> although I don't recall the name off the top of my head. I am not sure
> there's a way to access such fields as this at all if you use it, since
> e.g. HasField probably doesn't let you do types by constructor name.
>
> On Mon, Sep 20, 2021 at 1:21 PM David Feuer <david.feuer at gmail.com> wrote:
>
>> In that hypothetical context, the field name wouldn't be usable as a
>> function—at least without future Dependent Haskell.
>>
>> On Mon, Sep 20, 2021, 1:19 PM Tom Ellis <
>> tom-lists-haskell-cafe-2017 at jaguarpaw.co.uk> wrote:
>>
>>> On Mon, Sep 20, 2021 at 01:13:43PM -0400, David Feuer wrote:
>>> > Does one field name for one datatype always refer to a field with the
>>> same
>>> > type? Or is there some wacky extension that would allow things like
>>> >
>>> > data Foo
>>> >   = Bar { zoom :: Int }
>>> >   | Baz { zoom :: Char }
>>> >
>>> > I'm hoping I don't have to worry about the latter possibility....
>>>
>>> Me too!  Under such circumstances what would the type of
>>> field-as-function be?
>>> _______________________________________________
>>> Haskell-Cafe mailing list
>>> To (un)subscribe, modify options or view archives go to:
>>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>>> Only members subscribed via the mailman list are allowed to post.
>>
>> _______________________________________________
>> Haskell-Cafe mailing list
>> To (un)subscribe, modify options or view archives go to:
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>> Only members subscribed via the mailman list are allowed to post.
>
>
>
> --
> brandon s allbery kf8nh
> allbery.b at gmail.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20210920/ea6dd0df/attachment.html>


More information about the Haskell-Cafe mailing list