[net.micro.cpm] BORLAND TURBO PASCAL - New release

cem@intelca.UUCP (Chuck McManis) (05/28/85)

> 
> 
> 	I would like to know if anyone has tried this new version (3.0) of 
> Turbo Pascal in CP/M.  An earlier version was flawed in that recursion was
> not properly implemented:  a procedure that called itself using pass-by-
> reference  (i.e. passing the parameters using   var: name  ) did not
> work properly, and it was even mentioned in the manual briefly under
> "differences between standard Pascal and Turbo Pascal".  If anyone knows
> if this problem has been solved in the new version, could you please 
> respond on net.lang.pascal?
> 
> Patrick Strauss

Turbo Pascal V2.0 does indeed handle recursion correctly if you set the
appropriate compiler directive. The latest Tug Lines has a list of all 
known bugs in the compiler and recursive use of Var parameters was not
one of them. V3.0 for CP/M does not buy you much more than a new manual.
(And the manual is somewhat more cryptic since some things that work
only on MS-DOS are not indicated as such.) I compared compile times and
code speed and came up with nearly identical numbers from 2.0 to 3.0.
New features are limited to SeekEOF, Exit, and some command line 
routines (although you are still limited to the first 32 bytes or
so of the command line, everything else gets trashed unless you have
the "patch" program) Not at all worth it. Borland, I suspect has been
caught up in the lure of big blue.

--Chuck
-- 
                                            - - - D I S C L A I M E R - - - 
{ihnp4,fortune}!dual\                     All opinions expressed herein are my
        {qantel,idi}-> !intelca!cem       own and not those of my employer, my
 {ucbvax,hao}!hplabs/                     friends, or my avocado plant. :-}

gbs@voder.UUCP (George Smith) (05/29/85)

> > 	I would like to know if anyone has tried this new version (3.0) of 
> > Turbo Pascal in CP/M.  An earlier version was flawed in that recursion was
> > not properly implemented:  a procedure that called itself using pass-by-
> > reference  (i.e. passing the parameters using   var: name  ) did not
> > work properly ...
> > 
> > Patrick Strauss
> 
> Turbo Pascal V2.0 does indeed handle recursion correctly if you set the
> appropriate compiler directive. The latest Tug Lines has a list of all 
> known bugs in the compiler and recursive use of Var parameters was not
> one of them. V3.0 for CP/M does not buy you much more than a new manual.
> New features are limited to SeekEOF, Exit, ...
> 
> --Chuck

I think there are two different points being addressed here.  One refers
to the CP/M-80 limitation that local variables may not be passed as
VAR parameters in a recursive procedure.  This is an implementation
deficiency rather than a bug - it is documented on page 319 of the
3.0 manual.  The second point refers to the fact that the default
condition for the CP/M-80 version of Turbo generates non-recursive
code.  To turn on the generation of recursive code, you must use
the A compiler directive.  See page 318 of the 3.0 manual.  However,
even when recusive code generation is turned on, you may still NOT
use local variables as VAR parameters in recursive calls.

Also, I think that Version 3.0 is worth upgrading to.  The addition
of the EXIT statement alone is a boon for people porting code from
the UCSD P-System environment. And, as pointed out in the V1#5 issue
of TUG LINES, there were quite a few bugs fixed.
-- 
George B. Smith
National Semiconductor
...!{ihnp4!nsc | decvax!decwrl!nsc | ucbvax}!voder!gbs

rbt@sftig.UUCP (R.Thomas) (05/29/85)

How does one get hold of Tug Lines (I presume that Tug is some kind of Turbo
User's Group)
Rick Thomas
{akgua,ihnp4,sdcsvax,just about anywhere}!attunix!rbt

> Turbo Pascal V2.0 does indeed handle recursion correctly if you set the
> appropriate compiler directive. The latest Tug Lines has a list of all 
> known bugs in the compiler and recursive use of Var parameters was not
> one of them. V3.0 for CP/M does not buy you much more than a new manual.
>
> --Chuck intelca!cem

Re the above -- Has anybody actually tried it?

fsbrn@BRL.ARPA (Ferd Brundick (VLD/LTTB)) (05/30/85)

Haah,

The info I have on the Turbo Pascal user's group (dated Oct 84) is:

They publish a newsletter with interesting articles, bug fixes,
application programs/utilities, etc.  The membership is currently
around 2KP (2000 people), the dues about $20.  Addresses:
    
  Business:
    TUG
    PO Box 1510
    Poulsbo, WA 98370

  Editorial:
    TUG
    PO Box 548
    Silverdale, WA 98383

                                        dsw, fferd
                                        Fred S. Brundick
                                        aka Pascal Postman
                                        USABRL, APG, MD.
                                        <info-pascal-request@brl-voc>

dhenson@islenet.UUCP (Donald D. Henson) (06/01/85)

> How does one get hold of Tug Lines (I presume that Tug is some kind of Turbo
> User's Group)
> Rick Thomas
> {akgua,ihnp4,sdcsvax,just about anywhere}!attunix!rbt
> 
TUG Lines is a newsletter published bimonthly by the Turbo User Group.  It is
dedicated to articles about Borland Turbo Pascal.  You can contact them at:

		Turbo User Group
		P.O. Box 1510
		Poulsbo, WA 98370
It's been so long since I subscribed that I have forgotten how much the
subscription costs, but I remember it being fairly cheap.

swillett%ucbamber.CC@ucb-vax.ARPA (06/02/85)

TUG can be contacted at:

Turbo Users Group
PO Box 1510
Poulsbo, WA 98370

Re: Recursion
Turbo does indeed support recursion if the proper compiler directive is set.
The issue is whether or not is supports standard pascal recursion -it appar-
ently does not, since it does not allow the passing of *local* variables to
recursive modules by reference.  It works fine with globavariables. I doubt
that Borland considers this a "bug" since they designed the software that way.

steveswillett

rbt@sftig.UUCP (R.Thomas) (06/05/85)

> Re: Recursion
> Turbo does indeed support recursion if the proper compiler directive is set.
> The issue is whether or not is supports standard pascal recursion -it appar-
> ently does not, since it does not allow the passing of *local* variables to
> recursive modules by reference.  It works fine with globavariables. I doubt
> that Borland considers this a "bug" since they designed the software that way.
> 
> steveswillett

What *DOES* happen if you try to pass local variables as var parameters?
If the behavior is well-defined, it may be useful, even if it is not
standard.  Anybody know for sure?  Is there somebody from Borland out there
who can answer definitively?

Rick Thomas