From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 81396 invoked by alias); 7 Apr 2015 18:43:51 -0000 Mailing-List: contact kawa-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: kawa-owner@sourceware.org Received: (qmail 81386 invoked by uid 89); 7 Apr 2015 18:43:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,SPF_PASS autolearn=ham version=3.3.2 X-HELO: aibo.runbox.com Received: from aibo.runbox.com (HELO aibo.runbox.com) (91.220.196.211) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Tue, 07 Apr 2015 18:43:48 +0000 Received: from [10.9.9.206] (helo=mailfront02.runbox.com) by bars.runbox.com with esmtp (Exim 4.71) (envelope-from ) id 1YfYTR-00043C-Ur; Tue, 07 Apr 2015 20:43:46 +0200 Received: from 70-36-239-115.dsl.dynamic.fusionbroadband.com ([70.36.239.115] helo=toshie.bothner.com) by mailfront02.runbox.com with esmtpsa (uid:757155 ) (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.76) id 1YfYSq-0001qa-T8; Tue, 07 Apr 2015 20:43:09 +0200 Message-ID: <55242537.50402@bothner.com> Date: Tue, 07 Apr 2015 18:43:00 -0000 From: Per Bothner User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.5.0 MIME-Version: 1.0 To: Helmut Eller , kawa@sourceware.org Subject: Re: Questions for Geiser References: <87d23g4imi.fsf@ironoxide.ca> <5523722A.3040507@bothner.com> In-Reply-To: Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes X-SW-Source: 2015-q2/txt/msg00024.txt.bz2 On 04/07/2015 12:58 AM, Helmut Eller wrote: > On Mon, Apr 06 2015, Per Bothner wrote: > >> On 04/06/2015 10:23 PM, Dan Leslie wrote: >>> 3. Geiser is very module-centric, and supports behaviours wherein its >>> aware of the R7RS-library or implementation-specific module in which a >>> symbol lays and will rebind it appropriately when a relevant region or >>> other is evaluated. What tools does Kawa provide for, say, declaring the >>> library/module/namespace in which a block is to be evaluated? >> >> Kawa does support R7RS eval and load, where you can specify an >> environment to use, > > I think what Dan needs/wants is something like > > (eval '(define (my-function x) ...) (environment '(my own module))) > > but Kawa doesn't support this. Kawa does support (eval '(....) (environment '(my own module)), which satisfies the need for "declaring the library/module/namespace in which a block is to be evaluated" as I understand the question. However, you're right in that eval-ing a define will only work for the interaction-environment. That is as specified by r7rs. > Correct me if I'm wrong, but I think once a module is defined it can't > be changed because it's essentially compiled down to a JVM class. Right. We'd like to support some patching/re-definition of exiting modules; it's likely the best way to do that is a combination of automatic re-compilation with some extra indirection. -- --Per Bothner per@bothner.com http://per.bothner.com/