Unable to use SRFI-253 definitions in Guile. Yuval Langer (03 Sep 2024 18:51 UTC)
Re: Unable to use SRFI-253 definitions in Guile. Arthur A. Gleckler (03 Sep 2024 19:09 UTC)
Re: Unable to use SRFI-253 definitions in Guile. Retropikzel (03 Sep 2024 21:15 UTC)
Re: Unable to use SRFI-253 definitions in Guile. Artyom Bologov (03 Sep 2024 19:53 UTC)
Re: Unable to use SRFI-253 definitions in Guile. Artyom Bologov (03 Sep 2024 20:01 UTC)

Re: Unable to use SRFI-253 definitions in Guile. Retropikzel 03 Sep 2024 19:32 UTC

On 03/09/2024 22:09, Arthur A. Gleckler wrote:
> On Tue, Sep 3, 2024, 12:07 PM Yuval Langer
> <xxxxxx@gmail.com <mailto:xxxxxx@gmail.com>>
> wrote:
>
>     Guile complains that the `define-checked` name is undefined when
>     running `make test_guile` using the Makefile defined in this
>     repository:
>
>     <https://git.sr.ht/~retropikzel/test-srfi-253/
>     <https://git.sr.ht/~retropikzel/test-srfi-253/>>
>
>
> Would you please try the official repository?
>
> https://github.com/scheme-requests-for-implementation/srfi-253
> <https://github.com/scheme-requests-for-implementation/srfi-253>
>

The test-srfi-253 repository clones the official repository before
running the tests. It mangles the filenames and the library name so that
implementations load it, but does not touch the code any other way.

Running:

git clone https://github.com/scheme-requests-for-implementation/srfi-253.git
cd srfi-253
guile -L . -L ./srfi test.scm

Gives as output:

;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling /home/retropikzel/Projects/tmp/srfi-253/test.scm
;;; WARNING: compilation of
/home/retropikzel/Projects/tmp/srfi-253/test.scm failed:
;;; no code for module (srfi srfi-253)
Backtrace:
            6 (primitive-load "/home/retropikzel/Projects/tmp/srfi-25…")
In ice-9/eval.scm:
    721:20  5 (primitive-eval (import (srfi 253)))
In ice-9/psyntax.scm:
   1243:36  4 (expand-top-sequence (#<syntax:test.scm:26:0 (import …>) …)
   1235:19  3 (parse _ (("placeholder" placeholder)) ((top) #(# # …)) …)
    259:10  2 (parse _ (("placeholder" placeholder)) (()) _ c&e (eval) …)
In ice-9/eval.scm:
    293:34  1 (_ #<directory (guile-user) 7fceeb8f5c80>)
In ice-9/boot-9.scm:
    3352:6  0 (resolve-interface (srfi srfi-253) #:select _ #:hide _ # …)

ice-9/boot-9.scm:3352:6: In procedure resolve-interface:
no code for module (srfi srfi-253)

How do you run it with guile?

I think the (srfi 253) as it's reserved is special in Guile and tries to
look for the SRFI in different way than normal library.

Here is how I mangle the files and library names in my test repository:
	git clone
https://github.com/scheme-requests-for-implementation/srfi-253.git
	cp -r srfi-253/srfi .
	sed -i 's/(srfi 253)/(test-srfi srfi-253)/' srfi/253.sld
	cp srfi/253.sld srfi/srfi-253.scm
	cp srfi/253.sld srfi/srfi-253.sld
	rm -rf test-srfi
	mv srfi test-srfi

And then guile loads the library. Running the test.scm (with "guile -L .
srfi-test.scm) then from the SRFI repository gives me this output:

;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
;;;       or pass the --no-auto-compile argument to disable.
;;; compiling /home/retropikzel/Projects/test-srfi-253/srfi-test.scm
;;; WARNING: compilation of
/home/retropikzel/Projects/test-srfi-253/srfi-test.scm failed:
;;; Syntax error:
;;; unknown location: unexpected syntax in form ()
%%%% Starting test check-arg  (Writing full log to "check-arg.log")
srfi-test.scm:30: FAIL
srfi-test.scm:31: FAIL
srfi-test.scm:32: FAIL
srfi-test.scm:33: FAIL
srfi-test.scm:34: FAIL
srfi-test.scm:35: FAIL
srfi-test.scm:36: FAIL
srfi-test.scm:37: FAIL
srfi-test.scm:38: FAIL
srfi-test.scm:39: FAIL
srfi-test.scm:40: FAIL
srfi-test.scm:41: FAIL
srfi-test.scm:42: FAIL
srfi-test.scm:43: FAIL
srfi-test.scm:44: FAIL
srfi-test.scm:45: FAIL
srfi-test.scm:46: FAIL
srfi-test.scm:47: FAIL
srfi-test.scm:48: FAIL
srfi-test.scm:49: FAIL
srfi-test.scm:50: FAIL
srfi-test.scm:51: FAIL
srfi-test.scm:52: FAIL
srfi-test.scm:53: FAIL
srfi-test.scm:56: FAIL
srfi-test.scm:58: FAIL
srfi-test.scm:60: FAIL
srfi-test.scm:61: FAIL
srfi-test.scm:62: FAIL
srfi-test.scm:65: FAIL
srfi-test.scm:78: FAIL
# of expected passes      5
# of unexpected failures  31
%%%% Starting test values-checked  (Writing full log to
"values-checked.log")
srfi-test.scm:83: FAIL
srfi-test.scm:84: FAIL
Backtrace:
            4 (primitive-load "/home/retropikzel/Projects/test-srfi-2…")
In ice-9/eval.scm:
     619:8  3 (_ #(#<directory (guile-user) 7eff29e32c80> #<test-ru…>))
     159:9  2 (_ #(#(#(#<directory (guile-user) 7eff29e32c80> #) #) #))
In srfi/srfi-64/testing.scm:
    677:16  1 (_ _ #f)
In unknown file:
            0 (real-part #f)

ERROR: In procedure real-part:
In procedure real-part: Wrong type argument in position 1: #f