Hi Kostja,
my Oz project (MBASE) takes advantage of
the fact that the result of
OzPatternVS = {VirtualString.toValue DAG 1000 1000}
can be used as input for compilation,
as e.g. in
fun {Concat X Y} X#"\n"#Y end
{Compiler.evalExpression
{FoldR
[
" fun {Test T}"
" case T of "#OzPatternVS
" then true"
" else false"
" end"
" end"
]
Concat nil}
Env _}
When I talked to Leif about this,
he told me that this indeed had an
influence on the design of the output
routine that its result can be
used as input for the compiler (for
simple things, at least).
While this works fine in Mozart 1.1.0,
it breaks in Mozart 1.2.0, and the
mozart-1-2-0-fixes branch still has
the problem: A simple
{System.show _}
will give you
_
in Mozart 1.1.0, whereas in
Mozart 1.2.0 it will be displayed as
_<optimized>
which isn't at all useful as input
for the compiler any more.
The only place in the sources where
I could find the string '<optimized>'
is in
platform/emulator/var_opt.hh
And looking at var_opt.hh,v in the
CVS showed me that there is only a
single version (1.1) that already
has this string, checked in by you
on Oct 9th, 2000.
Is this a bug or a feature? Do I
have to write my own version of
Value.toVirtualString? Is there
already some Oz code available
somewhere for this?
Thanks,
Andreas
-
Please send submissions to hackers@mozart-oz.org
and administriva mail to hackers-request@mozart-oz.org.
The Mozart Oz web site is at http://www.mozart-oz.org/.