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)
- check for using, incrementing, ... unused variables <199711270257.VAA06393@mint.mint.net> (kevin2.pas), especially for strings, also for `for`-loop counters after the loop (EP 6.8.1)
- transpose arrays (Fortran)? <918557$mke$1@nnrp1.deja.com>
- 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 ??? (-> EP import/export features good enough?)
- read Booleans and enum types from files, write enum types to files ???
- 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`)
- 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>; 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`
- `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 implementation of some mathametical 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 ... (??) ???
- Delphi features: CompToCurrency, CurrencyToComp, Slice, TypeInfo ???, dynamic arrays (tc19991012)
- output column numbers in error messages ??
- debug info: `with` statements