History log of /seL4-l4v-master/HOL4/src/1/theory_tests/gh225aScript.sml
Revision Date Author Comments
# 2673d9c6 18-Jan-2015 Michael Norrish <Michael.Norrish@nicta.com.au>

Allow users to export theorem names that are constructor names.

The hacky trick to allow this is to first use a fun binding to
"de-constructorify" the name. Thus

fun Empty x = x
val Empty = 3

allows you to bind Empty, despite it being an exception name, and thus
a constructor name.

There are still names that just won't work: Poly/ML (at least) doesn't
allow rebinding of ::, true, false, ref and nil. We should probably
immediately raise an error with those cases on an attempt to save.

Closes #225