Search code examples
modulechicken-schemesrfi

Importing SRFIs in a Chicken Scheme module


I wonder why this doesn't work:

(module testModule (sayHello)
  (import chicken scheme)

  (define (sayHello)
    (format #t "Hello\n")))

When I launch this file with csi it say:

Warning: reference to possibly unbound identifier `format' in:

But here is written that the srfi-28 (where format is) is builtin. Indeed if I try this...

(module testModule (sayHello)
  (import chicken scheme)
  (use srfi-28)

  (define (sayHello)
    (format #t "Hello\n")))

...it says:

Error: (import) during expansion of (import ...) - cannot import from undefined module: srfi-28

Why? What can I do to create a module which use the SRFI 28?

I also tried to install the srfi-28 via chicken-install but rightly the egg does not exist.


Solution

  • Mea culpa, the problem is that doesn't exist the unit srfi-28. I simply solved importing extras unit which implements the format function.

    (module testModule (sayHello)
      (import chicken scheme)
      (use extras)
    
      (define (sayHello)
        (format #t "ciao")))