[Omake] LaTeX bug with BIBINPUTS.

Jason Hickey jyh at cs.caltech.edu
Wed Jul 5 12:18:40 PDT 2006


Also, I forgot to say that the key point is that naive definitions would 
always work.

    Environment. +=
        $|TEXINPUTS| = ...
        $|BIBINPUTS| = ...

The methods are only there to simplify the syntax.

Jason

Jason Hickey wrote:
> Aleksey Nogin wrote:
> 
>> Well, right, didn't we already discuss this about a year ago?
> 
> 
> (Moving to omake-devel)
> 
> If I remember, we got bogged down because we were looking for a 
> transparent solution.  The general problem is that 1) there are two 
> separate namespaces, 2) some (but not all) values are being duplicated, 
> and 3) the duplicates can be inconsistent.
> 
> At a high level, I think there are two approaches:
>    1. Transparency (consistency is automatic, the programmer never
>       need know that there is an environment).
>    2. Explicitness (do not duplicate; all operations on the
>       environment must do so explicitly, for example with
>       getenv/setenv).
> 
> Transparency is hard, but using getenv/setenv directly is painful.
> 
> I'm thinking there is a solution in the middle.  The environment would 
> be explicit, but it would be an object "Environment" (similar to the 
> "Shell" object).
> 
> The main point would be to achieve a limited form of transparency.
> 
>     Environment. =
>         extends $(Map)
>         # The environment is initialized at startup
> 
>         get-TEXINPUTS() =
>             split(:, $|TEXINPUTS|)
> 
>         set-TEXINPUTS(a) =
>             $|TEXINPUTS| = $(concat :, $a)
>             value $(this)
> 
> I know it could be a lot smarter than this, but it might be a move in 
> the right direction.  One would hope to have a syntax like the following:
> 
>     Environment.TEXINPUTS[] =
>         a
>         b//
> 
> instead of this:
> 
>     Environment = $(Environment.set-TEXINPUTS a b//)
> 
> Jason
> 


-- 
Jason Hickey                  http://www.cs.caltech.edu/~jyh
Caltech Computer Science      Tel: 626-395-6568 FAX: 626-792-4257



More information about the OMake-Devel mailing list