Re: Guile Studio's goals (and home)

2020-02-25 Thread Ricardo Wurmus


Hi!

> • What are Guile Studio's goals?

The pretentiously named “Guile Studio” arose from the observation that
we often tell new Guile users to learn how to use Emacs first in order
to get a comfortable Guile development experience.  Since Emacs has
really quirky defaults that don’t mesh with the expectations of people
who learn a new programming language, this can be so discouraging
that the person abandons the initial goal of learning Guile.

Many people in the past had the idea to “fix” Emacs.  “Guile Studio” is
not intended to be yet another Emacs starter kit like Prelude, Doom, or
Spacemacs.  Instead it tries to focus on just Guile, going as far as to
remove “Emacs” from the window title and the menus.

My goal was to provide a friendly editor that does not require any
configuration to use and play with Guile.  You install Guile Studio and
get started right away.  It tries to be what Dr Racket is for Racket and
what RStudio is for R.

This is why Guile Studio comes with the picture language and immediately
spawns a Geiser session where it can be used.  It hides Emacs clutter
from the menus and adds menu items that are relevant to new Guile users,
such as a link to the Guile manual.  It aims to handle documentation
buffers specially to avoid the confusion that comes with Emacs-typical
“buffer clutter”.  It uses CUA key bindings to avoid annoying surprises.

Everything that serves to avoid confusion is welcome in Guile Studio.

> • What is its relationship with the GNU Guile project?

There is none.  I’m just a Guile enthusiast who thought that Guile
Studio would be a good thing to build.

> • The homepage field in the Guix package points to GNU Guile's
> website. Should I send future questions and issues to Guile's lists
> and issue tracker?

I don’t know.  Whether to use the Guile bug tracker is up for the Guile
maintainers to decide.  I think it’s fine to use the guile-user list,
though.  I’m subscribed to guile-user.

> • Current Guile Studio version is 0.0.2. Any plans for a future version?

Once Emacs 27 is released I’ll probably have to adjust a few things.
Perhaps I’ll also configure the use of tabs then.

There are many more things that could be done to improve the experience
(buffer handling is still a big pain point; documentation needs to be
better integrated, etc), but I don’t think I can spend as much time on
this as I used to.  I’ll gladly discuss and merge patches, though.

Thank you for your interest in Guile Studio!

--
Ricardo



Re: Guile Studio's goals (and home)

2020-02-25 Thread Eli Zaretskii
> From: Ricardo Wurmus 
> Date: Tue, 25 Feb 2020 10:12:31 +0100
> Cc: guile-user@gnu.org
> 
> The pretentiously named “Guile Studio” arose from the observation that
> we often tell new Guile users to learn how to use Emacs first in order
> to get a comfortable Guile development experience.  Since Emacs has
> really quirky defaults that don’t mesh with the expectations of people
> who learn a new programming language, this can be so discouraging
> that the person abandons the initial goal of learning Guile.
> 
> Many people in the past had the idea to “fix” Emacs.  “Guile Studio” is
> not intended to be yet another Emacs starter kit like Prelude, Doom, or
> Spacemacs.  Instead it tries to focus on just Guile, going as far as to
> remove “Emacs” from the window title and the menus.
> 
> My goal was to provide a friendly editor that does not require any
> configuration to use and play with Guile.  You install Guile Studio and
> get started right away.  It tries to be what Dr Racket is for Racket and
> what RStudio is for R.
> 
> This is why Guile Studio comes with the picture language and immediately
> spawns a Geiser session where it can be used.  It hides Emacs clutter
> from the menus and adds menu items that are relevant to new Guile users,
> such as a link to the Guile manual.  It aims to handle documentation
> buffers specially to avoid the confusion that comes with Emacs-typical
> “buffer clutter”.  It uses CUA key bindings to avoid annoying surprises.

As an Emacs co-maintainer, I was quite surprised to read the above,
since AFAIK none of these issues were ever communicated to the Emacs
developers.  If they were reported (using the Emacs built-in
bug-reporting command), I'm quite sure we would be very attentive to
such reports and amenable to adding/tweaking features so as to make
Emacs a better basis for Guile use and development.  After all, GNU
projects should help each other.

So I urge you to report the problems on which you hint above, and
suggest changes or improvements that would remove at least some of the
need to tweak Emacs for being a "Guile Studio".

TIA



Re: Guile Studio's goals (and home)

2020-02-25 Thread Ricardo Wurmus


Eli Zaretskii  writes:

>> From: Ricardo Wurmus 
>> Date: Tue, 25 Feb 2020 10:12:31 +0100
>> Cc: guile-user@gnu.org
>>
>> The pretentiously named “Guile Studio” arose from the observation that
>> we often tell new Guile users to learn how to use Emacs first in order
>> to get a comfortable Guile development experience.  Since Emacs has
>> really quirky defaults that don’t mesh with the expectations of people
>> who learn a new programming language, this can be so discouraging
>> that the person abandons the initial goal of learning Guile.
>>
>> Many people in the past had the idea to “fix” Emacs.  “Guile Studio” is
>> not intended to be yet another Emacs starter kit like Prelude, Doom, or
>> Spacemacs.  Instead it tries to focus on just Guile, going as far as to
>> remove “Emacs” from the window title and the menus.
>>
>> My goal was to provide a friendly editor that does not require any
>> configuration to use and play with Guile.  You install Guile Studio and
>> get started right away.  It tries to be what Dr Racket is for Racket and
>> what RStudio is for R.
>>
>> This is why Guile Studio comes with the picture language and immediately
>> spawns a Geiser session where it can be used.  It hides Emacs clutter
>> from the menus and adds menu items that are relevant to new Guile users,
>> such as a link to the Guile manual.  It aims to handle documentation
>> buffers specially to avoid the confusion that comes with Emacs-typical
>> “buffer clutter”.  It uses CUA key bindings to avoid annoying surprises.
>
> As an Emacs co-maintainer, I was quite surprised to read the above,
> since AFAIK none of these issues were ever communicated to the Emacs
> developers.  If they were reported (using the Emacs built-in
> bug-reporting command), I'm quite sure we would be very attentive to
> such reports and amenable to adding/tweaking features so as to make
> Emacs a better basis for Guile use and development.  After all, GNU
> projects should help each other.
>
> So I urge you to report the problems on which you hint above, and
> suggest changes or improvements that would remove at least some of the
> need to tweak Emacs for being a "Guile Studio".

These are not necessarily problems with Emacs.  They are just annoyances
that result from a mismatch of expectations.  What I call “buffer
clutter” — the fact that a new buffer is displayed, hiding other
buffers, or that windows are automatically split — is not really an
issue for an experienced Emacs user, but it can be disorienting for
users who have no concept of buffers and are not familiar with the
mechanisms to navigate them.

Enabling CUA mode by default stems from the same desire to reduce
confusion.  Personally, I don’t use CUA mode, but I have observed
countless new users who were confused by C-x, C-z, etc in vanilla Emacs.

The menus are pretty full in Emacs.  Many proficient Emacs users disable
them altogether.  In Guile Studio I like to keep them enabled but with
their contents reduced to the essential: no psychotherapist, no
postscript print buffer, no “Tools” menu with “Games”, “Encryption”,
“Read Mail”, etc.

All of these things are customizable, so Guile Studio customizes them.

I don’t feel strongly enough about these things that I would push to
change the defaults in Emacs.  But as an experienced Emacs user I feel
confident enough to judge what Emacs features contribute to confusion,
and to configure them in a way that mitigates or avoids the confusion.

The goal here is to point new Guilers to an IDE they can use without
further configuration instead of telling them to install Emacs, install
Geiser, install Company mode, install Flycheck and configure a Guile
syntax checker, etc.  Guile Studio accomplishes this goal by configuring
Emacs — not by forking Emacs.

I don’t think Emacs should have its defaults changed to be the best
Guile editor out of the box.  It’s already the best editor (and more),
in my opinion, but it may need extensive configuration to get reach its
potential in different domains.

--
Ricardo



Re: Guile Studio's goals (and home)

2020-02-25 Thread zimoun
Hi,

I am an Emacs user.
>From my perspective, Guile Studio is a first experimental attempt
between DrRacket and racket-mode for GNU Guile. Other said, it is a
specialized cosmetic of Emacs for programming in Scheme using Guile
out-of-the-box.

In my labs, people do not even know what an editor is and I am pushing
to use Guix. Well, at one moment or another, one user needs to know
small piece of Scheme. Or at least, they need to be able to open .scm
files, read them, and time to time modify the recipe of a package. The
learning curve of Emacs is too much; going from nothing (or at best
they use RStudio) to Emacs for editing package definition is too much.
Guile Studio could fill the gap, IMHO.

Moreover, note the Guix Workflow Language (GWL) is under development.
Its goal is an alternative to Snakemake (Python flavoured) to write
pipelines for analysing biological data. Therefore, GWL targets users
without any experience to Emacs and Guile Studio should be the default
editor to compose these pipelines. And it should be a way to
popularize Emacs to the non-Emacs users.

https://docs.racket-lang.org/drracket/interface-essentials.html
http://workflows.guix.info/

All the best,
simon