[MLton] HOL's Moscow ML implementation, and pushing MLton to
emulate it
Stephen Weeks
MLton@mlton.org
Thu, 31 Mar 2005 16:08:09 -0800
> I'd really like to write
>
> val ADD_COMM = DB "arithmetic" "ADD_COMM"
> fun solve_system s = .... ADD_COM ....
>
> But this won't work because the binding for ADD_COMM will happen as
> the executable starts up, in an arithmetic-free context, and DB will
> raise an exception. (We need to support such a context precisely so
> that our tool can itself be used for the development of the arithmetic
> theory in the first place).
I don't understand the problem with this approach. Why can't you
guarantee that the DB has the necessary theorem, either from an
earlier invocation of a different executable, or earlier in the
startup of this executable?