From: Jean-Christophe Filliatre <filliatr@lri.fr>
To: Brian Hurt <bhurt@spnz.org>
Cc: Michael Wohlwend <micha-1@fantasymail.de>,
OCaml Mailing List <caml-list@yquem.inria.fr>
Subject: Re: [Caml-list] algorithm question
Date: Mon, 27 Feb 2006 11:30:23 +0100 [thread overview]
Message-ID: <17410.54463.981731.409109@gargle.gargle.HOWL> (raw)
In-Reply-To: <Pine.LNX.4.63.0602261435090.9569@localhost.localdomain>
> > I want to implement the dancing link algorithm as described here:
> > http://www-cs-faculty.stanford.edu/~knuth/papers/dancing-color.ps.gz
> >
> > has someone an idea if there is an equally fast way to implent
> > this more functional?
> [...]
> With a purely functional (aka applicative aka
> immutable) data structure, modifications are not destructive. After you
> add a new element into a map, for example, the old map is still valid and
> not changed. So you can support undoing operations by just keeping
> references to the old copy of the data structure around, and dropping the
> new (modified) data structure and returning to the old one.
For the little story, I heard this ``dancing links'' talk by Knuth at
Stanford, which was simply delightful, and at the end I asked him
about the use of persistent data structures in backtracking
algorithms. I had to give a few explainations about what I meant, and
when I mentioned ML, Knuth simply replied: ``oh, the stuff by Mc
Carthy? I've never been convinced about it...''
Though it was not very surprising, I still was a bit disappointed :-)
--
Jean-Christophe Filliâtre (http://www.lri.fr/~filliatr)
next prev parent reply other threads:[~2006-02-27 10:31 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-26 20:21 Michael Wohlwend
2006-02-26 20:48 ` [Caml-list] " Diego Olivier Fernandez Pons
2006-02-26 21:28 ` Michael Wohlwend
2006-02-26 20:51 ` Brian Hurt
2006-02-26 21:03 ` Diego Olivier Fernandez Pons
2006-02-27 10:30 ` Jean-Christophe Filliatre [this message]
2006-02-27 11:02 ` Diego Olivier Fernandez Pons
2006-02-27 14:48 ` Brian Hurt
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=17410.54463.981731.409109@gargle.gargle.HOWL \
--to=filliatr@lri.fr \
--cc=bhurt@spnz.org \
--cc=caml-list@yquem.inria.fr \
--cc=micha-1@fantasymail.de \
/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