[isabelle-dev] Towards release
René Thiemann
rene.thiemann at uibk.ac.at
Mon Sep 19 13:56:02 CEST 2011
Dear all,
> There are still some improvements to the Haskell serializer and the code generator I would like to get into the release.
> After some discussions with Florian, the remaining changesets are about ready and final, so I can probably commit them till this Wednesday.
> Afterwards, the code generator is probably best checked against the two largest executable formalisations (JinjaThreads and CeTA) -- I will try to get the developers to re-run these with a current repository version or the first pre-release version.
When reading this post (and since we will port to the new distribution in any way), I started to adapt our library to the upcoming version where I used the bundle http://www4.in.tum.de/~wenzelm/test/Isabelle_11-Sep-2011/download.html
After some first adaptations I got stuck when at the first place where we use partial_function. It seems that the partial_function package is broken if polymorphic types are used. (which was not the case in Isabelle2011)
partial_function(option) foo :: "nat list \<Rightarrow> unit option" where "foo x = foo x"
works, but
partial_function(option) foo :: "'a list \<Rightarrow> unit option" where "foo x = foo x"
yields the following error message.
*** exception THM 0 raised (line 1175 of "thm.ML"): instantiate: type conflict
*** ?F :: (?'a2 list \<Rightarrow> unit option) \<Rightarrow> ?'a2 list \<Rightarrow> unit option
*** \<lambda>foo. foo :: ('a list \<Rightarrow> unit option) \<Rightarrow> 'a list \<Rightarrow> unit option
*** At command "partial_function" (line 216 of "/Users/rene/devel/rewriting/IsaFoR/Loops_Impl.thy")
or if I output sorts
*** exception THM 0 raised (line 1175 of "thm.ML"): instantiate: type conflict
*** ?F\<Colon>(?'a2\<Colon>type list \<Rightarrow> unit option) \<Rightarrow> ?'a2\<Colon>type list \<Rightarrow> unit option :: (?'a2\<Colon>type list \<Rightarrow> unit option) \<Rightarrow> ?'a2\<Colon>type list \<Rightarrow> unit option
*** \<lambda>foo\<Colon>'a\<Colon>type list \<Rightarrow> unit option. foo :: ('a\<Colon>type list \<Rightarrow> unit option) \<Rightarrow> 'a\<Colon>type list \<Rightarrow> unit option
*** At command "partial_function" (line 216 of "/Users/rene/devel/rewriting/IsaFoR/Loops_Impl.thy")
I think this is a triviality since it looks to me that one just has to replace ?a2 by 'a,
but I do not know where to fix it.
After that, I'm happy to test any further version, also repository snapshots.
Cheers,
René
More information about the isabelle-dev
mailing list