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 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,91965a012526b259 X-Google-Attributes: gid103376,public X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news2.google.com!fu-berlin.de!uni-berlin.de!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Float to String Date: Thu, 11 Nov 2004 19:31:48 +0100 Organization: cbb software GmbH Message-ID: <1fu1slo2egbab.xitgjbz0nv4m.dlg@40tude.net> References: <526nxsbun7e2.1n5a4jpe7u7ww$.dlg@40tude.net> <87bre63qh3.fsf@beeblebrox.rfc1149.net> <1hmyhi3g3ogfq.gdvw6tkdvemq.dlg@40tude.net> <1hodchxl46179.1i803q74p7on3.dlg@40tude.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: news.uni-berlin.de 3PDaf+BHxJemKt/eB0QhfwWRxphYXMZgJBfoquRUVrn39lMLc= User-Agent: 40tude_Dialog/2.0.12.1 Xref: g2news1.google.com comp.lang.ada:6152 Date: 2004-11-11T19:31:48+01:00 List-Id: On Thu, 11 Nov 2004 16:40:30 +0000, Marius Amado Alves wrote: >> So it is kind of PL/1, pre Ada 83. You have elementary types and you can >> compose structures out of them. The problem of all such approaches it that >> the representation becomes fixed.... > > Not a problem here. Mneson is not for system programming. Mneson gives > you a semantic data model. It is a database system. Data independence > implies lost of representation control. Isn't it controversial? To me independency means not to control the representation, which might only illusory anyway, but to control the interface. You define your requirements and it is up to the system to figure out how to fulfill them. This is the way Ada 83 tried to deal with numeric types. >> type My_Integer is new Integer; >> -- My_Integer is built upon Integer. This cannot be portable. >> -- Or else one should go the Integer-N way. This cure is >> -- worse than the disease. >> >> type My_Integer is range ..; >> -- This is portable, but does not fit in your model > > Yes it fits, because Mneson basic types are designed big enough [1]. If > you have Ada integers you want to store in Mneson you just convert to > Integer_64. > > X : Vertex := To_Vertex (Integer_64 (Your_Integer)); > > And (at the base level) Mneson does not check the range, but you will > get that when you convert back to Your_Integer. > > Your_Integer := My_Integer (Integer_64'(Value (X))); > ________ > [1] Well, "big enough" is currently 64 bits. There will be a 128-bit > version eventually. And then 256-bit, where is any end? What you are trying to do is to define a god-integer type to satisfy all possible requirements. That is impossible. You can make it 1024-bit, but then it will be unsuitable for pixels of an image. What about a database scalable from an embedded microcontroller to a super cluster? -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de