Talk:Pascal (programming language)#Merger Proposal (VSI Pascal)
{{Talk header}}
{{ArticleHistory|action1=FAC
|action1date=17:13, 1 March 2008
|action1link=Wikipedia:Featured article candidates/Pascal (programming language)/archive1
|action1result=not promoted
|action1oldid=194502760
|currentstatus=FFAC
}}
{{WikiProject banner shell|class=C|vital=yes|1=
{{WikiProject Computing |importance=Mid |science=y |science-importance=Low |software=y |software-importance=Mid}}
}}
{{Annual readership}}
{{User:MiszaBot/config
|algo=old(90d)
|archive=Talk:Pascal (programming language)/Archive %(counter)d
|counter=2
|maxarchivesize=100K
|archiveheader={{Automatic archive navigator}}
|minthreadsleft=4
|minthreadstoarchive=1
}}
A root article
I wanted to make explicit here, that this is a root article pertaining to original Pascal as designed by Niklaus Wirth. Thus the many dialects of Pascal are branched off as separate articles, which I think is proper, and has been the rule here for decades (and I appreciate that greatly). Please make sure that any modifications to it pertain to and are compatible with the original language Niklaus Wirth.
The standard for the language, ISO 7185, has been derided as a later version of the language. The basis for this claim (loosely) was the fact that many dialects branched from the language before the standard was issued in about 1983. I (personally) respect that opinion, but I would note that there is little net difference between the original (J&W) version of Pascal and ISO 7185, and, indeed, the examples on this page work under both versions of the language.
Thank you.
Scott Franco
San Jose, CA. — Preceding unsigned comment added by Samiam95124 (talk • contribs) 23:57, 12 July 2023 (UTC)
wrong, but understandable variant record example
The following example is understandable, but wrong:
TYPE
TSystemTime = record
Year, Month, DayOfWeek, Day : word;
Hour, Minute, Second, MilliSecond: word;
end;
TPerson = RECORD
FirstName, Lastname: String;
Birthdate: TSystemTime;
Case isPregnant: Boolean of
true: (DateDue:TSystemTime);
false: (isPlanningPregnancy: Boolean);
END;
Person's sex is omitted, but pregnancy status is required even for men. Only women can be pregnant, is this a women record? also END for RECORD is missing.
The following code is the union of male and female records, also female records have two variants for pregnant and not pregnant women:
TYPE
TSex = (male, female) ;
TSystemTime = record
Year, Month, DayOfWeek, Day : word;
Hour, Minute, Second, MilliSecond: word;
end;
TPerson = Record
FirstName, Lastname : String;
Birthdate : TSystemTime;
Case Sex : TSex of
female: Case isPregnant: Boolean of
true: (DateDue:TSystemTime);
false: (isPlanningPregnancy: Boolean);
End {isPregnant Case};
male: (hasVasectomy : Boolean);
End {Sex Case} ;
End {Record} ;
I did not change the example because I don't have a Pascal compiler to try it and many years have passed since the last time I wrote a program in Pascal. I am not sure it has a correct syntax.
The second an maybe more important reason is because it is more complex than the original one. Another option is to rewrite the original example as follows:
TYPE
TSystemTime = Record
Year, Month, DayOfWeek, Day : word;
Hour, Minute, Second, MilliSecond: word;
end;
TWoman = Record
FirstName, Lastname: String;
Birthdate: TSystemTime;
Case isPregnant: Boolean of
true: (DateDue:TSystemTime);
false: (isPlanningPregnancy: Boolean);
End {isPregnant case};
End {TWoman Record};
Whichever option is taken, this example comes from another article, it should be changed in that page too. Of course not necessary identical each according to what is explained. — Preceding unsigned comment added by 2806:106E:B:400F:F9:F69F:2ED7:3753 (talk) 05:50, 4 September 2022 (UTC)
:I've updated with a simpler, less potentially controversial, example. Chris Burrows (talk) 23:41, 6 September 2022 (UTC)
:Just my opinion, but this is not the place to have off topic discussions about if men can or cannot get pregnant. Can we stick if the examples are or are not valid Pascal? Samiam95124 (talk) 23:31, 12 July 2023 (UTC)
BSD Pascal?
mention BSD Pascal or UICU Pascal ? 3MRB1 (talk) 21:12, 7 January 2024 (UTC)
: Probably should, but I don't know anything about them.Bubba73 You talkin' to me? 23:10, 7 January 2024 (UTC)
::@Bubba73
::*Joy, William N.; Graham, Susan L.; Haley, Charles B. (1979). Berkeley Pascal User's Manual, Version 1.1, April, 1979. University of California, Berkeley. Department of Electrical Engineering and Computer Sciences
::*[https://dl.acm.org/doi/pdf/10.1145/234286.1057812 Recollections about the development of Pascal] by N. Wirth, 1996
::*Berkeley Pascal 1975: [https://lunduke.substack.com/p/the-true-history-of-vi Ken Thompson went to Berkeley (University of California) and built a Pascal compiler for UNIX]
:::*https://lunduke.locals.com/post/4400197/the-true-history-of-vi-and-vim
::*[https://www.researchgate.net/publication/2570821_Berkeley_Pascal_User's_Manual Berkeley Pascal User’s Manual, Version 3.1, April 1986]
::*[https://web.archive.org/web/20050710014117/http://www.linux-mag.com/content/view/336/2260/ Bill Joy interview] with Eugene Kim of Linux Magazine 1999
::*[https://www.oreilly.com/library/view/open-sources/1565925823/ch04.html Twenty Years of Berkeley Unix]
::*[https://www.eecs.qmul.ac.uk/~gc/history/ Bits of History] George Coulouris
::*[https://archive.org/details/1bsd.tar_201503 1BSD was an add-on to Version 6 Unix; its main components were a Pascal compiler and ex]
::*see Niklaus Wirth and its edit history for links
::*...........
::*https://smartbear.com/blog/40-years-of-unix-and-the-scariest-thing-ive-ever-d/
::*https://www.salon.com/2000/05/16/chapter_2_part_one/
::*https://catalogimages.wiley.com/images/db/pdf/0471164836.01.pdf
::*https://www2.eecs.berkeley.edu/bears/CS_Anniversary/cs_brochure_final.pdf
::*https://www.macos.utah.edu/documentation/short_courses/mac_os_x_overview/history_and_evolution/unix_history.html
::*3MRB1 (talk) 01:13, 9 January 2024 (UTC)
:: Thanks.Bubba73 You talkin' to me? 04:07, 9 January 2024 (UTC)
:::@Bubba73
:::* [https://www.tuhs.org/cgi-bin/utree.pl?file=1BSD 1BSD] archive has code and documentation (troff files) 3MRB1 (talk) 16:47, 9 January 2024 (UTC)
Microsoft Pascal
Microsoft Pascal and Microsoft QuickPascal not mentioned. (There is mention of way way later VisualPascal) 81.6.34.169 (talk) 05:30, 23 March 2025 (UTC)
: Should be in there. I put in a sentence at the end of a section. There was another one (or two) for IBM PCs at the time, but I can't remember the maker. Bubba73 You talkin' to me? 05:48, 23 March 2025 (UTC)