gm2
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

A system for standardizing 3rd party libraries in Modula-2?


From: Alice Osako
Subject: A system for standardizing 3rd party libraries in Modula-2?
Date: Mon, 18 Mar 2024 13:05:16 -0400
User-agent: Mozilla Thunderbird

Given the issue of limited and non-standard libraries, perhaps Modula-2 needs something analogous to CPAN, PyPi,  or at least SRFIs, to reduce this problem?

(SRFIs - Scheme Requests For Implementation - are a set of quasi-standard recommendations which are intended to define a common set of libraries for Scheme, separate from the language standard, with support for them being left to each compiler or interpreter to provide - see https://srfi.schemers.org/ for details.)

The SRFI model may be the more appropriate here - both Perl and Python are, for all intents and purposes, single-implementation languages, so the focus with their library tools is the libraries themselves rather than cross-implementation compatibility - but I may be wrong.

(And yes, for those unfamiliar with the issue, the poor level of interoperability between Scheme implementations is every bit as onerous as it seems to be for Modula-2, and in many ways for similar reasons - both languages were designed with minimalism in mind and lacked any significant standard libraries, especially in their early iterations. This is all too familiar a wrangle for me. It may be that both languages need to learn from each other.)

Indeed, it may work better for Modula-2 than it generally does for Scheme, as there can be a a base DEFINITION MODULE providing an API. Conversely, the fact that Modula-2 syntax is more or less fixed for a given standard - in contrast to Lisp family languages, where the base syntax is extremely regular to begin with and using macros to hack the syntax is a core practice - means that a 'Modula-2 Request Form Implementation' system might be more limited in its scope.

Any thoughts?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]