i am disturbed by the amount of features pascal accumulated over years.
today was searching on the net and found my old reddit post:
https://www.reddit.com/r/ada/comments/5bvyey/language_complexity/i do like pascal, and especially i like freepascal compiler implementation. i like, for example, that it is not part of gcc, but independently developed, has own, very good memory manager, and by default generates kernel calls avoiding libc usage.
on the other hand i mostly program in oberon. because of its, i would say, modernistic and minimalistic design and concentration on safety. i know it has a small and divided community, almost no libraries, in other words small number of speakers. but i tell it to make clear why am i writing this.
i think freepascal devs or community have to try to define a new, completely new language subset, which compiler would check with some switch.
i know we have iso pascal, but that's not enough.
for example, i would suggest that this new subset, which should, i believe concentrate on safety, would not allow more than one exit from a function procedure.
here cbfsoftware describes how oberon enforces many of misra rules:
https://web.archive.org/web/20130703231115/http://www.ocp.inf.ethz.ch/forum/index.php/topic,609.0.htmlso what do you think?
i understand that we have a lot of legacy code (python decided to not support legacy code but create a better 3.x branch) and need to have some kind of delphi compatibility.
also, LCL is, as far as i know, written without any restrictions on features used.
but i think that fpc community and/or devs are the people who can agree on some minimalistic and safe features for clean design of new pascal language subset.
even ada did similar thing by introducing spark though it is a bit different story.
the good thing it won't require much changes, or introduction of new features. it would only require a limitation of feature usage by a commandline switch.