From j.l.schonfelder@liverpool.ac.uk  Fri Jul  4 16:17:41 1997
Received: from pcmail.liv.ac.uk (pp@pcmail.liv.ac.uk [138.253.252.13]) by dkuug.dk (8.6.12/8.6.12) with SMTP id QAA15873 for <sc22wg5@dkuug.dk>; Fri, 4 Jul 1997 16:17:40 +0200
Received: from jlspcnt.liv.ac.uk [138.253.102.118] 
	by pcmail.liv.ac.uk with smtp (Exim 1.61 #3)
	id 0wk9B4-0006VM-00; Fri, 4 Jul 1997 15:17:38 +0100
From: Lawrie Schonfelder <j.l.schonfelder@liverpool.ac.uk>
Sender: J.L.Schonfelder@liverpool.ac.uk
Reply-To: j.l.schonfelder@liverpool.ac.uk
To: sc22wg5@dkuug.dk
Subject: Re: (SC22WG5.1407) Varying string standard
In-Reply-To: <199707040503.HAA09554@dkuug.dk>
Message-ID: <SIMEON.9707041536.F@jlspcnt.liverpool.ac.uk>
Date: Fri, 4 Jul 1997 15:17:36 +0100 (British Summer Time)
Priority: NORMAL
X-Mailer: Simeon for Win32 Version 4.1.1 Build (17)
X-Authentication: IMSP
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII

my previous note was wrong.
The string module appears to be fully scuppered.

 ELEMENTAL SUBROUTINE s_ass_s(var,expr) 
  type(VARYING_STRING),INTENT(OUT) :: var 
  type(VARYING_STRING),INTENT(IN)  :: expr 
  !  assign a string value to a string variable overriding default assignement 
  !  reallocates string variable to size of string value and copies characters 
  CHARACTER :: tmpexpr(1:LEN(expr%chars))
is not correct since expr%chars is an array not a character string
  CHARACTER :: tmpexpr(1:SIZE(expr%chars))
is not allowed because of this seemingly arbitrary constraint.
  tmpexpr = expr%chars
  IF(ASSOCIATED(var%chars))DEALLOCATE(var%chars)
  ALLOCATE(var%chars(1:SIZE(tmpexpr)))
  var%chars = tmpexpr 
 ENDSUBROUTINE s_ass_s 

Not only is the user scuppered it looks as if the module writer is also 
scuppered in any attempt to extend the notion of elemental assignment in any 
case where the object type is not of a fixed size; most data-abstraction 
types will be of this nature, IMO.

--
Lawrie Schonfelder
Director, Computing Services Dept.
The University of Liverpool, UK, L69 7ZF
Phone: 44(151)794 3716, Fax: 44(151)794 3759




