Hello,

I added an 'mtime' slot to the 'library' record in the "scheme/psyntax.library-manager.ss". Next, made sure to populate that slot in 'install-library' So I can do:

(define (stale-libraries)

  (filter

   (lambda (library)

     (let ((file-name (library-source-file-name library)))

       (and file-name
            (> (file-mtime file-name)
               (library-mtime library)))))

   (installed-libraries)))

In a repl, let's say I load a library:

> (import (abc))

Nothing's stale right now:

> (stale-libraries)
()

But if I edit the file:

> (stale-libraries)
(#<library (abc)>)
>

OK, so with that I can cook up a "refresh-stale" utility. The idea is to enable a workflow whereby I edit various libraries and issue a single command to refresh them all in the repl, as opposed to "eval-last-sexp" on each item.

I know about 'uninstall-library'. What about a way to import a library into the repl programatically? At the very least I can cook up an Emacs utility to send the an import form cooked accordingly.

Ed

Reply via email to