From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 37300 invoked by alias); 18 Feb 2016 18:53:38 -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 37284 invoked by uid 89); 18 Feb 2016 18:53:37 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=0.1 required=5.0 tests=BAYES_50,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=DONT, DON'T, adb, scroll X-HELO: mail-ob0-f182.google.com Received: from mail-ob0-f182.google.com (HELO mail-ob0-f182.google.com) (209.85.214.182) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Thu, 18 Feb 2016 18:53:36 +0000 Received: by mail-ob0-f182.google.com with SMTP id jq7so80996066obb.0 for ; Thu, 18 Feb 2016 10:53:36 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:date:message-id:subject:from :to:content-type; bh=1Np3ja2ysAJo1roFY501ofoCiuQEhhFuI7i3kAhlo+o=; b=Dh1/otkQDwp4NoyA4ueaL2C7FLzkpx9xwhv6KWdpLQPrtfm3qICHOZIdqOTR/yb3Qo WjM6ZUzKXHLdCKxfG3OVy2f3+BFiVwQWCO+iPbIbYhf95+lULLk7Q6xGNE6evBhe9ES6 TuRjGhewdlcyWua2KUXkYgIcPWJywNnGadRNKiAAXEvutksBOMkoecPcQe1f10/v+ZhO fYmVv/I2M6Xl1Jv2PgMoFlzdjhoEX7L6oJa9UIetjJZbXphA3reHEUEVRWszDPRScnN6 8q9Gc8FT0llVmkLrUeQ4cz46m7hs7mo733B9NvnQxJ5qxkURz9GjpIX/U+qbpLGpctGL yOEQ== X-Gm-Message-State: AG10YOS2+QB7M3/zI9Dc07LbA4XkPJQQlBd8eJlb/7KAW5U67XxgGIwC6uxh0o43OJVVFhlAX4NH443lxQWv4w== MIME-Version: 1.0 X-Received: by 10.60.116.169 with SMTP id jx9mr7730439oeb.30.1455821614881; Thu, 18 Feb 2016 10:53:34 -0800 (PST) Received: by 10.202.219.84 with HTTP; Thu, 18 Feb 2016 10:53:34 -0800 (PST) Date: Thu, 18 Feb 2016 18:53:00 -0000 Message-ID: Subject: Re: What is the Development Environment of Choice for Kawa? From: "F. Rafael Leon" To: kawa@sourceware.org Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2016-q1/txt/msg00017.txt.bz2 On Thu, Feb 18, 2016 at 11:18 AM, Rafik Naccache [TNTeam] 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