Author: Christoph Karl Walter Grein
The other day I was sitting over the new Ada95 manuals and fighting my way through the joys of objectorientedness: polymorphy, inheritance, dispatching ... everything one's heart desires. Nevertheless over time this is a rather dry stuff. My eyelids fell, I was at the point of falling asleep as suddenly I heard a faint voice calling me. I turned around; a young lady was standing in the doorway beckoning me.
I blinked. Who was she? "What is it?" she said impatiently.
I looked at her more carefully - wasn't this ... really and truly, Lady Ada herself! I jumped up and went over to her. She greeted me in a friendly manner like an old acquaintance and took me by the arm. "Let's go, I think that was enough of the dry stuff", she said, dragging me out of the room. She had prepared a fine dinner for two and wouldn't I like to see her in one hour, she only had to get herself ready a little? With this she disappeared.
I stood as if in a dream ...
Punctually, at the time arranged, I arrived at her door, excited and with a big bouquet of flowers. I rang the bell, the door opened, I entered and the door locked itself softly behind me. Low oriental music came from the living-room and the appartment was filled with a beguiling scent. Hesitatingly I walked on, knocked.
She looked ravishing in her velvet green dress with that plunging neckline, her hair done up with a white carnation. The dining-room was in candle-lit intimacy. She led me to the table laid in a festive manner:
procedure Table (Menu: in String) is Courses: constant := 10; subtype Meal is String (1 .. Courses); -- * procedure Enjoy (Choice: in Meal) is separate; begin Enjoy (Meal (Menu & (Menu'Length + 1 .. Courses => ' '))); end Table;
She bid me to take a seat. "Oh wait, a little something is missing", she interrupted me as I wanted to help myself and put a row of bottles of wine on the table at the only place (*) where there was some room:
subtype Wine is Meal; Beverages: array (1 .. Courses) of Wine;
The result was stunning. We chinked glasses, and when I partook of the first mouthful I grew faint. I only just saw Lady Ada suddenly wave a magic wand, a kind of roguish grin in her pretty face that would not really suit her, then I blacked out.
I awoke through a shrill sound and an unpleasant pressure on my forehead. When I opened my eyes, I found myself sitting at my office desk, my head had fallen on the keyboard. The shrill sound was coming from the computer, obviously the input buffer had overflown, compiler error messages careened over the screen - and to crown it all, my boss came along to enquire about the progress of my work. Helplessly and befuddled I pointed to the monitor where the compiler rejected the catenation operator "&" as ambiguous.
How come that Lady Ada spoiled the previously so delicious meal with the wine when, into the bargain, it was not even used?