Hello Jan Jaap, hello everybody!
I enjoyed reading this FAQ. (-: Let's hope that all beginners with GNU Pascal will really read it before bombarding me with e-mails. GNUd work! :) :) :)
However here are some comments/suggestions/bug reports of mine. ;-)
According to J.J. van der Heijden:
1.1 What is the current version of GNU Pascal?
The last official release is GPC 1.1, based on GNU CC version 2.6.3. GPC version 1.2, based on GCC 2.7.2 is currently in beta testing.
Better: "based on GCC 2.6.3" to avoid confusion between GNU CC =?= GCC.
1.2 Where is the GNU Pascal FTP site? WWW?
Also, we have a homepage on the web:
I suggest "on the World Wide Web".
http://home.pages.de/~GNU-Pascal/
I was reported some trouble accessing it. Perhaps we should add:
If this fails, try
http://agnes.dida.physik.uni-essen.de/~gnu-pascal/
1.3 Is it compatible with Turbo Pascal (R) ?
[...] For this reason, non-portable features of Borland Pascal will probably not be included into GNU Pascal. More information can be found in the file "bpqstart.txt"
The file "bpqstart.txt" is section "Borland Pascal" of the Texinfo documentation now.
2.6 Can you recommend an IDE?
What about RHIDE for DJGPP?
Some usefull frontends include: XXGDB, tGDB and XWPE. see:
^^^^^^^ "useful", not "usefull". ;-)
2.7 Do we have a binary for you?
As an asked question it must read: "Do you have a binary for me?"
Currently, we have binaries for these platforms: [...]
Now there is SunOS 4.1.4, too. Thank you, Frank!
function sleep(seconds: word): word; C; function sleep(seconds: word): word; external;
This is redundant. The "C" declaration implies "external" declaration.
3.3 What's this confusion about Pascal and C style strings?
It is important not to confuse Pascal and C string types.
We should mention here that we are talking about the ISO-10206 definiton of Pascal Strings which is that one used by GPC.
function GetEnv(name : PChar): PChar; C; function GetEnv(name : PChar): PChar; external;
You can and should use
Function GetEnv ( Name: __CString__ ): pChar; C;
instead. With this declaration, you can pass a String schema as an actual parameter. However, the return value must be a pChar. (Not absolutely sure about this ... maybe a formal pChar parameter can also have an actual String schema parameter ...)
3.4 Are GNU Pascal objects compatible with GNU C++ classes ?
No.
This compatibility is planned for the far future. At the moment, Pascal objects can be accessed from standard C, however.
Specific information for low-memory conditions and mre can be found in the
^^^ Typographic error: "and more".
4.8 I'm accessing an "array[1..4000000] of byte" and I got an exception.
This is actually a but in GPC. It does occur for global variables in the main program, but not in Units or Modules.
5.3 Which newsgroup(s) are suited for GPC related problems?
comp.lang.pascal.ansi-iso Pascal according to ANSI and ISO standards. comp.lang.pascal.misc Pascal in general and ungrouped Pascals.
When we recommend comp.lang.pascal.ansi-iso, we must also mention comp.lang.pascal.borland which might be the right choice to discuss Borland compatibility problems and the DJGPP NewsGroup for problems with the DJGPP version.
However I suggest to recommend only comp.lang.pascal.misc. Perhaps we should mention the GPC mailing list in this topic, too.
5.3 How to become a subscriber to the mailing list
I am not sure wheter this is correct English. What about "How to subscribe to the mailing list"?
6 Miscellany
The word exists, but perhaps "Miscellaneous" would be more appropriate? Native speakers!
6.1 I want to contribute, where do I start?
I suggest a semicolon instead of a comma. ;-)
A list of jobs which should be done for GNU-Pascal can be found in the file `how_to_contrib.txt'.
This file is section "How to Contribute" of the Texinfo documentation now.
Once again: Very good work, Jan Jaap!
Bye everybody,
Peter