On Fri, 13 Jan 2012, Brian Huffman wrote:

I am writing about the following recent changeset, which adds another
left-fold operator to HOL/List.thy.

author  haftmann
        Fri Jan 06 10:19:49 2012 +0100 (6 days ago)
changeset 46133 d9fe85d3d2cd
parent 46132    5a29dbf4c155
child 46134     4b9d4659228a
incorporated canonical fold combinator on lists into body of List
  theory; refactored passages on List.fold(l/r)

http://isabelle.in.tum.de/repos/isabelle/rev/d9fe85d3d2cd

I would like to take issue with a couple of things here. First, I
don't understand why it should be called "canonical". What mainstream
programming language has a left-fold operation with this particular
type signature? The only place I have ever seen this variety of fold
is in src/Pure/General/basics.ML in the Isabelle distribution.

"Canonical" is a technical term from the Isabelle/ML culture. The idea behind it is already firmly established for many years, the name is there for quite a few years as well. The Isabelle/Isar Implementation Manual privides some text on this in section 0.3. (Does anybody have a PDF to Stone-Tablet-Printer?)

I've never claimed myself that the HOL library or any other language out there is or has to be canonical in that sense, although it would do them good.


        Makarius
_______________________________________________
isabelle-dev mailing list
isabelle-...@in.tum.de
https://mailmanbroy.informatik.tu-muenchen.de/mailman/listinfo/isabelle-dev

Reply via email to