[plt-scheme] Invoking units

From: Paulo J. Matos (pocmatos at gmail.com)
Date: Mon Jun 15 10:50:35 EDT 2009

On Mon, Jun 15, 2009 at 1:53 PM, Matthias Felleisen<matthias at ccs.neu.edu> wrote:
> You had the invoke wrong: foo is the main file. -- Matthias

So, in fact, I don't need to either use /infer or link the bindings manually.
for the record, this is how I tried to solve it:
(let ([test@ (dynamic-require gen-file 'test@)]
      [provider@ (unit (import) (export test^)
                          (define (test x) (* 2 x)))]
       [full-unit@ (compound-unit
                      (link (((TEST : test^)) provider@)
                            (() test@ TEST)))])
(invoke-unit full-unit@))

I defined a compound unit without any imports/exports and invoked it.

You solution seems to be more elegant. I didn't know invoke-unit on
its own would deduce the static bindings for the signature.

Paulo Jorge Matos - pocmatos at gmail.com

Posted on the users mailing list.