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.
      

Changes  Path
+14 -0 libmojave-branches/omake_0_9_7_pre5/stdlib/lm_map.ml
+1 -0 libmojave-branches/omake_0_9_7_pre5/stdlib/lm_map_sig.ml
+4 -2 omake-branches/omake_0_9_7_pre5/OMakefile
+1 -1 omake-branches/omake_0_9_7_pre5/contrib/gtk/OMakefile
+4 -0 omake-branches/omake_0_9_7_pre5/contrib/gtk/dll.c
+3 -2 omake-branches/omake_0_9_7_pre5/lib/configure/Configure.om
Properties omake-branches/omake_0_9_7_pre5/lib/parse/C
+1 -0 omake-branches/omake_0_9_7_pre5/lib/parse/C/.cvsignore
+741 -840 omake-branches/omake_0_9_7_pre5/lib/parse/C/Dll.om
+2 -2 omake-branches/omake_0_9_7_pre5/lib/parse/C/Lex.om
+4 -1 omake-branches/omake_0_9_7_pre5/lib/parse/C/Parse.om
+60 -52 omake-branches/omake_0_9_7_pre5/mk/make_config
+7 -7 omake-branches/omake_0_9_7_pre5/mk/make_gen
+0 -606 omake-branches/omake_0_9_7_pre5/src/Makefile
+0 -602 omake-branches/omake_0_9_7_pre5/src/Makefile.nt
+2 -2 omake-branches/omake_0_9_7_pre5/src/build/omake_builtin_base.ml
+1 -1 omake-branches/omake_0_9_7_pre5/src/build/omake_builtin_dll.ml
+1 -1 omake-branches/omake_0_9_7_pre5/src/build/omake_builtin_file.ml
+5 -5 omake-branches/omake_0_9_7_pre5/src/build/omake_builtin_io_fun.ml
+3 -7 omake-branches/omake_0_9_7_pre5/src/build/omake_builtin_object.ml
+2 -2 omake-branches/omake_0_9_7_pre5/src/build/omake_builtin_rule.ml
+1 -1 omake-branches/omake_0_9_7_pre5/src/build/omake_builtin_shell.ml
+1 -1 omake-branches/omake_0_9_7_pre5/src/build/omake_builtin_target.ml
+27 -15 omake-branches/omake_0_9_7_pre5/src/env/omake_command_digest.ml
+112 -22 omake-branches/omake_0_9_7_pre5/src/env/omake_env.ml
+25 -9 omake-branches/omake_0_9_7_pre5/src/env/omake_env.mli
+515 -336 omake-branches/omake_0_9_7_pre5/src/env/omake_ir_ast.ml
+4 -3 omake-branches/omake_0_9_7_pre5/src/env/omake_ir_free_vars.ml
+41 -23 omake-branches/omake_0_9_7_pre5/src/eval/omake_eval.ml
+1 -0 omake-branches/omake_0_9_7_pre5/src/eval/omake_rule.ml
+12 -8 omake-branches/omake_0_9_7_pre5/src/ir/omake_ir.ml
+23 -17 omake-branches/omake_0_9_7_pre5/src/ir/omake_ir_print.ml
+1 -1 omake-branches/omake_0_9_7_pre5/src/ir/omake_ir_util.ml
Properties omake-branches/omake_0_9_7_pre5/tests/dll/gtk
Added omake-branches/omake_0_9_7_pre5/tests/dll/gtk/.cvsignore
Properties omake-branches/omake_0_9_7_pre5/tests/dll/gtk/.cvsignore
Added omake-branches/omake_0_9_7_pre5/tests/dll/gtk/Test.om
Properties omake-branches/omake_0_9_7_pre5/tests/dll/gtk/Test.om
Added omake-branches/omake_0_9_7_pre5/tests/dll/gtk/dll.c
Properties omake-branches/omake_0_9_7_pre5/tests/dll/gtk/dll.c
Added omake-branches/omake_0_9_7_pre5/tests/dll/gtk/dll.h
Properties omake-branches/omake_0_9_7_pre5/tests/dll/gtk/dll.h
Added omake-branches/omake_0_9_7_pre5/tests/dll/gtk/enums.export
Properties omake-branches/omake_0_9_7_pre5/tests/dll/gtk/enums.export
Added omake-branches/omake_0_9_7_pre5/tests/dll/gtk/lib.c
Properties omake-branches/omake_0_9_7_pre5/tests/dll/gtk/lib.c
Added omake-branches/omake_0_9_7_pre5/tests/dll/gtk/structs.export
Properties omake-branches/omake_0_9_7_pre5/tests/dll/gtk/structs.export
Added omake-branches/omake_0_9_7_pre5/tests/dll/gtk/values.export
Properties omake-branches/omake_0_9_7_pre5/tests/dll/gtk/values.export
Properties omake-branches/omake_0_9_7_pre5/tests/dll/simple
Added omake-branches/omake_0_9_7_pre5/tests/dll/simple/.cvsignore
Properties omake-branches/omake_0_9_7_pre5/tests/dll/simple/.cvsignore
Added omake-branches/omake_0_9_7_pre5/tests/dll/simple/Test.om
Properties omake-branches/omake_0_9_7_pre5/tests/dll/simple/Test.om
Added omake-branches/omake_0_9_7_pre5/tests/dll/simple/dll.c
Properties omake-branches/omake_0_9_7_pre5/tests/dll/simple/dll.c
Added omake-branches/omake_0_9_7_pre5/tests/dll/simple/dll.h
Properties omake-branches/omake_0_9_7_pre5/tests/dll/simple/dll.h
Added omake-branches/omake_0_9_7_pre5/tests/dll/simple/enums.export
Properties omake-branches/omake_0_9_7_pre5/tests/dll/simple/enums.export
Added omake-branches/omake_0_9_7_pre5/tests/dll/simple/lib.c
Properties omake-branches/omake_0_9_7_pre5/tests/dll/simple/lib.c
Added omake-branches/omake_0_9_7_pre5/tests/dll/simple/structs.export
Properties omake-branches/omake_0_9_7_pre5/tests/dll/simple/structs.export
Added omake-branches/omake_0_9_7_pre5/tests/dll/simple/values.export
Properties omake-branches/omake_0_9_7_pre5/tests/dll/simple/values.export