Dear Racketeers,

I've been using Racket on and off for small-scale private projects over several 
years. Unfortunately the majority of my development work has been based on .NET 
Framework as part of my daily job. 

I'm interested in incorporating Racket into my software stack but I need to be 
able to support interoperating with Microsoft services in use in my 
organization.

I'm considering developing a package designed to create and manage .NET objects 
and services from within Racket. For the past several weeks I've been doing 
exploratory work with Racket's ffi/unsafe library and .NET CLR's low level 
plumbing to understand what would be required to create a such package. It's 
all very preliminary right now and much design work remains to be done.

The Pythonnet project serves as an existing example of a similar type of 
package.

Before I get too deep into this, I'm doing my due diligence. I did a keyword 
search of Racket's package catalog and the users mailing list archives but 
didn't find any existing prior work along similar lines. I did find a thread 
from 2011 asking about .NET support. 

I'm asking on the list if anyone has done or know of any similar work? 
Currently I'm starting from scratch but would like to avoid unnecessary 
duplication of efforts if I can help it. Appropriate credit will of course be 
given.

Because .NET is object-oriented, therefore code written for that platform is 
designed along the lines or compiled to OO semantics — see C# versus F# — my 
current idea is to create a Racket API using Racket's own class system to map 
to .NET classes. The .NET OO semantics are similar enough to Racket's system I 
think it can be adapted to interface with .NET without too much impedance 
mismatch.

Any design ideas or suggestions are very much welcome.

Best,
Alexander McLin

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to