From: kjell@elixir.e.kth.se (Kjell Rilbe)
Subject: Re: Turbo Pascal 7.0 wishlist (LONG)
Organization: Dept. of EE, Royal Institute of Technology, Stockholm, Sweden
Date: Sun, 27 Sep 1992 22:45:04 GMT

In article <1992Sep25.222306.3772@oucsace.cs.ohiou.edu> tswingle@oucsace.cs.ohiou.edu (Tom Swingle) writes:
>Some of these suggestions are possibilities (if long shots), others are
>probably just pipe dreams.  But I will throw them out anyway to see what 
>others think of them:
[Lots of stuff deleted below]

>1.  As mentioned before, the ability to return records from functions.  I
Agreed! (As mentined before!!!!)

>2.  I would like to see pre-initialized variables (typed constants) moved
>from the "const" declaration section to the "var" declaration section.
Agreed!

>3.  Another reason I wanted to see #2 implemented was so that now "typed
>constants" could be implemented as exactly that:  CONSTANTS, taking up no
>data space, and being unmodifiable.
Agreed!

>4.  The ability to invoke procedures taking structured types as parameters
>with constant values.  For example, if you had a procedure declared like
>"procedure PlotPixel(P:Pixel; Color:Integer);" and type Pixel were 
>declared as a record with fields X and Y (Integers), this procedure could
>be invoked as: "PlotPixel((5,10),Red)" or something similar, maybe even
>requiring a type name be present as in "PlotPixel(Pixel(5,10),Red)" so
>that you can be sure that the user knows what type he/she is referring to.
>Arrays could be done this way too, but I'm not sure if it would be quite as
>useful (especially since arrays can be quite huge).  
Agreed! A few comments:
Suggested record syntax: PlotPixel((X:5,Y:10),Red);
That would agree with the syntax in CONST-declarations.
Suggested array syntax: ListValues((1,4,2,5,7,43,43),Red,Yellow);
ListValues could be declared like this:
PROCEDURE ListValues(Table:ARRAY[Lo..Hi:Integer] OF Byte;FG,BG:Integer);
Using the syntax mentioned at point 7 below.

>5.  New and GetMem should default to returning Nil pointers in case of error
>rather than aborting with a runtime error.
Not sure about this one, no opinion....

>6.  Provide a mechanism like C's alloca for creating dynamic variables on
>the stack, which are automatically disposed when the procedure terminates.
Yes, might be useful...

>7.  Conformant array parameters, which I have seen on our mainframe's Pascal
>compiler here.  With them, a procedure can be declared like the following:
>"procedure FillList(List:array[Lo..Hi:Integer] of Integer; Value:Integer);"
Isn't this allowed in standard Pascal? I think I remember that from
the Pascal coarse I had last year... Anyone who knows about that?

>8.  Provide both a 16-bit real-mode compiler and a 32-bit protected mode
>compiler that would allow you to access all available memory.  The 16-bit
>real mode compiler could even offer virtual memory (disk swapping) as a
>subsitute.  
Count me in on that one! Yes, yes, yes!

>9., 10., 11., ... Probably many others that I can't think of right now
>but surely will sometime :-).  I think this is enough to keep Borland
>quite busy anyway :-).
Agreed! :-)

>More ramblings from: tswingle@oucsace.cs.ohiou.edu/tswingle@bigbird.cs.ohiou.edu

And yet some more from Kjell Rilbe....

-- 
------------------------------------------------------------------------------
! Kjell Rilbe           ! (Phone rings...)                                   !
! kjell@elixir.e.kth.se ! "If that's Franklyn, tell him to boil his head!    !
!                       !                        ---Jimmy Blake in "Chancer" !
From: jcrowley@leotech.mv.com (Jon Crowley)
Sender: uucp@leotech.mv.com