This is the mail archive of the kawa@sourceware.org mailing list for the Kawa project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: What is the Development Environment of Choice for Kawa?




On 02/18/2016 08:18 AM, Rafik Naccache [TNTeam] wrote:
Hi,

Coming from Clojure Land, I am experimenting with various scheme implementations, guile, chicken, racket,...

As I am experimenting Kawa, I was surprised to see how this scheme can actually beat Clojure in terms of speed and elegance, and want to use it in a serious hobby project in which I have to interact with a great share of imperative Java, a setup that would make Clojure suffer...

But then, I can't find what tool is commonly used by the community to develop Kawa: is it emacs with comint? is it slime with the little swank glue-code? maybe something else?

Tooling is Kawa's weak spot - though its compile-time warnings and errors
are better than most "dynamic languages" IMO.

I'm pretty old-school, so I mostly use Emacs (mainly just editing), the REPL,
and print statements. (Very rarely I might use jdb to track down an infinite loop.)
OTOH I write more Java (and lately JavaScript) than I write Scheme ...

A related weakness is connected to Kawa's strength: Kawa does a fair amount of
compile-time optimization and inlining.  This causes problems in interactive
development: you load a function or module, and then edit it and reload it.
Other functions that depend on the change code may no longer work.  A partial
work-around is to use the --no-inline command-line option.  I do have plans
to improve the situation, though a combination of extra indirection and
automatic re-compilation of dependencies.

There are various Emacs packages and/or IDE plugins that can be used.
There is this plugin for Eclipse: https://github.com/schemeway/SchemeScript
However, I don't think it's actively maintained, though the git repo has
seen a few semi-recent updates.  I haven't tried it recently - a status report
would be interesting.

There are also various Emacs packages that can be used, though I don't have
much experience with them.

I have been working recently on improving the Kawa repl, both using DomTerm
and using jline2/jline3.  I have some not-quite-working code - and plenty of ideas :-)
--
	--Per Bothner
per@bothner.com   http://per.bothner.com/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]