caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* [Caml-list] ISAPI filter
@ 2001-10-08 17:08 Jenda Krynicky
  2001-10-12 10:06 ` [Caml-list] DLLs or COM (was: ISAPI filter) Jenda Krynicky
  0 siblings, 1 reply; 4+ messages in thread
From: Jenda Krynicky @ 2001-10-08 17:08 UTC (permalink / raw)
  To: caml-list

Is it possible to create an ISAPI filter (MS IIS "plugin") DLL in 
ocaml? Did anyone ever tried this?

If not could you please suggest another language? (Apart from 
C(++) of course)

Thanks, Jenda


=========== Jenda@Krynicky.cz == http://Jenda.Krynicky.cz ==========
There is a reason for living. There must be. I've seen it somewhere.
It's just that in the mess on my table ... and in my brain.
I can't find it.
					--- me
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Caml-list] DLLs or COM (was: ISAPI filter)
  2001-10-08 17:08 [Caml-list] ISAPI filter Jenda Krynicky
@ 2001-10-12 10:06 ` Jenda Krynicky
  2001-10-12 14:27   ` Xavier Leroy
  0 siblings, 1 reply; 4+ messages in thread
From: Jenda Krynicky @ 2001-10-12 10:06 UTC (permalink / raw)
  To: caml-list

I asked at Mon, 8 Oct 2001 19:08:14 +0200 :
> Is it possible to create an ISAPI filter (MS IIS "plugin") DLL in
> ocaml? Did anyone ever tried this?

Well since noone answered I assume it's not :-(

Or maybe let me reword the question ...

Can you produce an ordinary Windows DLL with OCaml?
Can you use a function to that you got a pointer and whose C style 
header you know?
Can you access C style structures you got a pointer to from 
somewhere?

A related question :

Can you use COM objects with OCaml?
Can you create COM objects with OCaml? Can those objects be 
poolable?

( I do have MSVC 6.0 by hand if that's necessary.)

Thanks, Jenda

P.S.: I'm sorry but I don't have time to learn a language only 
because it looks nice. I have tasks to do.
I've used SML/NJ and Concurrent Clean while at university so I 
have enough background to learn the language quickly, but before I 
start I need to know if it's going to be useful for anything.
Sorry, maybe all this info is somewhere on the pages, but I did not 
find an ultimative answer yet.

=========== Jenda@Krynicky.cz == http://Jenda.Krynicky.cz ==========
There is a reason for living. There must be. I've seen it somewhere.
It's just that in the mess on my table ... and in my brain.
I can't find it.
					--- me
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Caml-list] DLLs or COM (was: ISAPI filter)
  2001-10-12 10:06 ` [Caml-list] DLLs or COM (was: ISAPI filter) Jenda Krynicky
@ 2001-10-12 14:27   ` Xavier Leroy
  2001-10-12 15:06     ` Jenda Krynicky
  0 siblings, 1 reply; 4+ messages in thread
From: Xavier Leroy @ 2001-10-12 14:27 UTC (permalink / raw)
  To: Jenda Krynicky; +Cc: caml-list

> Can you produce an ordinary Windows DLL with OCaml?
> Can you use a function to that you got a pointer and whose C style 
> header you know?
> Can you access C style structures you got a pointer to from 
> somewhere?

Yes, all this can be done with the help of some C stub code.  You need
to compile the Caml code to a C object file (option -output-obj),
then write a bit of C stub code to give a C interface to your Caml
code.  Finally, the C object file generated by Caml can be linked with
the stub code and the Caml runtime system to produce a DLL.  Not
completely trivial, but doable.

> A related question :
> Can you use COM objects with OCaml?
> Can you create COM objects with OCaml?

The CamlIDL tool (http://caml.inria.fr/camlidl/) lets you create and
use COM components in Caml.  It automates the creation of the C stub
code mentioned earlier, and also comes with handy scripts to help
building the DLL as described above.

> Can those objects be poolable?

I don't know what a "poolable object" is.

- Xavier Leroy
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [Caml-list] DLLs or COM (was: ISAPI filter)
  2001-10-12 14:27   ` Xavier Leroy
@ 2001-10-12 15:06     ` Jenda Krynicky
  0 siblings, 0 replies; 4+ messages in thread
From: Jenda Krynicky @ 2001-10-12 15:06 UTC (permalink / raw)
  To: caml-list

From:           	Xavier Leroy <xavier.leroy@inria.fr>
> > Can you produce an ordinary Windows DLL with OCaml?
> > Can you use a function to that you got a pointer and whose C style
> > header you know? Can you access C style structures you got a pointer
> > to from somewhere?
> 
> Yes, all this can be done with the help of some C stub code.  You need
> to compile the Caml code to a C object file (option -output-obj), then
> write a bit of C stub code to give a C interface to your Caml code. 
> Finally, the C object file generated by Caml can be linked with the
> stub code and the Caml runtime system to produce a DLL.  Not
> completely trivial, but doable.

Fine, thanks :-)

If I get anywhere I'll share the results.

> > A related question :
> > Can you use COM objects with OCaml?
> > Can you create COM objects with OCaml?
> 
> The CamlIDL tool (http://caml.inria.fr/camlidl/) lets you create and
> use COM components in Caml.  It automates the creation of the C stub
> code mentioned earlier, and also comes with handy scripts to help
> building the DLL as described above.
> 
> > Can those objects be poolable?
> 
> I don't know what a "poolable object" is.

COM+ services are able to pre-create a "pool" of objects and then 
when an ASP page or whatever asks for an instance it is given one 
of the already existing objects, then as the page stops using the 
object it's returned to the pool and reused.
It should speed things up. Especialy since in the ASP pages you 
usualy only use the object once or twice.

Sorry I don't remember exactly what is needed (I believe the object 
has tu support a certain COM interface plus maybe something 
else), but I know for sure you can't create poolable objects with 
Visual Basic.

Jenda

=========== Jenda@Krynicky.cz == http://Jenda.Krynicky.cz ==========
There is a reason for living. There must be. I've seen it somewhere.
It's just that in the mess on my table ... and in my brain.
I can't find it.
					--- me
-------------------
Bug reports: http://caml.inria.fr/bin/caml-bugs  FAQ: http://caml.inria.fr/FAQ/
To unsubscribe, mail caml-list-request@inria.fr  Archives: http://caml.inria.fr


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2001-10-12 15:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-10-08 17:08 [Caml-list] ISAPI filter Jenda Krynicky
2001-10-12 10:06 ` [Caml-list] DLLs or COM (was: ISAPI filter) Jenda Krynicky
2001-10-12 14:27   ` Xavier Leroy
2001-10-12 15:06     ` Jenda Krynicky

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).