💾 Archived View for republic.circumlunar.space › users › dbane › gemlog › 2024-03-29.gmi captured on 2024-06-16 at 12:50:12. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-05-10)
-=-=-=-=-=-=-
I think software engineering should make progress by building on a foundation of whatever previous work has proved its worth. Sometimes this occurs, e.g. a new SCM system must be better than git. However, for programming languages I don't think this holds true at all, otherwise thinking back to when I started to get interested in the field we should be using a safe, native-code language derived from Turbo Pascal instead of C++.
One such large lacuna is the output from the boom before the first AI Winter (roughly late 1980s). Given that languages like Lisp and Prolog were intended to handle complex old-fashioned AI algorithms, I always thought they could be used to solve today's not-so-complex problems at low cost. In particular, for reasons in previous blog posts I think Prolog-ish languages can be very useful, especially the Concurrent Logic Programming ones.
"The Joy of Concurrent Logic Programming"
And I did read the "Strand book" Felix Winkelmann hosts. But I was wondering, this was an active research topic, what other resources are there?
"Strand: New Concepts for Parallel Programming"
First, there is "softwarepreservation.org". Imperial College London were the originator of the Parlog system, and there are some nice papers & theses in their "Parlog" section:
My local libraries don't have anything from that era (or so specialised) on their shelves, but archive.org hosts another excellent service. So here are some recommended CLP starting points:
You can also search further for relevant monographs and proceedings simply by clicking the "Topics" links. In summary, I'm pleasantly surprised that archive.org is a very useful part of the Internet, and they seem like a good cause to donate to. And slightly annoyed that nobody thought to push the common subset of very similar languages like Concurrent Prolog, Parlog, KL1 and Strand through an ECMA standard but I guess humans always have their egos ...
I hope this helps anyone else researching information that shouldn't have been forgotten. I strongly suspect a similar dive into the history of APL would be very worthwhile.