View Single Post
  #1 (permalink)  
Old 12-12-2005
FusionGyro FusionGyro is offline
Registered User
 
Name: Daniel Lyons
Organization: None
Project: None
 
Join Date: Dec 2005
Location: Albuquerque, NM, USA
Posts: 1
Send a message via AIM to FusionGyro Send a message via Yahoo to FusionGyro
-->
Implementing New Language Mappings

Hi,

I'm interested in using Ice in some of my own projects. Unfortunately, I'm a major linguaphile and thus have some concerns about what is involved with producing a new language mapping. I assume you wouldn't provide mappings for so many languages unless it was fairly easy; on the other hand, I notice that not all of the language mappings support all of the features of the C++. In fact, the PHP support seems to be extremely limited, and (at the moment) Python seems to be missing some interesting features like IceBox and Freeze.

So, here's what I'd like to know:

1. What features must be present in a language to implement ICE support? For example, I often use REALbasic at work, but it doesn't support modules or named scopes as used in Slice and the ICE-supported languages. Does this disqualify RB for ICE support altogether, or simply complicate the process? I also note that native threads are necessary for server support. This is the kind of information I'd like to have.

2. When implementing support for a new language, what process do you use? I have read elsewhere that the first thing to do is develop a Slice to Language X mapping. I see that the code is full of robust tests, so I assume there is a certain order in which features are brought into a language mapping. I don't want to tread on what may be a trade secret, but it would be most helpful if you could illuminate in broad strokes the steps taken to produce a new mapping.

Thank you very much for your time,
__________________
Daniel Lyons
Programmer, Matterform Media
http://www.matterform.com
Reply With Quote