guile-user
[Top][All Lists]
Advanced

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

Re: Can guile be implementation independent?


From: Maxime Devos
Subject: Re: Can guile be implementation independent?
Date: Fri, 17 Dec 2021 16:19:34 +0000
User-agent: Evolution 3.38.3-1

Jacob Hrbek schreef op vr 17-12-2021 om 01:42 [+0000]:
> I am used to working with common lisp where i can write code that is
> "implementation independent" meaning that following a specific coding
> style makes it compatible across multiple interpretators/compilers
> (sbcl, LispWorks, etc..)
> 
> Is there a way to do the same on GNU Guile? Like writing a code that
> can
> be interpreted by implementations that are following the IEEE 1178-
> 2008
> or R7RS standard?

I'm not aware of any Scheme implementations acknowleding that
IEEE 1178-2008 even exists. So for most practical intents and purposes,
IEEE 1178-2008 isn't a standard at all.

The de facto and de jure standards are the RnRS
(https://docs.racket-lang.org/r5rs/r5rs-std/index.html,
http://www.r6rs.org/,
https://small.r7rs.org/) and the SRFIs
(https://srfi.schemers.org/).

The RnRS and SRFIs are supposedly not official, but I don't see why
since there is a discussion process, a ratification process and
everything --- although often Schemes don't bother implementing all of
R6RS (out of inertia, minimalism, maybe backwards compatibility,
limited developer time, parts being problematic to implement (e.g.
'include-ci')) and sometimes disagree about arcane details.

Often only a selection of the SRFIs are implemented.

Overall, you can't do everything in portable Schemes, but most things
can be made reasonably portable by using the SRFIs and RnRS
(e.g. 'define-library' or 'library' instead of 'define-module'), though
at times some implementation-specific code is required
(e.g. for FFI and GUIs).

Greetings,
Maxime.




reply via email to

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