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.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,c9d5fc258548b22a X-Google-NewGroupId: yes X-Google-Attributes: gida07f3367d7,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news2.google.com!news2.google.com!news.glorb.com!news2.glorb.com!news-xxxfer.readnews.com!news-out.readnews.com!postnews7.readnews.com!not-for-mail Date: Wed, 02 Mar 2011 12:40:26 -0500 From: Hyman Rosen User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.14) Gecko/20110221 Thunderbird/3.1.8 MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: How do I write directly to a memory address? References: <67063a5b-f588-45ea-bf22-ca4ba0196ee6@l11g2000yqb.googlegroups.com> <31c357bd-c8dc-4583-a454-86d9c579e5f4@m13g2000yqb.googlegroups.com> <05a3673e-fb97-449c-94ed-1139eb085c32@x1g2000yqb.googlegroups.com> <4d4c232a$0$28967$882e7ee2@usenet-news.net> <4D4D6506.50909@obry.net> <4d50095f$0$22393$882e7ee2@usenet-news.net> <4d6d56c4$0$11509$882e7ee2@usenet-news.net> <16u9ka51wbukr$.1fj2sb73j9rv6.dlg@40tude.net> <4d6d627b$0$11509$882e7ee2@usenet-news.net> <29c4lixc0ght$.14kkfz1kij135.dlg@40tude.net> <4d6d6afb$0$11509$882e7ee2@usenet-news.net> <1gz9984wwizn5.r619fw4z9o56.dlg@40tude.net> <4d6e5614$0$21954$882e7ee2@usenet-news.net> <4d6e64f5$0$21954$882e7ee2@usenet-news.net> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <4d6e811b$0$21956$882e7ee2@usenet-news.net> NNTP-Posting-Host: 06b0e64c.usenet-news.net X-Trace: DXC=]OXgNHKKXLmJ9[8<1`m_LhQFZ3T]GPM]gmX0AG3X_jUo?>Dn@leECWnVjKk:Lk^BNacR12TN^Bg7nZZn001I:VOlcX6L6RdHX8k X-Complaints-To: abuse@usenet-news.net Xref: g2news2.google.com comp.lang.ada:18706 Date: 2011-03-02T12:40:26-05:00 List-Id: On 3/2/2011 12:21 PM, Dmitry A. Kazakov wrote: > It is. It isn't. > Of course it does. No Ada programmer would add anything to an actual > parameter. The GNATColl code did so. > Things are passed as-is in Ada. It was a requirement of untyped > SQL to quote strings in a statement This is nonsense. Ada has exactly the same requirement. In Ada, you cannot write Ada.Text_IO.Put_Line (Hello, world!); you must write Ada.Text_IO.Put_Line ("Hello, world!"); SQL is a type of programming language, and SQL statements that involve literal strings must have them be quoted. Programmers sometimes construct SQL statements dynamically and interpolate data as string literals into the SQL, and then those must be properly quoted. But SQL interfaces also grant the ability to build SQL statements with placeholder parameters where values for those parameters are passed separately when the statements are executed, and in that case the parameters are simply passed as-is with no quoting required. > as well as using other idiotic escape sequences. But Ada has the same idiocy: string_literal ::= "{string_element}" string_element ::= "" | non_quotation_mark_graphic_character >>> And if the interface were typed that could never happen. >> >> What prevented the GNATColl authors from providing such an >> interface? > > PostreSQL. No, because GNATColl provided an interface to Ada programmers. That interface was free to use any Ada design methodology and type design that its creators wished to use, regardless of the requirements of the Postgres programming interface.