On 07/22/2011 09:36 AM, Alexander Krauss wrote:
datatype foo = ....
deriving countable, finite,

Tobias also mentioned "set_of", "map_of", etc. But since these aren't class instantiations (we have no constructor classes such as "functor"), we end up with the good old generic datatype interpretation (roughly: datatype -> theory -> theory).

So it seems like we simply want named datatype interpretations that are explicitly invoked via "deriving" (stretching the original Haskell notion quite a bit...)

Yes, this was my first goal for the "deriving" project, creating a nice user interface and providing a "implementation guide" for datatype interpretations, and automatic type class instantiations, which would end up as "recipe" in the Isabelle Cookbook.

A second goal was to automatically derive the interpretation by asking the user to give the definitions for some examples (as this can also be done in Haskell).

Of course, the student would have to have a strong ML background and must learn a lot about data types. Therefore, I wrote the project idea down, even if such a prospective student might never exist.


Lukas



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

Reply via email to