[om] A Proposal for extending OpenMath with structure sharing
Bruce Miller
bruce.miller at nist.gov
Fri Apr 5 01:17:35 CEST 2002
Richard Fateman wrote:
> This notion of identity is tied to referential
> transparency, a well understood issue among programming
> language experts (this is a much smaller set than
> "expert programmers" and probably not a subset...),
> especially those who think about
> functional programming.
>
>
> See, for example,
> http://burks.brighton.ac.uk/burks/foldoc/50/97.htm
> for a definition I found on-line with google.
>
> Essentially, if you say x=y, then for any
> function f, f(x) = f(y).
>
> Also, f(x)=f(x).
>
> In this case f(random(100)) is not equal to f(random(100)).
> Also, if x-x = 0, this is not true for x=[-1,1].
I guess I'm not in the above mentioned class, since I'm not
quite getting the point. Clearly random lacks referential
transparency. In a pure `arithmetic on intervals',
x-x (for x=[-1,1]) gives [-2,2] and would have referential
transparency. For the other `interval-like-arithmetic'
(see my previous message), where x-x = 0, you
would not have referential transparency. Intuitively,
this shouldn't be surprising; the system is attempting
to infer the history of the computation, not working
purely with the value. Have I understood you correctly
so far?
> functional programming and lambda-binding provide
> a language for addressing and solving these problems.
I would think that lambda binding, which is already in
OM, would be sufficient for semantic sharing -- but what
do I know?
Are you suggesting that OM should restrict itself to
objects with referential transparency? Or that if we
dont, we end up with all the complications of procedural
programming languages?
> It might be possible to find other solutions, even better
> solutions. But I suggest that any recommendations first
> address (a) How could this be solved by lambda binding?
> (b) If it cannot be solved by (a), then another better solution
> can be proposed.
If I've understood enough of what is going on here, it seems that
one big issue is how to allow syntactic sharing without inadvertently
implying semantic sharing.
--
om at openmath.org - general discussion on OpenMath
Post public announcements to om-announce at openmath.org
Automatic list maintenance software at majordomo at openmath.org
Mail om-owner at openmath.org for assistance with any problems
More information about the Om
mailing list