This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: What is the Development Environment of Choice for Kawa?
- From: "F. Rafael Leon" <teflon at ucdavis dot edu>
- To: kawa at sourceware dot org
- Date: Thu, 18 Feb 2016 13:53:34 -0500
- Subject: Re: What is the Development Environment of Choice for Kawa?
- Authentication-results: sourceware.org; auth=none
On Thu, Feb 18, 2016 at 11:18 AM, Rafik Naccache [TNTeam]
<rafik@tnteam.rocks> wrote:
> I really would love to take community's pulse on what tool is used by
> Kawa-ians
Rafik,
The correct answer to this is "whatever makes you most comfortable."
In order to vividly illuminate what this means in practice, I will
explain MY own strange workflow so that you can feel comfortable
adopting YOUR own strange workflow:
It starts with emacs.
To emacs, I add the "evil" package which provides vim bindings.
"evil" can be found in the melpa or marmalade repositories.
The standard emacs control-meta-alt-shift s-x-w-y simultaneous chords
give me horrible finger cramps, so I prefer vim. For editing code I
really like the buffer system of emacs.
So, I use emacs with vim bindings.
Theoretically, if I were a better person, I would use paredit instead of evil.
In a separate terminal, NOT in an emacs buffer, I run "rlwrap java
kawa.repl" with an appropriate CLASSPATH for my project.
In emacs, I write some code and save it in "project.scm"
In the rlwrap kawa console, I type (load "project.scm").
I then edit project.scm in emacs and then type the up arrow into the
rlwrap kawa console to repeat the load command and then I hit Enter.
I repeat this process around 1000 times a day.
When doing this for Android, the workflow is identical, except instead
of "rlwrap kawa" I run "rlwrap telnet x.x.x.x 4444" to connect to a
telnet REPL running on the Android device. Also, after each edit and
save in emacs I run "adb push project.scm /sdcard" and then in the
telnet terminal: (load "/sdcard/project.scm").
That's basically it. I should do a YouTube.
I DON'T run kawa in an emacs buffer because often I like to (display
... ) or (write ... ) lists and look at them.
This dumps thousands of lines of stupidity that I don't want to look
at ever again after I solve the immediate problem. I don't want
thousands of lines of REPL output saved in an emacs buffer. As I jump
between emacs buffers, I don't want to glance at a big wasteland of
failed algorithms. It makes me feel like emacs is watching me and
laughing.
If I never made any mistakes and never was unsure about any algorithm,
then a REPL in a buffer would be totally awesome because I could
record and save all my brilliance for all eternity.
Instead, every time I put a REPL in a buffer I just feel embarrassed
when I scroll through it.
-Rafael