Node:Planned - Misc,
Next:Planned - Utilities,
Previous:Planned - OOP,
Up:Planned Features
Planned features: Misc
- qualified identifiers <34508F33.4F685BD1@keele.ac.uk> (also
program_name.identifier
?) (problem module.id vs. record.field); also for operators; gpc
for built-in identifiers; duplicate identifiers in different units (fjf260[ab].pas); don't capitalize variable names in error messages and file name queries (store the casing of the first occurrence of an identifier) -> remove {$no-debug-info}
; name
for units/modules; qualified import (mod10.pas)
- inline functions in GPI files
- unit inheritance (of a complete interface with one statement or selectively) <Pine.HPP.3.96.971105161603.28577A-100000@tea.geophysik.tu-freiberg.de>, <199711061008.LAA25341@agnes.dida.physik.uni-essen.de> ??; virtual procedures ???
- read Booleans and enum types from files, write enum types to files;
--[no-]read-range-checking
(also for subtypes of Char, Boolean and enum types!)
- options to warn about everything that could cause portability problems
- libraries (static/shared; DLL) <Pine.HPP.3.96.971110183550.7996B-100000@tea.geophysik.tu-freiberg.de>
- smart linking (split
foo.s
, as foo*.s
, ar foo*.o
or split foo.o
)
- range <Pine.LNX.4.21.0012091605570.8168-100000@rusty.russwhit.com>, overflow (right operand of mod <=0 is an error), nil pointer, string length, variant, object VMT (pointer, negative size field), etc. checking <199911040915.KAA11168@humulus.daimi.au.dk>; also for array slice access (miklos1.pas); check that strings converted to CStrings don't contain #0 characters; initialize strings (length field), pointers, ordinal values and reals(?) with invalid values if checking is on
- overloading of unary operators (
+
, -
, not
)
- intel assembler syntax; BP BASM ???
- function overloading (in units and static methods?? - with different parameters, override or overload?); linker name?? (perhaps: first occurrence of a procedure with normal name (=> all non-overloaded procedures get normal names)?); cf. Delphi methods without
override
?:
(x := if c then bar else baz
)
for var: type = foo to bar do
???
- error/exception handling (Java,Delphi?) <01BD7A3A.6B187A20.prucha@helicon.co.at> (tc20000623)
- RTS checking (libgpc_g), switch?
- simplify math functions <199708091006.MAA26576@agnes.dida.physik.uni-essen.de>
- variable number of arguments <32F9CFE7.5CB@lmemw.ericsson.se> ?? ???
- multithreading support ?? ???
--wirth-pascal
:-)
- PXSC standard ... (
pxsc.zip
, contrib/peter/pxsc
) (??)
- Object Oriented Extensions (Technical Report) (??)
- generic types (cf. OOE section C.1) (gentypes.pas) ???
- default parameters (cf. OOE section C.4; Delphi 4?) (iniparm[12].pas) <E183vio-000IyH-00@f12.mail.ru>
- Pascal++ standard ... (??) ???
- compile time assertions ???
- Ignore{Value,Result}/Discard for arbitrary types (type-cast to
Void
?)
- Delphi features: CompToCurrency, CurrencyToComp, Slice, TypeInfo ???, dynamic arrays (tc19991012)
- output column numbers in error messages ??
- consider assembler blocks volatile by default ??? (fh19980829.4)
- debug info:
with
statements