Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Nate Foster <jnfoster@cs.cornell.edu>
To: Aaron Gray <aaronngray.lists@gmail.com>
Cc: "Andreas Rossberg" <rossberg@mpi-sws.org>,
	"François Pottier" <francois.pottier@inria.fr>,
	"OCaML Mailing List" <caml-list@inria.fr>
Subject: Re: [Caml-list] coinductive data types
Date: Tue, 30 Aug 2022 14:20:19 -0400	[thread overview]
Message-ID: <CAH6P-srkL1MwEnqKxb+SLPsZR8y_x-t19ExmbUA5Ky0GCzvC-g@mail.gmail.com> (raw)
In-Reply-To: <CANkmNDesNdg0wjBjK+NMRnbk5Ush5O3O5Dg0Aa1fdLHBiPNCBw@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1307 bytes --]

For a clear, textbook treatment of these topics at the introductory (i.e.,
advanced undergrad or beginning graduate) level, it's hard to beat Benjamin
Pierce's "Types and Programming Languages" (MIT Press, 2002). Chapters 20
and 21 cover the basics of recursive types including iso/equi-recursive
types and subtyping. And the "Notes" section at the end has lots
of references to a bunch of "founding papers" -- at least, as of 20 years
ago.

-N

On Tue, Aug 30, 2022 at 1:01 PM Aaron Gray <aaronngray.lists@gmail.com>
wrote:

> On Tue, 30 Aug 2022 at 17:46, Andreas Rossberg <rossberg@mpi-sws.org>
> wrote:
> >
> > Hi François,
> >> I’m curious why you would categorise iso-recursive types as nominal. I
> have always considered them structural as well, since two structurally
> matching iso-recursive type expressions are still deemed equivalent. That
> matters in so far as it makes them modular in a way that true nominal types
> are not.
> >
> > Iso-recursive types would only behave like nominal in the degenerate
> case where all type definitions occurring in the entire program (across
> module boundaries) are tied into a single grand iso-recursive knot, I think.
>
> Are there any founding papers or books on isorecursive and
> equirecursive typing ?
>
> Aaron
>

[-- Attachment #2: Type: text/html, Size: 1758 bytes --]

  reply	other threads:[~2022-08-30 18:20 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-29 15:43 Aaron Gray
2022-08-30  7:24 ` François Pottier
2022-08-30 11:11   ` Xavier Leroy
2022-08-30 12:33     ` Aaron Gray
2022-08-31  1:21       ` Jacques Garrigue
     [not found]       ` <11E3A59A-BD33-4EC0-9FAD-711A1EACA35E@gmail.com>
2022-08-31  3:22         ` Aaron Gray
2022-09-01 12:13           ` Jacques Garrigue
2022-08-30 12:37   ` Aaron Gray
2022-08-30 13:57     ` Nate Foster
2022-08-30 15:27       ` Aaron Gray
2022-08-30 15:47     ` François Pottier
2022-08-30 16:32       ` Aaron Gray
2022-08-31  8:19         ` François Pottier
2022-08-30 16:45       ` Andreas Rossberg
2022-08-30 17:01         ` Aaron Gray
2022-08-30 18:20           ` Nate Foster [this message]
2022-08-31  8:25         ` François Pottier
2022-08-31  8:46           ` Peter Thiemann
2022-08-31  9:41             ` Andreas Rossberg
2022-08-31 13:49               ` François Pottier
2022-08-31 15:40               ` Peter Thiemann
2022-08-31 16:44                 ` Andreas Rossberg
2022-08-31 15:55               ` Basile Clement
2022-08-31 18:42                 ` Andreas Rossberg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAH6P-srkL1MwEnqKxb+SLPsZR8y_x-t19ExmbUA5Ky0GCzvC-g@mail.gmail.com \
    --to=jnfoster@cs.cornell.edu \
    --cc=aaronngray.lists@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=francois.pottier@inria.fr \
    --cc=rossberg@mpi-sws.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox