If you could add new features to Pascal, what would they be 
Author Message
 If you could add new features to Pascal, what would they be

Hi all,

When Borland/Anders Hejlsberg wrote the very first version of TP, he
didn't exactly follow Wirth to the letter, and the result was a
language that may not have been ISO/ANSI compliant, but that was very
useful.

We're now 15 years down the road, and Borland continues to develop the
language, as do the Free Pascal team, whoever is in charge of TMT and
Allan Mertner, and most of them fortunately with some disrespect for
any standards. :)

Now if you could add one or more features to the language/compilers,
what would they be?

As for my wants?

1) Unqualified identifiers.

Lets say I declare a record with a bunch of globals, I want to keep
them together to make my life asier when I'm using a de{*filter*}. every
identifier would have a unique name, but I get terribly frustrated that
I still have to access them as "GlobalRec.Unique_NameX". If a name is
unique, the compiler should simply allow me direct access
to "Unique_NameX", without needing the superfluous "GlobalRec"
qualifier!

2) Conditional defines that can be used in the source:

/DN="myvalue"

program test;
{$ifdef N}
var myarray: array [1..%N%] of whatever;
{$else}
var myarray: array [1..some-default-value] of whatever;
{$endif}

3) a standard debugging RTL, with entry- and exit hooks on every
function.

If you've got the RTL source, this one can be implemented quite easily,
but it would be nice to get a readily built RTL incorporating this
feature.

4) varying argument functions

I've got a unit that intercepts the "write(longint)" RTL routine and
allows me to use this function to simulate it. (I've not tried it -
haven't had any need for it, but it would be pretty easy to modify it
to supply default parameters)

So what would you like to see?

Robert
--
Robert AH Prins

Sent via Deja.com http://www.*-*-*.com/
Before you buy.



Wed, 18 Jun 1902 08:00:00 GMT  
 If you could add new features to Pascal, what would they be


Quote:
> Now if you could add one or more features to the language/compilers,
> what would they be?

1) Functions that can return more than the "simple" types, as Help
calls it. Like
   function ...(...):SearchRec;

2) Setting conditions in units, and being able to check them in
the "host" program. I've been writing a set of units which if used
together will add features to each other. It's not been easy checking
if a unit has been included. I've managed with global variables though.

3) A better IDE! (does this count?). Standard highlighting
(shift+arrow), moving around (ctrl+home = start, ctrl+end = end, etc),
and some mouse support.

I only use TP5.5 so I don't know if any of this was changed in later
versions.

Right, that's my christmas list finished!

--

Faculty Of Science, University Of Liverpool
http://www.liv.ac.uk

Sent via Deja.com http://www.deja.com/
Before you buy.



Wed, 18 Jun 1902 08:00:00 GMT  
 If you could add new features to Pascal, what would they be



Quote:
> Hi all,

> When Borland/Anders Hejlsberg wrote the very first version of TP, he
> didn't exactly follow Wirth to the letter, and the result was a
> language that may not have been ISO/ANSI compliant, but that was very
> useful.

> We're now 15 years down the road, and Borland continues to develop the

only 15? I thort that v3.01a appeared about then? That was my first version
of pascal :)

Quote:
> language, as do the Free Pascal team, whoever is in charge of TMT and
> Allan Mertner, and most of them fortunately with some disrespect for
> any standards. :)

Umm FPC is aiming for a delphie compatability arn't thay?

Quote:
> Now if you could add one or more features to the language/compilers,
> what would they be?

Too many to list.. grab pearl and c++ and some other languages and you'd
have a good base to work with... I don't use pearl but I here that there are
alot of really cool nice things about it. such as native hash table support
etc.

Quote:
> As for my wants?

> 1) Unqualified identifiers.

> Lets say I declare a record with a bunch of globals, I want to keep
> them together to make my life asier when I'm using a de{*filter*}. every
> identifier would have a unique name, but I get terribly frustrated that
> I still have to access them as "GlobalRec.Unique_NameX". If a name is
> unique, the compiler should simply allow me direct access
> to "Unique_NameX", without needing the superfluous "GlobalRec"
> qualifier!

what's the command "with" for? (note I'm asking coz that's what I thort it
was for?)

Quote:
> 2) Conditional defines that can be used in the source:
> /DN="myvalue"
> program test;
> {$ifdef N}
> var myarray: array [1..%N%] of whatever;
> {$else}
> var myarray: array [1..some-default-value] of whatever;
> {$endif}

Get off your lazy ass and code one.. or use the one that's in pascal? it
dose exist I beleve.. in fpc at least and I think borland pascal 7?

Quote:
> 3) a standard debugging RTL, with entry- and exit hooks on every
> function.

> If you've got the RTL source, this one can be implemented quite easily,
> but it would be nice to get a readily built RTL incorporating this
> feature.

Umm again I _think_ that fpc can do this? I think with their ide you can..
and you can with tp 7/bp7
it's called break points.. it's implemented in the hardware side of things..
so a "standard" way of doing this has been around for as long as most modern
cpu's have... i.e 8086 has break points. I dunno about the z80 tho. so
really it's a matter of useing breakpoint stuff that's built into the cpu..
or just add your own? (I don't know if fpc or tp/bp support this?).
I'm talking from an x86 perspective btw. but I beleve that most other modern
cpu's have this as well.

Quote:
> 4) varying argument functions
> I've got a unit that intercepts the "write(longint)" RTL routine and
> allows me to use this function to simulate it. (I've not tried it -
> haven't had any need for it, but it would be pretty easy to modify it
> to supply default parameters)

I'd like to see stuff like a proper stack orientated variable such as write
etc uses.. that's be nice.. other wise we still have to use the good ol +
key :). but like what you said :)

Quote:

> So what would you like to see?

1. real type variables supported in for commands :) just like good ol' basic
:)

2. Support for use defineable bit size variables.. such as a 24bit number of
16 bit segnificance and  8bits insegnifigance. so you could have stuff like
a few thousand places handeled nativeley.. sill I know but it would be alot
easy to implement this stuff now so that larger data structures for cpu's is
emulated or handeled nativeley by the compiler..

Umm a lot of other suff I can't think of right now :) possibily better
pointer stuff?



Wed, 18 Jun 1902 08:00:00 GMT  
 If you could add new features to Pascal, what would they be


Quote:


> > Now if you could add one or more features to the language/compilers,
> > what would they be?

> 1) Functions that can return more than the "simple" types, as Help
> calls it. Like
>    function ...(...):SearchRec;

> 2) Setting conditions in units, and being able to check them in
> the "host" program. I've been writing a set of units which if used
> together will add features to each other. It's not been easy checking
> if a unit has been included. I've managed with global variables though.

yeah I've forgotten if you can do that now :) I go away and check! :)

Quote:
> 3) A better IDE! (does this count?). Standard highlighting
> (shift+arrow), moving around (ctrl+home = start, ctrl+end = end, etc),
> and some mouse support.

v7 has a verry nice ide that Free pascal emulates fairley well now.

Quote:
> I only use TP5.5 so I don't know if any of this was changed in later
> versions.

Yes fair bit has chainged.. I started with tp 3.01a  and then moved to v7
and grumbled about it for ages as v7 diden't implement all the crt functions
from 3 :)
Quote:
> Right, that's my christmas list finished!

> --

> Faculty Of Science, University Of Liverpool
> http://www.liv.ac.uk

> Sent via Deja.com http://www.deja.com/
> Before you buy.



Wed, 18 Jun 1902 08:00:00 GMT  
 If you could add new features to Pascal, what would they be
Robert AH Prins:

Quote:
> As for my wants?

> 1) Unqualified identifiers.

In fact you would like an implicit "with" ? Good luck! The
pleasures of fortran are awaiting you!
A smarter de{*filter*} would be a better solution IMHO. There
are very smart de{*filter*}s in the world, and if you have even
the Pascal sources of your built-in de{*filter*}, why wait to improve
it ;-} ?

Quote:
> 2) Conditional defines that can be used in the source:

The weakness of conditional defines are the parts that escape
to the compiler. If you want to tune the *TP compiler*, it can
be easy enough, especially if you have the sources.
If you want a change to the *language*, it is a serious affair.
I would suggest something like

  generic
    N: integer:= <default_value>;
    ...
  program test;
    var myarray: array [1..N] of whatever;
    ...

Quote:
> 3) a standard debugging RTL, with entry- and exit hooks on every
> function.

A standard RTL is maybe what has missed to Pascal since its beginning
-  compared to C, e.g. . But maybe you are going there against Pascal
spirit. After all, if you want standard RTLs there are languages
born with them...

Quote:
> 4) varying argument functions

Procedure name overloading could help.

I'll tell something to Santa Klaus ;-)
______________________________________________________
Gautier  --   http://www.*-*-*.com/

Sent via Deja.com http://www.*-*-*.com/
Before you buy.



Wed, 18 Jun 1902 08:00:00 GMT  
 If you could add new features to Pascal, what would they be
Many of the points you are asking for can be already found in Extended
Pascal, particularly the implementation from Prospero Software
(www.prosperosoftware.com, I believe).  In particular, functions can return
structured values (records and arrays), the facility for "separate
compilation" is probably what you want (I don't believe that it is
identical with the Borland language's "unit" concept, but is probably more
similar to Wirth's "module" concept; it certainly contains compile-time and
run-time checks), and the IDE (called Extended Pascal Bench in the Prospero
implementation) is pretty good.  [I must admit that I do much of my editing
with other "programming" editors, but once I start the compile/fix
errors/compile/fix errors/compile/test/debug semi-infinite loop, I use
Bench].

Bob Schor
Pascal (and Extended Pascal) Enthusiast

Quote:



> > Now if you could add one or more features to the language/compilers,
> > what would they be?

> 1) Functions that can return more than the "simple" types, as Help
> calls it. Like
>    function ...(...):SearchRec;

> 2) Setting conditions in units, and being able to check them in
> the "host" program. I've been writing a set of units which if used
> together will add features to each other. It's not been easy checking
> if a unit has been included. I've managed with global variables though.

> 3) A better IDE! (does this count?). Standard highlighting
> (shift+arrow), moving around (ctrl+home = start, ctrl+end = end, etc),
> and some mouse support.

> I only use TP5.5 so I don't know if any of this was changed in later
> versions.

> Right, that's my christmas list finished!

> --

> Faculty Of Science, University Of Liverpool
> http://www.liv.ac.uk

> Sent via Deja.com http://www.deja.com/
> Before you buy.



Wed, 18 Jun 1902 08:00:00 GMT  
 If you could add new features to Pascal, what would they be


Quote:
> Many of the points you are asking for can be already found in
Extended
> Pascal, particularly the implementation from Prospero Software
> (www.prosperosoftware.com, I believe).  In particular, functions can
return
> structured values (records and arrays), the facility for "separate
> compilation" is probably what you want (I don't believe that it is
> identical with the Borland language's "unit" concept, but is
probably more
> similar to Wirth's "module" concept;

Are there major differences between the two concepts please? I thought
they were similar apart from syntax and the ability to import only
specified identifiers from the module. Are there bigger differences?

FP



Wed, 18 Jun 1902 08:00:00 GMT  
 If you could add new features to Pascal, what would they be


Quote:



> > Hi all,

> > When Borland/Anders Hejlsberg wrote the very first version of TP,
he
> > didn't exactly follow Wirth to the letter, and the result was a
> > language that may not have been ISO/ANSI compliant, but that was
very
> > useful.

> > We're now 15 years down the road, and Borland continues to develop
the

> only 15? I thort that v3.01a appeared about then? That was my first
version
> of pascal :)

My copy of the v3 manual has a copyright notice with the dates 1983,
1983 and 1985.

...

Quote:
> > I still have to access them as "GlobalRec.Unique_NameX". If a name
is
> > unique, the compiler should simply allow me direct access
> > to "Unique_NameX", without needing the superfluous "GlobalRec"
> > qualifier!

> what's the command "with" for? (note I'm asking coz that's what I
thort it
> was for?)

it's for making your programs harder to understand. Really. Just say
no.

It was supposed to save you typing in the record name every time, but
unfortunately it messes up the scope of variables. The identifiers in
your record suddenly override even local variables, so that if you add
a field to a record type, you can break a procedure somewhere in a
completely different part of your program, if that procedure uses a
local variable with the same name. This is rare enough that With has
been allowed to survive, but when it does happen it's can be a serious
pain to track down. Type in the "superfluous" qualifier, then everyone
knows what's happening.

Quote:
> > 2) Conditional defines that can be used in the source:

> > /DN="myvalue"

> > program test;
> > {$ifdef N}
> > var myarray: array [1..%N%] of whatever;
> > {$else}
> > var myarray: array [1..some-default-value] of whatever;
> > {$endif}

> Get off your lazy ass and code one.. or use the one that's in
pascal? it
> dose exist I beleve.. in fpc at least and I think borland pascal 7?

Code one how? There's nothing in the Pascal language that stops you
from using a preprocessor that you write yourself, but it's not
supported either. You can't specify what preprocessing is required and
expect the compiler's Make to get it right.

And this feature is not available. Not in BP7 anyway. The {$ifdef N}
bit works fine but there's nothing corresponding to the %N% bit.

I wonder if a more general solution could be used: above the "uses"
line, have a "preprocess" line which shells out to a preprocessor that
you can specify. So if the standard preprocessor doesn't do what you
want, you could augment it, and since it's specified in the program
your compiler could support it the way it supports separate
compilation with Units.

Quote:
> > 3) a standard debugging RTL, with entry- and exit hooks on every
> > function.

> > If you've got the RTL source, this one can be implemented quite
easily,
> > but it would be nice to get a readily built RTL incorporating this
> > feature.

> Umm again I _think_ that fpc can do this? I think with their ide you
can..
> and you can with tp 7/bp7
> it's called break points..

Not the same thing at all. With hooks you could have code execute
automatically at the end of every routine, e.g. to check that the heap
was still intact or to write your progress to a log file or something.
It's more general than breakpoints.

Quote:
> 1. real type variables supported in for commands :) just like good
ol' basic
> :)

Or a more general For loop, where you could specify a function to
iterate over whatever you want. And that would require inline
functions (where inline means "this will be compiled inline", unlike
C++ where it means "this might be compiled inline but if it looks too
difficult it won't be") -- so that the For loop for integers would
compile down to more or less what we have now in a For loop. Then you
could loop over anything, integers, reals, linked lists, trees...
While can be used now but since the initialisation, iteration and
checking of the end condition are in different places it's easier to
miss one out than it is with For.

FP



Wed, 18 Jun 1902 08:00:00 GMT  
 If you could add new features to Pascal, what would they be


Quote:


> > Now if you could add one or more features to the
language/compilers,
> > what would they be?
...
> 3) A better IDE! (does this count?). Standard highlighting
> (shift+arrow), moving around (ctrl+home = start, ctrl+end = end,
etc),
> and some mouse support.

> I only use TP5.5 so I don't know if any of this was changed in later
> versions.

yup, TP7 (I think TP6 too) has exactly those.

FP



Wed, 18 Jun 1902 08:00:00 GMT  
 If you could add new features to Pascal, what would they be

Quote:

> the facility for "separate
> compilation" is probably what you want (I don't believe that it is
> identical with the Borland language's "unit" concept, but is probably more
> similar to Wirth's "module" concept; it certainly contains compile-time and
> run-time checks),

I think he means that defines in units aren't exported into the global
namespace for defines of the importing unit. So it is a preprocessor,
not language feature.


Wed, 18 Jun 1902 08:00:00 GMT  
 If you could add new features to Pascal, what would they be

Quote:



> > Many of the points you are asking for can be already found in
> Extended
> > Pascal, particularly the implementation from Prospero Software
> > (www.prosperosoftware.com, I believe).  In particular, functions can
> return
> > structured values (records and arrays), the facility for "separate
> > compilation" is probably what you want (I don't believe that it is
> > identical with the Borland language's "unit" concept, but is
> probably more
> > similar to Wirth's "module" concept;

> Are there major differences between the two concepts please? I thought
> they were similar apart from syntax and the ability to import only
> specified identifiers from the module. Are there bigger differences?

Roughly only (from M2) that nesting is possible. Later Wirthian language
also implement Initialisation/finalisation stuff for modules, just like
Delphi IIRC.

--




Wed, 18 Jun 1902 08:00:00 GMT  
 If you could add new features to Pascal, what would they be

Quote:
> > language, as do the Free Pascal team, whoever is in charge of TMT and
> > Allan Mertner, and most of them fortunately with some disrespect for
> > any standards. :)

> Umm FPC is aiming for a delphie compatability arn't thay?

BP7-dos-dpmi but then 32bit and Delphi (also 32-bit versions only), both
as far as multiplatform restrictions allow, and some looser compability
modes also exist.

There are also some real extensions, and minor deviations from BP and
Delphi.

(e.g. the resourcestring handling of FPC is a bit different, though
Delphi code is compatible to FPC, but not the other way around)

Quote:
> > Now if you could add one or more features to the language/compilers,
> > what would they be?

> Too many to list..

Not really. C++ has some smaller things like a more unrestricted
multiple inheritance, and templates, but nothing really amazing.

Quote:
> grab pearl and c++ and some other languages and you'd
> have a good base to work with... I don't use pearl but I here that there are
> alot of really cool nice things about it. such as native hash table support
> etc.

Perl is not comparable, since it is a scripting language.

Quote:
> > As for my wants?

> > 1) Unqualified identifiers.

> > Lets say I declare a record with a bunch of globals, I want to keep
> > them together to make my life asier when I'm using a de{*filter*}. every
> > identifier would have a unique name, but I get terribly frustrated that
> > I still have to access them as "GlobalRec.Unique_NameX". If a name is
> > unique, the compiler should simply allow me direct access
> > to "Unique_NameX", without needing the superfluous "GlobalRec"
> > qualifier!

> what's the command "with" for? (note I'm asking coz that's what I thort it
> was for?)

He wants it global. With can only be done per procedure at most.

What he really wants is a de{*filter*} that is better configurable (with a
customizable browser tree)

FPC has a browser system in the IDE/de{*filter*}, but not yet configurable,
Delphi also has a browsersystem, but I don't know if you can define the
layout yourself.

Quote:
> > 2) Conditional defines that can be used in the source:

> > /DN="myvalue"

> > program test;
> > {$ifdef N}
> > var myarray: array [1..%N%] of whatever;
> > {$else}
> > var myarray: array [1..some-default-value] of whatever;
> > {$endif}

> Get off your lazy ass and code one.. or use the one that's in pascal? it
> dose exist I beleve.. in fpc at least and I think borland pascal 7?

Not really, but you could write a preprocessor for it. Again, it is a
preprocessor, not a language or compiler feature.

There is some talk about adding a preprocesor hook in FPC, so that you
can specify custom preprocessors for your own tasks but I don't know if
the idea was carried out.

Quote:
> > 3) a standard debugging RTL, with entry- and exit hooks on every
> > function.

> > If you've got the RTL source, this one can be implemented quite easily,
> > but it would be nice to get a readily built RTL incorporating this
> > feature.
> Umm again I _think_ that fpc can do this? I think with their ide you can..
> and you can with tp 7/bp7

That's not what he means. He means that he can have a speficified
procedure executed as first statement of each procedure/function, and
another one as last statement.

I saw assembler postprocessors for FPC that implemented this.

Quote:
> cpu's have... i.e 8086 has break points. I dunno about the z80 tho. so
> really it's a matter of useing breakpoint stuff that's built into the cpu..
> or just add your own? (I don't know if fpc or tp/bp support this?).

Every de{*filter*} has this. However on multithreading systems, this gets
more difficult (since the de{*filter*} has to swap regs between threads
itself, and most de{*filter*}s are not up to this yet.

Quote:
> > 4) varying argument functions

> > I've got a unit that intercepts the "write(longint)" RTL routine and
> > allows me to use this function to simulate it. (I've not tried it -
> > haven't had any need for it, but it would be pretty easy to modify it
> > to supply default parameters)

Delphi/FPC supports some forms to use variable length functions, though
there are limitations.

Newer Delphi's (4) and the current development version of FPC also
support default parameters.

Quote:
> I'd like to see stuff like a proper stack orientated variable such as write
> etc uses.. that's be nice.. other wise we still have to use the good ol +
> key :). but like what you said :)

????

Quote:
> > So what would you like to see?

> 1. real type variables supported in for commands :) just like good ol' basic
> :)

Not pascal.  Typecast/convert it on moment of use.

Quote:
> 2. Support for use defineable bit size variables.. such as a 24bit number of
> 16 bit segnificance and  8bits insegnifigance. so you could have stuff like
> a few thousand places handeled nativeley.. sill I know but it would be alot
> easy to implement this stuff now so that larger data structures for cpu's is
> emulated or handeled nativeley by the compiler..

1. There are units and classes to handle this quite nicely. If operator
overloading ever gets dynamical :-)
2. For more as 32-64-bit total precision it would be dog slow, and not
usable except in some rare cases anyway. For 32-64 bit precision, the
FPC team is currently already considering this.

Quote:
> Umm a lot of other suff I can't think of right now :) possibily better
> pointer stuff?

Huh? How ?

--




Wed, 18 Jun 1902 08:00:00 GMT  
 If you could add new features to Pascal, what would they be



Quote:

> > > language, as do the Free Pascal team, whoever is in charge of TMT and
> > > Allan Mertner, and most of them fortunately with some disrespect for
> > > any standards. :)

> > Umm FPC is aiming for a delphie compatability arn't thay?

[..CUT..]

Thank you for clearing that up!

Quote:
> > > Now if you could add one or more features to the language/compilers,
> > > what would they be?

> > Too many to list..

> Not really. C++ has some smaller things like a more unrestricted
> multiple inheritance, and templates, but nothing really amazing.

> > grab pearl and c++ and some other languages and you'd
> > have a good base to work with... I don't use pearl but I here that there
are
> > alot of really cool nice things about it. such as native hash table
support
> > etc.

> Perl is not comparable, since it is a scripting language.

Not any more :) it's got compilers for it.. no java byte code crud either I
beleve. So I spose it is a "full" non script only language..

[..CUT..]
Thanks again.

- Show quoted text -

Quote:
> > > 2) Conditional defines that can be used in the source:
> > > /DN="myvalue"
> > > program test;
> > > {$ifdef N}
> > > var myarray: array [1..%N%] of whatever;
> > > {$else}
> > > var myarray: array [1..some-default-value] of whatever;
> > > {$endif}

> > Get off your lazy ass and code one.. or use the one that's in pascal? it
> > dose exist I beleve.. in fpc at least and I think borland pascal 7?
> Not really, but you could write a preprocessor for it. Again, it is a
> preprocessor, not a language or compiler feature.

> There is some talk about adding a preprocesor hook in FPC, so that you
> can specify custom preprocessors for your own tasks but I don't know if
> the idea was carried out.

I missed the %n% bit :) .. I've allmost written preprocessors (a simple
macro language) for an assembly project I was working on and will probibilly
resume soon. My point was that it's pritty easy to do and might be worth
wile. and you currentley can put preprocessors into fpc.. use a batchfile.
some people have problems with this tho :) but I think that fpide uses a
batch to call the compiler?

Quote:
> > > 3) a standard debugging RTL, with entry- and exit hooks on every
> > > function.
> > > If you've got the RTL source, this one can be implemented quite
easily,
> > > but it would be nice to get a readily built RTL incorporating this
> > > feature.
> > Umm again I _think_ that fpc can do this? I think with their ide you
can..
> > and you can with tp 7/bp7
> That's not what he means. He means that he can have a speficified
> procedure executed as first statement of each procedure/function, and
> another one as last statement.

ahh I see. I thort I read some where that you can do some thing with
procedures to allow code to be run after procedures to clean up stuff etc ?
I'm a bit hazy as to what it was.. probibilly the interuppt-> procedure
thinggy in tp/fpc.

Quote:
> I saw assembler postprocessors for FPC that implemented this.

yeah I think I can see how to do it. (before the tokin "end" at the end of
procedures) or (after the procedure begin) add your debug code +
unit/include to the program.. that's off the top of the head..

Quote:
> > cpu's have... i.e 8086 has break points. I dunno about the z80 tho. so
> > really it's a matter of useing breakpoint stuff that's built into the
cpu..
> > or just add your own? (I don't know if fpc or tp/bp support this?).
> Every de{*filter*} has this. However on multithreading systems, this gets
> more difficult (since the de{*filter*} has to swap regs between threads
> itself, and most de{*filter*}s are not up to this yet.

hern.. ahh well .. I amagin thay will soon be :)

 >> 4) varying argument functions

- Show quoted text -

Quote:

> > > I've got a unit that intercepts the "write(longint)" RTL routine and
> > > allows me to use this function to simulate it. (I've not tried it -
> > > haven't had any need for it, but it would be pretty easy to modify it
> > > to supply default parameters)

> Delphi/FPC supports some forms to use variable length functions, though
> there are limitations.

> Newer Delphi's (4) and the current development version of FPC also
> support default parameters.

> > I'd like to see stuff like a proper stack orientated variable such as
write
> > etc uses.. that's be nice.. other wise we still have to use the good ol
+
> > key :). but like what you said :)

> ????

after I typed that I realised that I was thinking the same as what he was on
about I think :)
i.e a "variable" that is just a bunch of poped on vars that can be dynamic
in size such as write uses.

Quote:
> > > So what would you like to see?
> > 1. real type variables supported in for commands :) just like good ol'
basic
> > :)
> Not pascal.  Typecast/convert it on moment of use.

beh :)

Quote:
> > 2. Support for use defineable bit size variables.. such as a 24bit
number of
> > 16 bit segnificance and  8bits insegnifigance. so you could have stuff
like
> > a few thousand places handeled nativeley.. sill I know but it would be
alot
> > easy to implement this stuff now so that larger data structures for
cpu's is
> > emulated or handeled nativeley by the compiler..
> 1. There are units and classes to handle this quite nicely. If operator
> overloading ever gets dynamical :-)

yes but units still can't do the funky stuff that native pascal enjoys ..
such as the write procedure etc.
unless you use asm to do it.. and the point of higher level langs is so that
you don't have to :)

Quote:
> 2. For more as 32-64-bit total precision it would be dog slow, and not
> usable except in some rare cases anyway. For 32-64 bit precision, the
> FPC team is currently already considering this.

cool

Quote:
> > Umm a lot of other suff I can't think of right now :) possibily better
> > pointer stuff?
> Huh? How ?

umm I was thinking of a silly idear to do with some sort of thing which
tells the compiler what the relations between diffrent record pointers are
such that you could do
blah = record

 next:pointer
 before:pointer
(if dispose blah^.next^.before = blah^.before^.next)
(if dispose blah^.before^.next = blah^.next)
{arg some thing like that.. I have a cold :( }
end;
just lazy stuff so that when you do a dispose it dose it for you if you want
:)
I know.. use objects(never played with this yet but fron what I understand
you have code that takes care of removeing/starting objects..) or why not
keep it the old way... why not use both?

blah.



Wed, 18 Jun 1902 08:00:00 GMT  
 If you could add new features to Pascal, what would they be
Frank Peelo:

Quote:
> Are there major differences between the two concepts please? I thought
> they were similar apart from syntax and the ability to import only
> specified identifiers from the module. Are there bigger differences?

The "interface" and "implementation" can be in two different files.
Can be useful for projects that don't run only with 1 compiler
for 1 OS. Note that the "unit" model in TP comes litteraly from UCSD
Pascal (~1975). Same for the "bytecode"... The idea of UCSD was
to produce a code for a portable virtual machine (*), hence no need to
separate "interface" and "implementation".
_____________________________________________
Gautier  --  http://members.nbci.com/gdemont/

(*) hey - doesn't it remind something ?... Some C variant ?

Sent via Deja.com http://www.deja.com/
Before you buy.



Wed, 18 Jun 1902 08:00:00 GMT  
 If you could add new features to Pascal, what would they be



Quote:



> > > Many of the points you are asking for can be already found in
> > Extended
> > > Pascal, particularly the implementation from Prospero Software
> > > (www.prosperosoftware.com, I believe).  In particular, functions
can
> > return
> > > structured values (records and arrays), the facility for
"separate
> > > compilation" is probably what you want (I don't believe that it
is
> > > identical with the Borland language's "unit" concept, but is
> > probably more
> > > similar to Wirth's "module" concept;

> > Are there major differences between the two concepts please? I
thought
> > they were similar apart from syntax and the ability to import only
> > specified identifiers from the module. Are there bigger
differences?

> Roughly only (from M2) that nesting is possible. Later Wirthian
language
> also implement Initialisation/finalisation stuff for modules, just
like
> Delphi IIRC.

Units have initialisation; ExitProc is ugly syntax but apart from that
it handles finalisation alright. Or is that not so? "Later Wirthian
Language" presumably means Oberon; I thought the nested modules were
dropped there?

So I still don't know what the advantages of module over unit are,
with the possible exception of having the interface and implementation
in separate files. Although why that should be a particular advantage,
compared to conditionally included files, is not clear to me.

FP



Wed, 18 Jun 1902 08:00:00 GMT  
 
 [ 25 post ]  Go to page: [1] [2]

 Relevant Pages 

1. RE. Am looking for a TDBGrid component with enhanced features

2. Help,I am new for pascal.

3. (newbie) textbook featuring extended pascal and object pascal

4. I am new at this proggie stuff

5. I am new

6. Full-featured debugger, and pretty-printer, for GNU Pascal (gpc)

7. Array Feature in Pascal

8. Delphy Features (Old: OWL Borland Pascal TextEdit Problem)

9. Adding a new field

10. Add a new Database field to a already-existing Paradox table at RUNTIME

11. is it posible to add a new field in a paradox table at runtime

12. Adding a new field to a table

 

 
Powered by phpBB® Forum Software