Hacker News new | past | comments | ask | show | jobs | submit login
Go-flavored Pascal: A small embeddable self-hosting Pascal compiler for Windows (github.com/vtereshkov)
81 points by tomcam on Feb 23, 2020 | hide | past | favorite | 9 comments



It's interesting how the software landscape twists and turns sometimes. Go itself has some good Pascal-ish flavor, mostly via Oberon (although I actually liked the comparison with Algol 68[1], flawed as it was)

A good comparison of Go-like interfaces vs Oberon's minimalistic record extension would be interesting.

[1]: http://cowlark.com/2009-11-15-go/


Robert Griesemer, from the Thompson/Pike/Griesemer triumvirate that created Go, did his PhD under Wirth.


Despite my occasional Go rants, I would actually find quite interesting to see some kind of "Goberon" system happen.

However due to the lack of progress on the plugin package, I guess the only option for achieving a similar set of workflows would be some form of IPC, with on-demand startup.


Indeed. Pike also created the editor acme, which clearly was inspired by Oberon.


I really love that the Pascal/Modula/Oberon lineage became mainstream via Go.


Pascal used to be mainstream, but it fell out of favor after Borland became the defacto standard and then self-destructing.


I believe that Pascal's problem was that it didn't have any standard, while C and C++ were standardized early (even before the official standard there was an informal one). There was also the influence of UNIX software behind C, while Pascal was not as well established.


Pascal was actually standardized both as ISO 7185 a few years before C and the same year as C as ISO 10206 (see [0]), however both (especially the second) saw very little interest and any further standardization efforts stopped soon later. Even from its inception (like all of Wirth's languages) it was meant to be extended - even the standard itself mentions that any deviation from it is accepted as long as it is documented. Dialects are much more common in Pascal, pretty much like BASIC (and other languages - standardization to the level of C and C++ isn't really that common).

In practice every implementation was copying features from the most popular of its time - UCSD Pascal in the earlier days, Borland Pascal in later days (and Borland Pascal actually copied a bunch of features from UCSD Pascal). Implementations were running on systems that had enough differences as to not be worth the portability anyway.

Nowadays pretty much all Pascal compilers are either pure procedural Pascal compilers loosely based on the first standard (i do not think the extended one was implemented much) or the object oriented variant introduced in Delphi. AFAIK pretty much all of the latter support the Delphi 7 dialect, so that acts as a sort of de-facto standard.

The UNIX influence was a much much bigger reason that C got so widespread and C++ simply piggybacked on that.

[0] http://pascal-central.com/standards.html


Amazing Work!

Exactly the right level of functionality vs. complexity for compiler writing educational purposes, which is very hard to do!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: