From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=BAYES_00,FAKE_REPLY_C, MAILING_LIST_MULTI autolearn=unavailable autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,92640d662fc31a03 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-05-09 14:35:18 PST Path: newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!opentransit.net!jussieu.fr!enst!enst.fr!not-for-mail From: Mike Brenner Newsgroups: comp.lang.ada Subject: Re: howto make system calls (newbie question) Date: Wed, 09 May 2001 17:42:46 -0400 Organization: none Sender: comp.lang.ada-admin@ada.eu.org Message-ID: Reply-To: comp.lang.ada@ada.eu.org NNTP-Posting-Host: marvin.enst.fr Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: avanie.enst.fr 989444109 95257 137.194.161.2 (9 May 2001 21:35:09 GMT) X-Complaints-To: usenet@enst.fr NNTP-Posting-Date: Wed, 9 May 2001 21:35:09 +0000 (UTC) To: comp.lang.ada@ada.eu.org Return-Path: X-Mailer: Mozilla 4.76 [en]C-20010313M (WinNT; U) X-Accept-Language: en Errors-To: comp.lang.ada-admin@ada.eu.org X-BeenThere: comp.lang.ada@ada.eu.org X-Mailman-Version: 2.0.3 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: comp.lang.ada mail<->news gateway List-Unsubscribe: , List-Archive: Errors-To: comp.lang.ada-admin@ada.eu.org X-BeenThere: comp.lang.ada@ada.eu.org Xref: newsfeed.google.com comp.lang.ada:7406 Date: 2001-05-09T17:42:46-04:00 Marin David Condic > ... Maybe you can expand on the idea. What sort of standrad libraries would you like to see in Ada? We went over this last year under the "killer application threads" and the answer is a sufficient number of libraries to program a few really good games. Game Number 1. The B-C eCommerce that makes a Shopping Basket that talks to banks, credit card clearing houses, warehouses, vendors, manufactureres, pick/pack/ship fulfillment houses, return authorization centers, marketing, management, accounting, auditing, catalog design, product design, the printing plant, the mailing list house, and the internet. This could all be done with some kind of messaging kernel and xml messages; however, the messaging kernel has to "out-source" to other languages with the current status of the language, specifically because the files, sockets, databases, and basic system calls are not currently available in a convenient operating system independent way. Game Number 2. The B-B eCommerce game connects companies together in a way that they have COMMITMENT. A prime example is amazon.com's way of saying "this book usually ships in 2 days", but extend it transitively to a long chain of companies. Most middlemen could be eliminated, if manufacturers could deliver products with a 98 percent delivery commitment. The catalogs would say something like "WIDGET NUMBER 27 fits into WIDGETS 28 and 36 and costs $57.00 and will be delivered anywhere in continental Cameroon in 17 days after receipt of the order." This requires realtime response from parallel channel of networks, ways of checking legal agreements and keeping score, unprecedented encryption techniques, etc. This requires the same as the above, but to get the realtime response, the conversion checking needs to be taken away from conversions from signed to unsigned numbers. Game Number 3. The Shoot'em Down Game connects household appliances, Netscape Internet browsers, keyboards, mouses, drawing pads, scanners, printers, relay boards, stepper motors, robots, lazer light shows, doors, moving walls, colored light bulbs, satellites, etc. These interfaces have to be done OUTSIDE the language now. Even a simple keyboard interrupt driver or a CD reader needs to interface to software not in the language. Game Number 4. A three dimensional immersed environment, like the Matrix or Holodeck using haptic devices to give touch-feedback. This requires a library of routines to connect to shared memory buses, very fast disk drives, associative memory devices, connections to co-processors (e.g. 3-D math co-processors and single-cycle 4-D matrix multiply processors), software interfaces to commercial products, software interfaces to commercial protocols, and interfaces to 3-D graphics and sound systems). WHERE TO START Some of the more critical libraries that are missing from most current compilers include the following: (1) DEVICES. A library of methods of receiving hot key strokes, hot mouse strokes, parallel port I/O, USB I/O, firewire I/O, SCSI I/O, bluetooth infrared I/O, CD I/O, etc. (2) URI-XML. A library of methods of serving and receiving hypertext on the world wide web. This includes web servers, application servers, database servers, ODBC, sending and receiving html messages, doing cgi, doing xml, doing sockets, doing local files, doing databases, and executing software on computers. The assumption would be that all inter-computer communication would be through previously agreed xml messages. This library should be easier to use than text_io is now. (3) HARDWARE INTERFACE. A library of methods of connecting to the shared memory and other low level hardware capabilities of the system. Of course, these libraries will be different on each system, but their visible part will be different only in quantity of certain enumeration types, not in quality. For example, to do shared memory, there will be a single call that links up the shared memories. In some systems it will only work if that is precompiled, in others when it is prelinked, in others it will be dynamic. However, it should be spelled the same way on all systems. Similarly, to execute program x in directly y on machine z should take exactly on URI command which is machine independent. Finally, although some systems can provide access to more keystrokes than others, there is a need to capture mouse and keyboard strokes in a machine independent way. Please consider this a first draft to add your own opinions to, not a final document! Mike Brenner