Subject: [Feature Request] Add a guile-mode

From: sirgazil <[email-masked]>
Date: Tue, 03 Mar 2020 13:23:03 -0500

Hello,

I'm a user of the GNU operating system distributed by the GNU Guix project. As a user of this system, I'm in contact with Guile Scheme because it is the language used to configure the system, extend it, write packages for the Guix package manager, and other things. GNU Guix itself is written in Guile Scheme. Additionally, I'd like to write applications for the GNU operating system in Guile Scheme someday.

Both, GNU Guix and GNU Guile projects recommend GNU Emacs as the best tool for programming in Guile Scheme (see https://guix.gnu.org/manual/en/html_node/The-Perfect-Setup.html#The-Perfect-Setup and https://www.gnu.org/software/guile/manual/html_node/Using-Guile-in-Emacs.html). They even talk enthusiastically about Emacs as a Guile Scheme editor, but I still don't understand why. I found it hard to get started editing Guile Scheme in Emacs, and compared to some IDEs I've used before, I think it lacks features that I consider useful and that are common in IDEs.

For this reason I would like to propose adding a guile-mode by default that makes it easier to get started with Guile Scheme in Emacs. (I say a "guile-mode", but I'm not sure if that's the appropriate concept in Emacs to describe what I'd like to see).

In essence, I would like to have, by default, what is already provided by the following Emacs-related projects:

+ geiser
+ paredit
+ rainbow-delimiters
+ flycheck (Guile Studio has a Guile Scheme checker)

Additionally, I'd like to have the following features that I think are missing:

+ Warn about unused imported modules.
+ Make symbols of newly imported modules available automatically for auto-complete, show symbol documentation, jump to definition, etc.

So, when visiting a Guile Scheme file, I'd like to have these tools available automatically, as if I were using an IDE.

This feature request comes from my own experience with Emacs, but you can also find some recent comments from other people about using Emacs in the Guile and Guix contexts that may be interesting to you:

Geiser vs. guile-mode
https://lists.gnu.org/archive/html/guile-user/2020-02/msg00000.html

Guile Studio's goals (and home)
https://lists.gnu.org/archive/html/guile-user/2020-02/msg00113.html

Thanks,

---
https://sirgazil.bitbucket.io/