I have release a new version of the Ada Structured Library I have
written. I haven't changed any old stuff, only added new things. In
particular, I have added:
* A telnet protocol handler - This provides a full implementation of
telnet, along with some option processors and a stream-based
version of telnet.
* An abstract file I/O package - IMHO, Ada needs some type of abstract
file I/O package. For instance, I wanted to implement something on
top of my telnet package that looked like a file, so that all the
applications using it wouldn't generally have to care if it was a
telnet connection, serial port, or console they were talking to.
This is a lot like Ada.Text_IO and its subtending packages, so it's
pretty flexible. This is something I would like to see added to the
Ada core language (Hint, Hint).
* A debug output framework - Applications often need a way to generate
debug I/O when necessary, and be able to turn the debug output on and
of by command. This provides a framework for doing that.
* A string tokenizer - Much like java.util.StringTokenizer, this provides
a way to take a string and chop it into tokens.
* An interactive command processor - This provides a way to allow
commands to be bound into a command processor, then executed when
the user types that command. A full telnet implementation of this
exists, it ties the debug output framework in for a complete
application framework for debugging. It also has an optional
security binding. This can be instantiated with just a few lines
of code.
* Lots of little helpers to tie all these together, along with tests
and some examples.
Since I'm not working, I've had some time to play with this. I'm
hoping it's useful for people, and I'm hoping that things like this
will help Ada succeed in the marketplace.
Oh, BTW, it's on SourceForge, you can get to it at
http://adasl.sourceforge.net
I consider this release somewhat beta, and I'll be glad to take
comments on improvements, bug fixes, or other general input on it.
But some things might change. Probably nothing general, but perhaps
some details.
-Corey
|