Oz and Mozart Hackers Mailing List

Compiling Mozart on Windows - A long term vision


From: Bob Calco (robert.calco@verizon.net)
Date: Tue Oct 29 2002 - 17:13:23 CET


Everyone:

This is kind of a repost of my earlier message which fell with a dull thud
on deaf ears last time I posted it, for reasons that I actually understand.
;)

I want to figure out how to configure Mozart source for a NON-CYGWIN build.
That is to say, a build using MS's compiler only.

My motivation for doing so is a desire eventually to integrate Mozart with
COM/COM+ services on .NET. (My motive for that is actually partly work
related, partly commercial.) Not to create Yet Another CLR Compiler for Oz
(as that would I suspect be extraordinarily difficult to do in a way that
doesn't conflict with core Oz semantics) so much as to expose the services
of the Oz emulator as a component to .NET, the Windows Script Host, ActiveX
scripting, and IIS related technologies.

I'd love, for instance, among other things, to make this kind of thing
possible, at least in IE (I'm not sure Netscape provides an interface for
anything other than JavaScript):

...
<script language="OzScript">

% simple factorial function
fun {Fact N}
   if N == 0 then
      1
   else
      N * {Fact N-1}
   end
end

% a function that does something
% arguably useful with Fact
proc {ComputeFact}
  N = {Window.prompt "Please pick a non-negative number"}
in
  for I in 1..N do
    {Document.write {Fact I}}
  end
end

</script>
...
<body onLoad="ComputeFact()">
...

---

I am already doing this for another language I like and use, Ruby, and am familiar enough now with the IActiveScript, IActiveScriptDebug and IActiveScriptParse interfaces as a result to tackle this. Or at least, more ready than I was before that effort began.

I'd also like Windows developers to be able to compile Oz ISAPI/NSAPI extensions and general COM objects, so that CGI plug-ins and applications making use of Oz's unique constraints programming capabilties could be written and compiled in Oz for use in any number of other technologies (VB, C#). That is the goal. This would also create a demand for another pet project of mine, which I call Amadeus, a complete Windows IDE for Mozart-Oz.

If we could do this, then promoting Mozart/Oz on Windows, and thus in the commercial/industrial development world, would be significantly easier.

So - I solicit the aid of the Oz gurus on Windows in understanding the implications of divorcing Mozart from Cygwin. For instance, I know zlib.lib is easy enough to compile with MSVC because its source comes ready-made with a MSVC project, but can Mozart live without GMP.lib, which appears a bit tricker to compile with MSVC, or are there acceptable alternatives?

I plan to compile using version 13.x of the cl compiler, which has better support for ANSI C++ in general. Has anybody tried yet?

Any suggestions, comments, admonitions, and otherwise feedback is appreciated. Also, any volunteers to help organize and code this project...

Sincerely,

Bob Calco

- 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/.



This archive was generated by hypermail 2b29.