Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-10-02 11:24:45 -0700 (Sun, 02 Oct 2005)
Revision: 7811
Log message:
Backport some of the parser changes.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-10-02 14:25:01 -0700 (Sun, 02 Oct 2005)
Revision: 7812
Log message:
Backported the C parser. This parser is not extensively tested.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-10-02 15:28:58 -0700 (Sun, 02 Oct 2005)
Revision: 7813
Log message:
Changes made on the plane.
Partially ported Dll to use mutable variables
instead of exports everywhere. However, the
current model doesn't work.
mutable.X = 1
f() =
X = $(add $(X), 1)
If f() is called outside the scope of X, this
currently fails. I'm not sure whether this is
desirable or not.
Changes | Path |
+1 -1 | omake-branches/omake_0_9_7_ref/contrib/gtk/OMakefile |
+663 -691 | omake-branches/omake_0_9_7_ref/lib/parse/C/Dll.om |
+1 -1 | omake-branches/omake_0_9_7_ref/src/env/omake_ir_ast.ml |
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-10-02 16:56:11 -0700 (Sun, 02 Oct 2005)
Revision: 7814
Log message:
Keyword arguments require initialization.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-10-02 19:39:41 -0700 (Sun, 02 Oct 2005)
Revision: 7815
Log message:
Updated Dll.om to use mutable variables. This solution wraps
the entire code into a single function.
I've thought about the alternatives to capturing mutable variables,
but I currently think that the no-capturing policy is the best.
Arguments for:
1. It is simple.
2. It can always be circumvented with explicit initializers,
for example:
mutable.X = foo
private.initialize() =
X = foo
public.g() =
println($"X = $(X)") # fails if called out of scope of X
public.f() =
initialize()
println($"X = $(X)") # prints "X = foo"
3. Mutable variables *never* escape--this is very cool.
Arguments against:
1. Imperative programming is harder than functional, but it
is not clear that the OMake solution is an optimum relative
to the objectives.
2. Performance relative to functional programming can be O(1) worse,
because initializers may be needed.
3. It is unlike other mainstream imperative languages, where
mutable variables are often globally or statically-scoped.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-10-03 19:33:43 -0700 (Mon, 03 Oct 2005)
Revision: 7827
Log message:
(Bug 525) In "omake --version", when the default library directory is
overridden by OMAKELIB environment variable or the Windows registry, print
both the default location and the location that is actually being used.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-10-03 19:50:12 -0700 (Mon, 03 Oct 2005)
Revision: 7830
Log message:
Merged revisions 7812:7827 from the 0.9.6.x branch (this skipped a bunch of
revisions that contained things backported from 0.9.7 back to 0.9.6):
svn merge -r 7812:7827 svn+ssh://svn.metaprl.org/svnroot/mojave/omake-branches/0.9.6.x
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-10-07 20:03:08 -0700 (Fri, 07 Oct 2005)
Revision: 7877
Log message:
Use Lm_symbol_hash.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-10-13 19:09:56 -0700 (Thu, 13 Oct 2005)
Revision: 7904
Log message:
Made -debug-shell a bit more verbose (trying to find the source of Yegor's
waitpid problems).
Changes | Path |
+7 -1 | omake-branches/0.9.6.x/src/shell/omake_shell_job.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-10-13 22:40:56 -0700 (Thu, 13 Oct 2005)
Revision: 7906
Log message:
Allow the .input file to have the CRLF line terminators even when compiling on
Unix.
Changes | Path |
+12 -0 | omake-branches/0.9.6.x/src/env/omake_gen_parse.ml |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-10-14 00:47:12 -0700 (Fri, 14 Oct 2005)
Revision: 7910
Log message:
- My previous commit had an off-by-one error, fixing.
- A little more debugging in "-debug-shell".
- Regenerated some documentation.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-10-17 08:40:40 -0700 (Mon, 17 Oct 2005)
Revision: 7916
Log message:
Include Pervasives definitions to files at parse time.
This means that the following code will work as expected.
f() =
stdout = ...
...
Before, since stdout was unknown, this would have to be explicit.
f() =
Pervasives.stdout = ...
...
Note, that variable definitions in functions are still chosen
statically, and they default to private. Consider the following
code.
open build/C # Defines CFLAGS
f(file) =
CFLAGS = -g # This will be a private definition, not C.CFLAGS
$(file):
There are good arguments for and against this approach.
Changes by: Jason Hickey (jyh at cs.caltech.edu)
Date: 2005-10-17 09:45:19 -0700 (Mon, 17 Oct 2005)
Revision: 7917
Log message:
Allow the external forced vars to be redefined.
Changes | Path |
+16 -4 | omake-branches/omake_0_9_7_ref/src/env/omake_ir_ast.ml |
Changes by: Cristian Tapus (crt at cs.caltech.edu)
Date: 2005-10-21 21:37:31 -0700 (Fri, 21 Oct 2005)
Revision: 7969
Log message:
Not all tex files have citations, and in certain cases latex does
not produce an .aux file, so we should check if the .aux file exists
before checking if there are any citations.
Changes | Path |
+1 -1 | omake/lib/build/LaTeX.om |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-10-31 19:09:38 -0800 (Mon, 31 Oct 2005)
Revision: 8058
Log message:
- Copying libmojave's omake_0_9_7_ref branch to trunk
- Moving all the libmojave branches to "closed"
- Switching OMake (both 0.9.6.x and omake_0_9_7_ref branches) to using the
libmojave trunk.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-10-31 20:42:22 -0800 (Mon, 31 Oct 2005)
Revision: 8063
Log message:
Working on OCaml 3.09.0 compatibility.
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-10-31 20:53:58 -0800 (Mon, 31 Oct 2005)
Revision: 8064
Log message:
We should not assume that .aux always exists (\nofiles command would disable
.aux creation). Based on Cristian's patch.
Changes | Path |
+10 -8 | omake-branches/0.9.6.x/lib/build/LaTeX.om |
Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2005-10-31 21:10:21 -0800 (Mon, 31 Oct 2005)
Revision: 8066
Log message:
Merging the 0.9.6.x branch changes (revisions 7828 through 8064):
svn merge -r 7828:8064 svn+ssh://svn.metaprl.org/svnroot/mojave/omake-branches/0.9.6.x
(with some manual editing)