Mailing list for all users of the OCaml language and system.
 help / color / mirror / Atom feed
From: Eijiro Sumii <eijiro_sumii@anet.ne.jp>
To: Pierre.Weis@inria.fr
Cc: Xavier.Leroy@inria.fr, caml-list@inria.fr, sumii@saul.cis.upenn.edu
Subject: de Bruijn indices (Re: WWW Page of Team PLClub)
Date: Mon, 09 Oct 2000 03:19:55 -0400	[thread overview]
Message-ID: <20001009031955T.sumii@saul.cis.upenn.edu> (raw)
In-Reply-To: <200010070835.KAA28303@pauillac.inria.fr>

I don't actually use De Bruijn indices so often (because I usually use
higher-order abstract syntax whenever appropriate), but anyway...

> All this is perfectly true and correct, but in my humble opinion you
> forgot to mention the dark side of De Bruijn indices:

In my experience of writing some interpreters, compilers, type
checkers, partial evaluators, etc.,

> - they are perfect for machines but not convenient for human beings!
> (We cannot easily consider that the same variable have plenty of
> different names in an expression.)

this inconvenience can be mitigated by including _both_ a name (for
human use) and an index (for machine use) in each variable, and

> - you have to manipulate indices anyway to mimmick alpha-conversion
> when performing beta-reduction (the operation is named the ``lifting''
> of De Bruijn indices), and you know that this is at least as difficult
> and error prone as performing alpha-renaming.

such errors in lifting, shifting, etc. of De Bruijn indices are much
easier to find than those in alpha-conversion, because they lead to
immediate problems (which occurs in simple programs) rather than
subtle ones (which occurs in only programs that "shadow" variables in
particular ways).

Eijiro



  parent reply	other threads:[~2000-10-10 10:29 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-10-05 10:33 WWW Page of Team PLClub (Re: ICFP programming contest: results) David McClain
2000-10-05 20:20 ` Stefan Monnier
2000-10-06 19:26   ` eijiro_sumii
2000-10-07  8:19     ` automatic translation in Team PLClub ICFP'2000 entry Julian Assange
2000-10-07 16:30       ` eijiro_sumii
2000-10-06  8:07 ` WWW Page of Team PLClub (Re: ICFP programming contest: results) Xavier Leroy
2000-10-07  8:35   ` Pierre Weis
2000-10-07  9:55     ` Markus Mottl
2000-10-07 10:24       ` Pierre Weis
2000-10-08 21:26     ` John Max Skaller
2000-10-10 10:23       ` Pierre Weis
2000-10-09  5:51     ` Benjamin Pierce
2000-10-09  7:19     ` Eijiro Sumii [this message]
2000-10-10 10:36       ` de Bruijn indices (Re: WWW Page of Team PLClub) Pierre Weis
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

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=20001009031955T.sumii@saul.cis.upenn.edu \
    --to=eijiro_sumii@anet.ne.jp \
    --cc=Pierre.Weis@inria.fr \
    --cc=Xavier.Leroy@inria.fr \
    --cc=caml-list@inria.fr \
    --cc=sumii@saul.cis.upenn.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