Deal 3.0A brief history |
I mentioned that idea to my partner at the time, Nathan Glasser, and he wrote a program called bid, which is still available from the bridge archives.
The problem with bid was that it could not be used for practicing specific auctions. John Oswalt solved this in a rather crude fashion. His modification forced you to re-link your application each time you wrote a new query (in C).
After using this modified version for a while, I got frustrated and
wrote a very crude interpreter. It was a "stack-based" language
so I wouldn't have to write a parser. It was very much like the Unix "dc"
calculator, only without all the features. (That's a joke, but I guess
you wouldn't get it if you didn't know dc
.)
I could have used a fully interpreted language, like Perl, but for the types of simulations I was doing, I needed very fast execution of the computation routines, and so implementing the core in an interpreted language was going to slow down the program too much.
In about 1992 I first stumble across the Tcl language. Immediately, I saw that I could use it in my dealer. Tcl was an interpreted language which had excellent support for extensibility via fast C routines. It turned out that Nathan's code did not easily fit into my new scheme, so I rewrote the dealer from scratch. I had my first version done quickly, and released the first public version (v0.5 I called it, in retrospect) in 1993.
The next version (v1.0) was released about two years later, and basically cleaned up the query interface. In the haze of my memory, I can not recall what features were added, certainly "vectors" and "shape classes."
Version 2.0 uses new optimization methods, some of which were suggested to me by the very same Nathan Glasser. There are some other new features, including shape functions, customizable output formatting, and more built-in formats.
Version 3.0 was the next major release. Major changes are:
The next version of Deal I've called "iDeal." It's a much changed beast, and could almost be called a general bridge programming environment. Currently, my progress here has stalled, but I'm planning on a GUI interface to the Deal.
While Deal is a labor of love for me, it makes it easier to love the project if I get feedback which shows people are using Deal. Even if you tried Deal and did not like it, please let me know.
Update: August, 2007. I haven't worked on Deal much in a while.
Thomas Andrews
(deal@thomasoandrews.com)
Copyright 1996-2005. Deal is covered by the
GNU General Public License.
Plane Dealing graphic above created using POV-Ray. |