[plt-scheme] Redeploying mz-com based applications?

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Thu Apr 19 23:18:05 EDT 2007

At Thu, 19 Apr 2007 21:36:36 -0500, "Grant Rettke" wrote:
> Is there any notion of redistributing applications that use mz-com?

I imagine that we should take all of our infrastructure for building
MzScheme-based executables and make it work with MzCOM. In other words,
something like

  mzc --com-exe <exe-name> <module> ...

should generate a component executable like "mzcom.exe", except that
the specified <module>s are required on start-up, and all of the
included modules are available for further use via MzCOM's `Eval'
method.

The only extra twist is adjusting the IIDs that are embedded in
"mzcom.exe". I'm not immediately sure how that works; maybe it's not
too painful.

I'll look into this, but it will take at least week or two, and maybe
much longer.

> I
> understand that I could certainly package up the exe and collections
> and redistribute them, but is this how you intended? Is it really this
> simple? 

This could work if the client view to be: attach to "MzCOM", and then
evaluate "(require (lib \"my-own-com.ss\" \"my-own-com\"))".

But if you want the client view to be: attach to "MyOwnCOM", then you
need either an intermediate stub, or you need something like `mzc
--com-exe'.

Also, packaging up collections can be painful if you want to use
libraries from others --- especially Planet-based libraries, which
you'd normally want to package together in an executable, as opposed to
having end-users download them. Our executable-building infrastructure
can do all of all that, and it would be a shame not to be able to use
it for MzCOM-based components.

Matthew



Posted on the users mailing list.