DDL homepage at SSCLI.net
DDL homepage on this site

DDL Future Enhancements/Wish-List

This is the wish-list for the future, stuff we wish to do to enhance the DDL. Some of these are by us and some are by folk who have tried the DDL. This page is just being setup so please pardon inconsistencies. 

 

Compiler:
 In most cases, an end application or suite of applications would need to interpret a format once, and use it several times. As such, it might make sense to write a DDL *compiler*; one which produces a strongly-typed class for parsing a given data format. So, end applications could use the produced class rather than invoke the engine, in situations where this is more appropriate.
[Raj Chaudhuri (email: rajch at hotmail dot com)]
Designing a compiled equivalent of the DDL strcuture... show
Some clarification about the "compiler". show
A Compiler will be neat show
Mapper:
Another utility I can immediately think of is a "mapper"; something which allows for a DDL-defined data structure to be mapped or transformed into another. The basic nature of DDL seems to allow for doing this easily. Ship a generic XML mapper, and we are both buzzword-compliant and interoperable.
[Raj Chaudhuri (email: rajch at hotmail dot com)]
(design approach to be filled in...)
Optimizations for speed:
Specifically:
- Try and generate a hash code for member names and have the internals working on hash codes rather than string names, this will be good speed up (I don't know why I did not do this earlier). Also expose to user API a hash code version of the functions also.
[Authors (email: spark at sscli dot net / dolly at sscli dot net)]
Language Enhancements:
There need to be some additions to the DDL language. The current syntax cannot accommodate some data specifications, these may be hard to do or not possible at all. The language enhancements doc is an annotated version of the language specifications document with the proposed additions appropriately marked.

These language enhancements would possibly be released only with the compiler version of the DDL. This is the ddlc design page where you will find the current version of the Language Enhancements document.

[Authors (email: spark at sscli dot net / dolly at sscli dot net)]
Managed Code (conversion):
Convert to fully managed source code - for interop with Rotor/Mono. Right now, its is a mixed mode assembly which means that it relies on a C style unmanaged heap for some objects - this is not support by all CLI implementations as CLI specs don't mandate this.
[Authors (email: spark at sscli dot net / dolly at sscli dot net)]
Revamp the entire internal architecture and design more primitives to the language to support more data formats
refer to entry on language enhancements
[Authors (email: spark at sscli dot net / dolly at sscli dot net)]

 

I think these are out of the way for now:

Error Reporting:
Have a more robust error reporting, Specifically:
 - Expose IRA resolution failures to the error list
 - Expose equation evaluation failures to the error list
[Authors (email: spark at sscli dot net / dolly at sscli dot net)]
Expose to other environments also - possibly as a COM consumable object
[Authors (email: spark at sscli dot net / dolly at sscli dot net)]