GNU bug report logs - #47538
ice-9 regex procedures not found when trying to use from r7rs-style defined library

Previous Next

Package: guile;

Reported by: Arvydas Silanskas <nma.arvydas.silanskas <at> gmail.com>

Date: Thu, 1 Apr 2021 07:42:01 UTC

Severity: normal

Done: Andy Wingo <wingo <at> igalia.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Arvydas Silanskas <nma.arvydas.silanskas <at> gmail.com>
Subject: bug#47538: closed (Re: bug#47538: ice-9 regex procedures not
 found when trying to use from r7rs-style defined library)
Date: Sun, 02 May 2021 13:51:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#47538: ice-9 regex procedures not found when trying to use from r7rs-style defined library

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 47538 <at> debbugs.gnu.org.

-- 
47538: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=47538
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Andy Wingo <wingo <at> igalia.com>
To: Arvydas Silanskas <nma.arvydas.silanskas <at> gmail.com>
Cc: 47538-close <at> debbugs.gnu.org
Subject: Re: bug#47538: ice-9 regex procedures not found when trying to use
 from r7rs-style defined library
Date: Sun, 02 May 2021 15:50:00 +0200
Hi,

On Thu 01 Apr 2021 09:06, Arvydas Silanskas <nma.arvydas.silanskas <at> gmail.com> writes:

> foo.scm:
> (define-library (foo)
>     (import 
>       (scheme base)
>       (ice-9 regex))
>     (export bar)
>
>     (begin
>       (define (bar)
>         (make-regexp "a"))))

The issue AFAIU is that make-regexp is part of (guile), and not exported
by (ice-9 regex).  You would need to add (only (guile) make-regexp) to
your import set.  I know it's somewhat terrible but perhaps in the near
future we will be able to replace this regexp support with something
more consistent.

Please reopen if I misunderstood the bug.

Cheers,

Andy

[Message part 3 (message/rfc822, inline)]
From: Arvydas Silanskas <nma.arvydas.silanskas <at> gmail.com>
To: bug-guile <at> gnu.org
Subject: ice-9 regex procedures not found when trying to use from r7rs-style
 defined library
Date: Thu, 1 Apr 2021 10:06:39 +0300
[Message part 4 (text/plain, inline)]
Consider files

foo-runner.scm:
(import (foo)
        (scheme write))
(display (bar))

foo.scm:
(define-library (foo)
    (import
      (scheme base)
      (ice-9 regex))
    (export bar)

    (begin
      (define (bar)
        (make-regexp "a"))))

Running this with guile -L . foo-runner.scm, yields error
foo.scm:1:0: In procedure bar:
Unbound variable: make-regexp

It seems using other libraries is fine; eg it works if I change foo.scm to
(define-library (foo)
    (import
      (scheme base)
      (ice-9 match))
    (export bar)

    (begin
      (define (bar)
        (match "a" (_ "bar")))))

It also works if I try using regexp from application instead of module; eg
if I change foo-runner.scm to
(import (foo)
        (scheme write)
        (ice-9 regex))
(display (make-regexp "a"))

I'm running version 3.0.5, installed through debian testing branch package
manager
[Message part 5 (text/html, inline)]

This bug report was last modified 4 years and 21 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.