Re: Representing Closures in C (Hans Aberg)
25 Jul 2006 17:56:57 -0400

          From comp.compilers

Related articles
[2 earlier articles]
Re: Representing Closures in C (Tommy Thorn) (2006-07-21)
Re: Representing Closures in C (Johan Tibell) (2006-07-22)
Re: Representing Closures in C (SM Ryan) (2006-07-23)
Re: Representing Closures in C (2006-07-23)
Re: Representing Closures in C (Tommy Thorn) (2006-07-25)
Re: Representing Closures in C (Tommy Thorn) (2006-07-25)
Re: Representing Closures in C (2006-07-25)
| List of all articles for this month |

From: (Hans Aberg)
Newsgroups: comp.compilers
Date: 25 Jul 2006 17:56:57 -0400
Organization: Mathematics
References: 06-07-073
Keywords: functional
Posted-Date: 25 Jul 2006 17:56:57 EDT

<> wrote:

> > However [de Bruijn indexing] an elegant method, I am told that it hard
to use in debugging,
> > as it is difficult for humans to interpret. So in actual functional
> > language implementations, it has not been used so much.
> This is really no different than the problem of tracking source level
> variables in the optimized assembly. A tedious task for humans, but
> that's what compilers use symbol debugging entries (eg. DWARF2) for.

To begin with, I am just quoting some Hugs/Haskell developers. I am
not saying not to use it. But I would think that implementing a
correct functional language is considerably more difficult than
working with assembly code, simply because one works on a higher
mathematical structural level with less direct intuition.

> If it sees little application in practice it may have more to do
> with the fact that it's still only a step on the road to an
> efficient implementation.

The best way to find out, I gather, is to try it. If debugging becomes
difficult, it comes to my mind, one might perhaps try a hybrid, where
the computer uses de Bruijn indexing, and variable names are somehow
retained for the user.

If you go beyond a simple functional language, towards theorem provers
which binds variables in several types of ways, then definitely, getting
it correct is a major hurdle. Then, humans must be able to efficiently
read the formulas, and verify them by hand, otherwise efficient debugging
cannot expect to take place.

    Hans Aberg

Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.