Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Ada > Re: Ada.Strings...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 49 of 109 Topic 5630 of 5827
Post > Topic >>

Re: Ada.Strings.Bounded

by Eric Hughes <eric.eh9@[EMAIL PROTECTED] > Apr 13, 2008 at 04:52 PM

On Apr 13, 2:10 pm, Robert A Duff <bobd...@[EMAIL PROTECTED]
>
wrote:
> There is no such thing as Ada.Strings.String.  I thought maybe you meant
> the package Ada.Strings.Fixed, but that package has no type.  It uses
> the predefined type String (which is declared in Standard, and
> therefore visible everywhere), and it _does_ have concatenation ops.
> So I don't understand what you mean.

I meant .Fixed and I meant the regular String type.  And I forgot that
concatenation isn't declared.  Blah.  Sorry for generating confusion.
For my own part, I only use String for string literals.

> I agree that blank-padding is a nearly useless thing to do.
> But you can do a lot with fixed-length strings, so long
> as you program them in a mostly-functional style.

I'm not denying any of that.  My critique is pretty much solely about
names.

> String and Unbounded_String are both strings of characters,
> so I don't see why it's "plain wrong". [...]
> Adding some (near-useless) operations on String that do blank-padding
> doesn't suddenly make String not a string type.

No, but it does create a violation of axioms that define
universal_string.  Such axioms are essentially those of a semigroup
with the trivial inverse operation where only the empty string has an
inverse.  (Perhaps we might also say "maximally non-invertible
semigroup".  )  You start adding padding manipulations in there and
these axioms are no longer true.

Speaking formally, which I was trying to do (but failing in the
details), almost-a-string is a subset of not-a-string.  Axiom
satisfaction has sharp boundaries that don't usually coincide with
ordinary conceptual boundaries.  Informally, sure, they're both
strings.  But the Ada String type, with its padding, does not satisfy
the axioms of universal_string.  The problem is that it's a fixed
array, not a fixed array allocation with a variable length like
Bounded_String.  If I assign the value "A", a String of length 1, to a
String(2), the length of its value as a universal_string changes from
1 to 2.  So even simple assignment violates the axioms.

I'm not denying that having an informally-a-string type which is a
fixed-length array is useful and efficient.  It's just not a possible
implementation of universal_string.  And it's not like you can't
interconvert, but you should probably not do so silently, because
you're not satisfying a set of common axioms.

The problem that was the nexus of the original discussion is that
string literals are of type String and not deemed elements of
universal_string.

There's a second problem, one of usability, that the default string
type ought to be Unbounded_String, because it's closest to
universal_string and would create the fewest surprises (manifested in
exceptions raised).  That's really another discussion, though.

Eric
 




 109 Posts in Topic:
Untyped Ada?
"Phaedrus" <  2008-03-31 14:44:43 
Re: Untyped Ada?
"Randy Brukardt"  2008-03-31 19:16:01 
Re: Untyped Ada?
tmoran@[EMAIL PROTECTED]   2008-04-01 02:19:09 
Re: Untyped Ada?
"Dmitry A. Kazakov&q  2008-04-01 09:44:02 
Re: Untyped Ada?
Jean-Pierre Rosen <ros  2008-04-01 10:28:59 
Re: Untyped Ada?
"Phaedrus" <  2008-04-01 13:44:25 
Re: Untyped Ada?
Pascal Obry <pascal@[E  2008-04-01 19:09:26 
Re: Untyped Ada?
"Phaedrus" <  2008-04-01 14:00:15 
Re: Untyped Ada?
"Dmitry A. Kazakov&q  2008-04-02 09:31:07 
Re: Untyped Ada?
<adaworks@[EMAIL PROTE  2008-04-04 11:02:08 
Re: Untyped Ada?
Ludovic Brenta <ludovi  2008-04-01 23:51:39 
Re: Untyped Ada?
Graham <graham.stark@[  2008-04-04 08:16:04 
Re: Untyped Ada?
Pascal Obry <pascal@[E  2008-04-04 18:10:31 
Re: Untyped Ada?
DScott <Merlin43PhD@[E  2008-04-04 11:32:39 
Re: Untyped Ada?
"Dmitry A. Kazakov&q  2008-04-04 19:38:19 
Re: Untyped Ada?
Adam Beneschan <adam@[  2008-04-04 09:18:42 
Re: Untyped Ada?
Georg Bauhaus <rm.plus  2008-04-04 20:52:38 
Re: Untyped Ada?
"Dmitry A. Kazakov&q  2008-04-05 10:07:42 
Re: Untyped Ada?
Graham <graham.stark@[  2008-04-04 12:14:38 
Re: Untyped Ada?
tmoran@[EMAIL PROTECTED]   2008-04-04 16:06:29 
Re: Untyped Ada?
"Dmitry A. Kazakov&q  2008-04-05 10:44:00 
Re: Ada.Bounded_Strings
Adam Beneschan <adam@[  2008-04-04 14:09:27 
Re: Ada.Bounded_Strings
Robert A Duff <bobduff  2008-04-04 19:35:37 
Re: Ada.Strings.Bounded
Adam Beneschan <adam@[  2008-04-04 14:15:13 
Re: Ada.Strings.Bounded
Gautier <gautier@[EMAI  2008-04-05 06:39:44 
Re: Ada.Strings.Bounded
Pascal Obry <pascal@[E  2008-04-05 11:43:39 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-05 12:10:41 
Re: Ada.Strings.Bounded
Gautier <gautier@[EMAI  2008-04-05 13:36:42 
Re: Ada.Strings.Bounded
Pascal Obry <pascal@[E  2008-04-05 14:14:41 
Re: Ada.Strings.Bounded
"Randy Brukardt"  2008-04-05 19:31:48 
Re: Ada.Bounded_Strings
Adam Beneschan <adam@[  2008-04-04 18:46:52 
Re: Ada.Bounded_Strings
"Randy Brukardt"  2008-04-04 23:55:56 
Re: Ada.Bounded_Strings
"Dmitry A. Kazakov&q  2008-04-05 09:30:30 
Re: Ada.Bounded_Strings
"Randy Brukardt"  2008-04-05 19:44:26 
Re: Ada.Strings.Bounded
Adam Beneschan <adam@[  2008-04-07 07:57:55 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-07 17:23:19 
Re: Ada.Strings.Bounded
stefan-lucks@[EMAIL PROTE  2008-04-07 18:34:54 
Re: Ada.Strings.Bounded
"(see below)" &  2008-04-07 18:34:17 
Re: Untyped Ada?
Eric Hughes <eric.eh9@  2008-04-12 09:50:24 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-12 11:50:56 
Re: Ada.Strings.Bounded
Georg Bauhaus <rm.tsoh  2008-04-12 21:46:45 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-12 23:09:12 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-13 09:31:17 
Re: Ada.Strings.Bounded
Robert A Duff <bobduff  2008-04-13 16:02:49 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-13 09:53:16 
Re: Ada.Strings.Bounded
Robert A Duff <bobduff  2008-04-13 16:10:36 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-13 16:20:24 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-14 11:07:47 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-13 16:52:00 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-14 10:00:04 
Re: Ada.Strings.Bounded
Adam Beneschan <adam@[  2008-04-14 08:11:04 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-14 08:25:41 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-14 20:36:25 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-14 08:50:21 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-14 20:52:16 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-15 10:02:31 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-15 16:58:12 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-16 10:16:44 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-16 20:28:52 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-15 17:23:56 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-16 10:00:23 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-14 09:09:27 
Re: Ada.Strings.Bounded
Georg Bauhaus <rm.tsoh  2008-04-14 20:13:03 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-14 18:35:05 
Re: Ada.Strings.Bounded
Georg Bauhaus <rm.tsoh  2008-04-15 22:33:31 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-14 18:39:46 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-14 19:07:25 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-15 06:56:57 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-15 07:20:15 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-15 19:46:12 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-15 19:51:17 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-15 20:11:04 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-16 07:40:32 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-20 17:44:56 
Re: Ada.Strings.Bounded
Robert A Duff <bobduff  2008-04-21 10:08:16 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-21 20:50:16 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-21 09:35:36 
Re: Ada.Strings.Bounded
Robert A Duff <bobduff  2008-04-21 14:04:56 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-22 19:49:10 
Re: Ada.Strings.Bounded
Samuel Tardieu <sam@[E  2008-04-22 20:26:31 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-21 17:19:52 
Re: Ada.Strings.Bounded
Robert A Duff <bobduff  2008-04-22 11:41:29 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-22 20:59:27 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-21 17:31:37 
Re: Ada.Strings.Bounded
Adam Beneschan <adam@[  2008-04-21 17:49:39 
Re: Ada.Strings.Bounded
Adam Beneschan <adam@[  2008-04-21 18:02:45 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-22 08:25:13 
Re: Ada.Strings.Bounded
Robert A Duff <bobduff  2008-04-22 11:54:34 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-22 08:30:24 
Re: Ada.Strings.Bounded
Robert A Duff <bobduff  2008-04-22 12:08:49 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-22 11:47:05 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-22 21:19:27 
Re: Ada.Strings.Bounded
Robert A Duff <bobduff  2008-04-22 15:41:10 
Re: Ada.Strings.Bounded
Georg Bauhaus <rm.dash  2008-04-23 12:42:32 
Re: Ada.Strings.Bounded
"Randy Brukardt"  2008-04-23 19:29:17 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-23 14:32:16 
Re: Ada.Strings.Bounded
Adam Beneschan <adam@[  2008-04-22 12:56:20 
Re: Ada.Strings.Bounded
Adam Beneschan <adam@[  2008-04-22 13:15:24 
Re: Ada.Strings.Bounded
Peter Hermann <ica2ph@  2008-04-23 13:14:24 
Re: Ada.Strings.Bounded
"Dmitry A. Kazakov&q  2008-04-23 16:40:28 
Re: Ada.Strings.Bounded
Eric Hughes <eric.eh9@  2008-04-22 15:55:09 
Re: Ada.Strings.Bounded
christoph.grein@[EMAIL PR  2008-04-22 23:40:55 
Re: Ada.Strings.Bounded
christoph.grein@[EMAIL PR  2008-04-22 23:54:06 
Re: Ada.Strings.Bounded
christoph.grein@[EMAIL PR  2008-04-23 05:52:24 
Re: Ada.Strings.Bounded
Georg Bauhaus <rm.dash  2008-04-23 15:34:06 
Re: Ada.Strings.Bounded
Adam Beneschan <adam@[  2008-04-23 08:03:42 
Re: Ada.Strings.Bounded
Adam Beneschan <adam@[  2008-04-23 08:12:24 
Re: Ada.Strings.Bounded
"(see below)" &  2008-04-23 16:36:52 
Re: Ada.Strings.Bounded
Ray Blaak <rAYblaaK@[E  2008-04-23 17:09:42 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Thu Jul 24 0:01:48 CDT 2008.