[TYPES] Algorithm W as elaboration into System F

Ryan Wisnesky <[email protected]> Thu, 25 Jun 2026 11:16:01 -0700
Newsgroups gmane.comp.science.types
Message-ID <[email protected]>
--Apple-Mail=_0FC0DA62-2BFB-49B7-83BD-1AE19B8DF23A
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

[ The Types Forum, http://lists.seas.upenn.edu/mailman/listinfo/types-list ]

--Apple-Mail=_0FC0DA62-2BFB-49B7-83BD-1AE19B8DF23A
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi All,

I=E2=80=99m been trying and unable to find a reference to a full =
description of Hindley-Milner's type inference algorithm W as a =
translation of untyped lambda calculus into system F (so that let =
translates to big lambda etc).  Such a translation is not hard to define =
- I first encountered it as an exercise in Norman Ramsey=E2=80=99s =
textbook, but unfortunately that textbook is no longer available, nor =
did my discussions with Norman turn up a reference.  I=E2=80=99m hoping =
people here might be able to help.  Somehow, in 2010 it feels like there =
were a lot more google results on this and many other type theory topics =
than there are in 2026.

There are of course many papers showing an elaboration into F from a =
more declarative phrasing of Hindley Milner, because those are easier to =
work with for many purposes than algorithm W, but I=E2=80=99m looking =
for a reference for W specifically.  The attached image shows the type =
part of the untyped to system F translation, so I=E2=80=99m just looking =
for a reference that shows these rules where let get translated to big =
lambda and var gets translated to type instantiation etc - the term part =
of the image.  =20

Thanks,
Ryan Wisnesky


--Apple-Mail=_0FC0DA62-2BFB-49B7-83BD-1AE19B8DF23A
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
	charset=us-ascii




--Apple-Mail=_0FC0DA62-2BFB-49B7-83BD-1AE19B8DF23A--