This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Getting rid of the "edit-compile-run-cycle" for Kawa
- From: "Ethan Herdrick" <info at reatlas dot com>
- To: kawa at sourceware dot org
- Date: Sat, 3 May 2008 05:21:06 -0700
- Subject: Getting rid of the "edit-compile-run-cycle" for Kawa
Hi -
We really want to improve our dev environment for our Kawa web app.
The main problem is the "edit-compile-run-cycle". Even though Kawa is
a great language, this style of development makes it feel like we are
just using Java. It slows us down. What I want is to change some
function defined in a static module and simply refresh any page in our
app that uses that function and see the result of the change.
In trying to achieve this I've made a simple macro "require/smart"
that will expand to (require <foo>) if the system is in production
mode, and expand to (load "\some-path\foo.scm") if in development
mode. Of course, our existing code behaves somewhat differently when
loaded instead of required. I've been working through this but I'm
not sure what the ultimate result will be. I might be overlooking
some fatal flaw in this plan. This technique does work fine in a very
simple proof of concept with a very simple tree of dependencies made
up of three simple files of definitions.
In an old post to this list (found here:
http://www.sourceware.org/ml/kawa/2006-q4/msg00002.html ) Per wrote:
"...you can: (require "file-name") and it automatically compile sit,
as a module, and recompiles if it has changed. It updates the global
environment. (However, there is no support for updating existing
values -such as if an existing value references an updated function -
but that could be added.)"
That would be fantastic. What would need to be done to add that?
Could it understand dependencies, i.e. recompile a class if a class it
depends on has been recompiled? That kind of dynamic dev environment
- combined with Kawa's impressive performance as a compiled language -
would really be amazing.
Thanks in advance for your thoughts!
-Ethan
--
Ethan Herdrick
www.biographicon.com - Everyone's biography.