This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: interactive development and code re-loading
- From: Helmut Eller <eller dot helmut at gmail dot com>
- To: kawa at sourceware dot org
- Date: Mon, 12 Oct 2015 09:42:48 +0200
- Subject: Re: interactive development and code re-loading
- Authentication-results: sourceware.org; auth=none
- References: <561AC459 dot 7030908 at bothner dot com>
On Sun, Oct 11 2015, Per Bothner wrote:
> What I'd like to decide is *when* Kawa should use "interactive mode"
> - i.e. to add indirection and automatic re-compilation. The answer
> is certainly not "always" because of the costs. Having interactive
> mode be controlled by flags is possible, but the more flags people
> have to remember, the more confusion. So having good defaults and
> simple rules is better.
I would say that in R7RS mode, "always" is required for code that is
defined in the interaction-environment, i.e. outside of libraries.
Basically (set! foo ...), if foo was defined in the
interaction-environment, should always work regardless what type/value
foo previously had.
It seems to me that a per-library flag would be quite convenient,
because some libraries tend to be more stable than others. Usually, I
want to re-load new/unstable libraries but very rarely older or
third-party libraries. Alternatively we could say that "stable"
libraries should be compiled to jar files and be added to the JVM
classpath while "unstable" libraries should be loaded from source.
I'm still wondering how a re-loadable version of define-simple-class
could possibly work.
Helmut