From: Chet Murthy <chet@watson.ibm.com>
To: Greg Morrisett <jgm@cs.cornell.edu>
Cc: caml-list@inria.fr
Subject: Re: de Bruijn indices
Date: Thu, 12 Oct 2000 10:57:56 -0400 [thread overview]
Message-ID: <200010121457.KAA04527@nautilus-chet.watson.ibm.com> (raw)
In-Reply-To: Your message of Tue, 10 Oct 2000 14:09:44 EDT. <706871B20764CD449DB0E8E3D81C4D43BFCA25@opus.cs.cornell.edu>
>>>>> "GM" == Greg Morrisett <jgm@cs.cornell.edu> writes:
GM> Well, I can say from my own experience that de Bruijn isn't
GM> always best. Neither NuPRL nor the TAL type-checker uses
GM> indices, prefering named variables instead. For both,
GM> preserving original names is really useful when debugging.
I can't speak to TAL. I _can_ speak for Nuprl, having implemented a
version of Nuprl in SML/NJ in 1990, and having re-implemented it, by a
process of iterative migration, in Coq, in 1992-1994.
Explicit names were *significantly* slower than deBruijn indices. The
costs were there, even though I did the standard tricks of caching
free-vars under binders, and even though I wrote the most careful code
I could think of to make explicit names faster.
It wasn't the substitution that was killing me, but the
alpha-conversion, and checks for alpa-conversion.
Now, there _is_ possibly one way of doing explicit names that would be
fast enough to be a contender -- where the names are chosen uniquely,
using a global counter, so no capture check is required. I can
imagine that that would be fast.
Of course, it would result in uggggggly names -- uglier than deBruijn
numbers, unless similar tricks were played in pretty-printing.
--chet--
next prev parent reply other threads:[~2000-10-12 16:50 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-10-10 18:09 Greg Morrisett
2000-10-12 14:57 ` Chet Murthy [this message]
2000-10-12 18:08 ` Benjamin C. Pierce
2000-10-12 18:19 ` Trevor Jim
-- strict thread matches above, loose matches on Subject: below --
2000-10-12 19:09 John R Harrison
2000-10-12 17:33 Greg Morrisett
2000-10-11 11:26 Simon Peyton-Jones
2000-10-11 20:12 ` Markus Mottl
2000-10-10 18:30 John R Harrison
2000-10-09 7:19 de Bruijn indices (Re: WWW Page of Team PLClub) Eijiro Sumii
2000-10-10 14:04 ` de Bruijn indices Gerard Huet
2000-10-10 17:29 ` Chet Murthy
2000-10-11 22:35 ` John Max Skaller
2000-10-05 23:29 Patrick M Doane
2000-10-06 8:15 ` Markus Mottl
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=200010121457.KAA04527@nautilus-chet.watson.ibm.com \
--to=chet@watson.ibm.com \
--cc=caml-list@inria.fr \
--cc=jgm@cs.cornell.edu \
/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