Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-08-29 15:24:40 -0700 (Mon, 29 Aug 2005)
Revision: 1426
Log message:
Here are some changes I made at TPHOLs--I'd like to finish this off soon.
Most of these changes have to do with exports.
-- Added exports with values,
f() =
X = ...
export
1
Y = $(f)
This will export X, and define Y as 1.
-- The value in the export block is defined in export
mode. So you no longer have to write that huge
chain of exports. Before we had code like:
foreach(x => $(y))
if ...
z = ...
export
export
export
Now, you can just define it in export mode:
export
foreach(x => $(y))
if ...
z = ...
-- New variables defined in functions are now private.
Private variables are not exported across function boundaries.
Here is the current show-stopper (we always had this problem, we just
never noticed it). What happens with an export from a higher-order function?
The context can be quite different, and the export doesn't always make sense.